@ynput/ayon-frontend-shared 0.2.38 → 0.2.40

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 (651) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +72 -66
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +169 -167
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Views.cjs.js.map +1 -1
  8. package/dist/Views.es.js.map +1 -1
  9. package/dist/_virtual/index.cjs10.js +1 -1
  10. package/dist/_virtual/index.cjs11.js +1 -1
  11. package/dist/_virtual/index.cjs12.js +1 -1
  12. package/dist/_virtual/index.cjs2.js +1 -1
  13. package/dist/_virtual/index.cjs3.js +1 -1
  14. package/dist/_virtual/index.cjs4.js +1 -1
  15. package/dist/_virtual/index.es10.js +3 -3
  16. package/dist/_virtual/index.es11.js +5 -5
  17. package/dist/_virtual/index.es12.js +5 -5
  18. package/dist/_virtual/index.es2.js +5 -2
  19. package/dist/_virtual/index.es2.js.map +1 -1
  20. package/dist/_virtual/index.es3.js +2 -5
  21. package/dist/_virtual/index.es3.js.map +1 -1
  22. package/dist/_virtual/index.es4.js +2 -2
  23. package/dist/api.cjs.js +1 -1
  24. package/dist/api.es.js +22 -20
  25. package/dist/api.es.js.map +1 -1
  26. package/dist/components.cjs.js +1 -1
  27. package/dist/components.es.js +139 -133
  28. package/dist/components.es.js.map +1 -1
  29. package/dist/context.cjs.js +1 -1
  30. package/dist/context.es.js +45 -38
  31. package/dist/context.es.js.map +1 -1
  32. package/dist/index.cjs.js +1 -1
  33. package/dist/index.es.js +61 -55
  34. package/dist/index.es.js.map +1 -1
  35. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  36. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  37. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  38. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  39. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  40. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  41. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  42. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  43. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  44. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  45. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  46. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  47. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  48. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  49. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  50. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  51. package/dist/shared/src/api/generated/graphql.cjs.js +4 -0
  52. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  53. package/dist/shared/src/api/generated/graphql.es.js +4 -0
  54. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  55. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  59. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  60. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  61. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +8 -3
  62. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  63. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  64. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  65. package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -3
  66. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  67. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  68. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  69. package/dist/shared/src/api/queries/overview/updateOverview.es.js +70 -66
  70. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  71. package/dist/shared/src/api/queries/uris/getUris.cjs.js +2 -0
  72. package/dist/shared/src/api/queries/uris/getUris.cjs.js.map +1 -0
  73. package/dist/shared/src/api/queries/uris/getUris.es.js +47 -0
  74. package/dist/shared/src/api/queries/uris/getUris.es.js.map +1 -0
  75. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  76. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  77. package/dist/shared/src/api/queries/users/getUsers.es.js +19 -18
  78. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  79. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js +28 -0
  80. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js.map +1 -0
  81. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js +54 -0
  82. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js.map +1 -0
  83. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  84. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  85. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  86. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  87. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  88. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  89. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +5 -2
  90. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  91. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  92. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  93. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +5 -2
  94. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  95. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  96. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  97. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +5 -2
  98. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  99. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  100. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  101. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +5 -2
  102. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  103. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  104. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  105. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +75 -69
  106. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  107. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js +1 -1
  108. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js.map +1 -1
  109. package/dist/shared/src/components/EntityPath/EntityPath.es.js +51 -53
  110. package/dist/shared/src/components/EntityPath/EntityPath.es.js.map +1 -1
  111. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  112. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  113. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +4 -2
  114. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  115. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  116. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  117. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +7 -4
  118. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  119. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  120. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  121. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +60 -54
  122. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  123. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  124. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  125. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  126. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  127. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  128. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  129. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +66 -60
  130. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  131. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  132. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  133. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +5 -2
  134. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  135. package/dist/shared/src/components/Menu/Menu.cjs.js +2 -0
  136. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -0
  137. package/dist/shared/src/components/Menu/Menu.es.js +92 -0
  138. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -0
  139. package/dist/shared/src/components/Menu/Menu.styled.cjs.js.map +1 -0
  140. package/dist/shared/src/components/Menu/Menu.styled.es.js.map +1 -0
  141. package/dist/shared/src/components/Menu/MenuContainer.cjs.js +2 -0
  142. package/dist/shared/src/components/Menu/MenuContainer.cjs.js.map +1 -0
  143. package/dist/shared/src/components/Menu/MenuContainer.es.js +88 -0
  144. package/dist/shared/src/components/Menu/MenuContainer.es.js.map +1 -0
  145. package/dist/shared/src/components/Menu/MenuItem.cjs.js +2 -0
  146. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -0
  147. package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/MenuItem.es.js +26 -24
  148. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -0
  149. package/dist/shared/src/components/Menu/MenuList.cjs.js +2 -0
  150. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -0
  151. package/dist/shared/src/components/Menu/MenuList.es.js +131 -0
  152. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -0
  153. package/dist/shared/src/components/Menu/useMenuPosition.cjs.js +2 -0
  154. package/dist/shared/src/components/Menu/useMenuPosition.cjs.js.map +1 -0
  155. package/dist/shared/src/components/Menu/useMenuPosition.es.js +50 -0
  156. package/dist/shared/src/components/Menu/useMenuPosition.es.js.map +1 -0
  157. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  158. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  159. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +7 -5
  160. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  161. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  162. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  163. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +49 -43
  164. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  165. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  166. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  167. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +46 -40
  168. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  169. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  170. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  171. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +48 -42
  172. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  173. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  174. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  175. package/dist/shared/src/components/RenameForm/RenameForm.es.js +66 -60
  176. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  177. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  178. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  179. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
  180. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  181. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  182. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  183. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +64 -58
  184. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  185. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  186. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  187. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +54 -48
  188. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  189. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  190. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  191. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +53 -47
  192. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  193. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  194. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  195. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  196. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  197. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  198. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  199. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +219 -190
  200. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  201. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +2 -2
  202. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  203. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +20 -18
  204. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  205. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  206. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  207. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +52 -46
  208. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  209. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +2 -2
  210. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  211. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +13 -11
  212. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  213. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +2 -2
  214. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  215. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +56 -50
  216. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  217. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  218. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  219. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
  220. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  221. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  222. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  223. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  224. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  225. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  226. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +53 -47
  228. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  229. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  230. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/Actions/Actions.es.js +5 -2
  232. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  233. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  234. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +54 -48
  236. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  237. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  238. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +293 -229
  240. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  241. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +10 -4
  242. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -7
  244. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
  245. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  246. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  247. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +49 -43
  248. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  250. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +68 -62
  252. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  253. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  254. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +92 -86
  256. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  257. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  258. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  259. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +9 -5
  260. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  261. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  262. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +194 -5
  264. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  265. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  266. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +4 -2
  268. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  269. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.cjs.js +2 -0
  270. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.cjs.js.map +1 -0
  271. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.es.js +21 -0
  272. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.es.js.map +1 -0
  273. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  274. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +20 -17
  276. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  277. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  278. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +49 -43
  280. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  281. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  282. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +53 -47
  284. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  285. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  286. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +53 -47
  288. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  289. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  290. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  291. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +53 -47
  292. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  293. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  294. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  295. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +5 -2
  296. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  297. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  298. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  299. package/dist/shared/src/containers/Feed/Feed.es.js +109 -99
  300. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  301. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  302. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +446 -212
  304. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  305. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +20 -16
  306. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +21 -17
  308. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
  309. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +2 -0
  310. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -0
  311. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +288 -0
  312. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -0
  313. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
  314. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +23 -11
  316. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  317. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  318. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +4 -2
  320. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  321. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  322. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +372 -183
  324. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  325. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  326. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -2
  328. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  329. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  330. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +12 -10
  332. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  333. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  334. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +28 -26
  336. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  337. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  338. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +194 -5
  340. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  341. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  342. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +8 -5
  344. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  345. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  346. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  348. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  349. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.cjs.js +1 -1
  350. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.es.js +24 -26
  352. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.es.js.map +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  354. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +434 -435
  356. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  358. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +126 -120
  360. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +2 -2
  362. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +52 -46
  364. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +57 -51
  368. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +79 -72
  372. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +7 -4
  376. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  380. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +72 -65
  382. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  384. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +47 -41
  386. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +12 -10
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +8 -5
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +5 -2
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +55 -49
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +81 -66
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +51 -45
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +106 -111
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +51 -45
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +51 -45
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +54 -48
  426. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  428. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +122 -119
  430. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +61 -55
  434. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +45 -39
  438. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +98 -94
  442. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +62 -56
  446. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +22 -20
  450. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  452. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +19 -17
  454. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +68 -62
  458. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  460. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +51 -45
  462. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +45 -44
  466. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  467. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  468. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +120 -114
  470. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  471. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  472. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +53 -47
  474. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  475. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  476. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +5 -2
  478. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  479. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  480. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +14 -12
  482. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  483. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  484. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +90 -91
  486. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  487. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  488. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +5 -2
  490. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  491. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  492. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +5 -2
  494. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  495. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  496. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  498. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  499. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  500. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  502. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  503. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  504. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
  506. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  507. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  508. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  509. package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
  510. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  511. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  512. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  513. package/dist/shared/src/context/DetailsPanelContext.es.js +117 -75
  514. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  515. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  516. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  517. package/dist/shared/src/context/GlobalContext.es.js +5 -4
  518. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  519. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  520. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  521. package/dist/shared/src/context/PowerpackContext.es.js +18 -15
  522. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  523. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  524. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  525. package/dist/shared/src/context/ProjectContext.es.js +44 -40
  526. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  527. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +2 -0
  528. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -0
  529. package/dist/shared/src/context/ProjectFoldersContext.es.js +177 -0
  530. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -0
  531. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  532. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  533. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  534. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  535. package/dist/shared/src/context/UriContext.cjs.js +2 -0
  536. package/dist/shared/src/context/UriContext.cjs.js.map +1 -0
  537. package/dist/shared/src/context/UriContext.es.js +131 -0
  538. package/dist/shared/src/context/UriContext.es.js.map +1 -0
  539. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  540. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  541. package/dist/shared/src/context/WebsocketContext.es.js +51 -45
  542. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  543. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  544. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  545. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  546. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  547. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  548. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  549. package/dist/shared/src/hooks/useEntityUpdate.es.js +5 -2
  550. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  551. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  552. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  553. package/dist/shared/src/hooks/useGetEntityGroups.es.js +3 -2
  554. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  555. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  556. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  557. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +5 -2
  558. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  559. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  560. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  561. package/dist/shared/src/hooks/useHierarchyTable.es.js +43 -119
  562. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  563. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  564. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  565. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  566. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  567. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  568. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  569. package/dist/shared/src/hooks/useUserProjectConfig.es.js +5 -2
  570. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  571. package/dist/shared/src/util/extractEntityHierarchyFromParents.cjs.js +2 -0
  572. package/dist/shared/src/util/extractEntityHierarchyFromParents.cjs.js.map +1 -0
  573. package/dist/shared/src/util/extractEntityHierarchyFromParents.es.js +25 -0
  574. package/dist/shared/src/util/extractEntityHierarchyFromParents.es.js.map +1 -0
  575. package/dist/shared/src/util/uriUtils.cjs.js +2 -0
  576. package/dist/shared/src/util/uriUtils.cjs.js.map +1 -0
  577. package/dist/shared/src/util/uriUtils.es.js +49 -0
  578. package/dist/shared/src/util/uriUtils.es.js.map +1 -0
  579. package/dist/types/api/generated/graphql.d.ts +55 -4
  580. package/dist/types/api/generated/graphqlLinks.d.ts +47 -0
  581. package/dist/types/api/generated/views.d.ts +15 -13
  582. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +1 -0
  583. package/dist/types/api/queries/entityLists/getLists.d.ts +180 -180
  584. package/dist/types/api/queries/index.d.ts +1 -0
  585. package/dist/types/api/queries/uris/getUris.d.ts +161 -0
  586. package/dist/types/api/queries/uris/index.d.ts +1 -0
  587. package/dist/types/components/AddonLoadingScreen/AddonLoadingScreen.d.ts +25 -0
  588. package/dist/types/components/AddonLoadingScreen/index.d.ts +1 -0
  589. package/dist/types/components/Menu/Menu.d.ts +30 -0
  590. package/dist/types/components/Menu/Menu.styled.d.ts +8 -0
  591. package/dist/types/components/Menu/MenuContainer.d.ts +14 -0
  592. package/dist/types/components/Menu/MenuItem.d.ts +21 -0
  593. package/dist/types/components/Menu/MenuList.d.ts +21 -0
  594. package/dist/types/components/Menu/index.d.ts +4 -0
  595. package/dist/types/components/Menu/useMenuPosition.d.ts +12 -0
  596. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +3 -1
  597. package/dist/types/components/index.d.ts +32 -31
  598. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +6 -2
  599. package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +1 -0
  600. package/dist/types/containers/DetailsPanel/hooks/useDetailsPanelURLSync.d.ts +12 -0
  601. package/dist/types/containers/Feed/Feed.d.ts +2 -1
  602. package/dist/types/containers/Feed/components/ActivityComment/ActivityComment.d.ts +2 -1
  603. package/dist/types/containers/Feed/components/ActivityComment/ActivityCommentMenu.d.ts +9 -0
  604. package/dist/types/containers/Feed/components/ActivityItem.d.ts +1 -0
  605. package/dist/types/containers/Feed/hooks/useScrollToHighlighted.d.ts +2 -1
  606. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +2 -0
  607. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +4 -1
  608. package/dist/types/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts +1 -0
  609. package/dist/types/containers/Views/index.d.ts +1 -1
  610. package/dist/types/context/AddonProjectContext.d.ts +12 -7
  611. package/dist/types/context/DetailsPanelContext.d.ts +1 -0
  612. package/dist/types/context/ProjectFoldersContext.d.ts +19 -0
  613. package/dist/types/context/UriContext.d.ts +40 -0
  614. package/dist/types/context/index.d.ts +2 -0
  615. package/dist/types/hooks/useGroupByRemoteModules.d.ts +1 -2
  616. package/dist/types/util/extractEntityHierarchyFromParents.d.ts +6 -0
  617. package/dist/types/util/index.d.ts +2 -0
  618. package/dist/types/util/uriUtils.d.ts +15 -0
  619. package/dist/util.cjs.js +1 -1
  620. package/dist/util.es.js +44 -37
  621. package/dist/util.es.js.map +1 -1
  622. package/package.json +1 -1
  623. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +0 -2
  624. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +0 -1
  625. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +0 -263
  626. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +0 -1
  627. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +0 -2
  628. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +0 -1
  629. package/dist/src/components/Menu/MenuComponents/Menu.es.js +0 -82
  630. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +0 -1
  631. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +0 -1
  632. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +0 -1
  633. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js +0 -2
  634. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js.map +0 -1
  635. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js +0 -80
  636. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js.map +0 -1
  637. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +0 -2
  638. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +0 -1
  639. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +0 -1
  640. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +0 -2
  641. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +0 -1
  642. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +0 -135
  643. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +0 -1
  644. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js +0 -2
  645. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js.map +0 -1
  646. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js +0 -35
  647. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js.map +0 -1
  648. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +0 -29
  649. package/dist/types/components/RemotePage/index.d.ts +0 -1
  650. /package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/Menu.styled.cjs.js +0 -0
  651. /package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/Menu.styled.es.js +0 -0
@@ -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} from '@shared/api'\nimport { useProjectTableContext } from '@shared/containers'\nimport {\n useMoveEntityContext,\n EntityMoveData,\n MultiEntityMoveData,\n} from '@shared/context/MoveEntityContext'\nimport { useProjectFoldersContext } from '@shared/context'\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 { folders } = useProjectFoldersContext()\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","useProjectFoldersContext","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,5 +1,5 @@
1
- import { useCallback as c, useMemo as S } from "react";
2
- import { toast as w } from "react-toastify";
1
+ import { useCallback as f, useMemo as S } from "react";
2
+ import { toast as C } from "react-toastify";
3
3
  import "../../../api/base/client.es.js";
4
4
  import "../../../api/generated/graphql.es.js";
5
5
  import "../../../api/generated/graphqlLinks.es.js";
@@ -58,13 +58,13 @@ import "../../../api/queries/entityLists/updateLists.es.js";
58
58
  import "../../../api/queries/entityLists/getListsAttributes.es.js";
59
59
  import "../../../api/queries/entityLists/updateListsAttributes.es.js";
60
60
  import "../../../api/queries/entityLists/listFolders.es.js";
61
- import { useGetFolderListQuery as E } from "../../../api/queries/folders/getFolders.es.js";
61
+ import "../../../api/queries/folders/getFolders.es.js";
62
62
  import "../../../api/queries/grouping/getGrouping.es.js";
63
63
  import "../../../api/queries/links/updateLinks.es.js";
64
64
  import "../../../api/queries/links/getLinks.es.js";
65
65
  import "../../../api/queries/links/getEntityLinks.es.js";
66
66
  import "../../../api/queries/overview/getOverview.es.js";
67
- import { useUpdateOverviewEntitiesMutation as F } from "../../../api/queries/overview/updateOverview.es.js";
67
+ import { useUpdateOverviewEntitiesMutation as E } from "../../../api/queries/overview/updateOverview.es.js";
68
68
  import "../../../api/queries/versions/getVersionsProducts.es.js";
69
69
  import "../../../api/queries/permissions/getPermissions.es.js";
70
70
  import "../../../api/queries/products/createProduct.es.js";
@@ -82,6 +82,7 @@ import "../../../api/queries/versions/updateVersions.es.js";
82
82
  import "../../../api/queries/views/getViews.es.js";
83
83
  import "../../../api/queries/views/updateViews.es.js";
84
84
  import "../../../api/queries/watchers/getWatchers.es.js";
85
+ import "../../../api/queries/uris/getUris.es.js";
85
86
  import "../../ContextMenu/ContextMenuContext.es.js";
86
87
  import "../../../../../_virtual/jsx-runtime.es.js";
87
88
  import "@ynput/ayon-react-components";
@@ -100,11 +101,13 @@ import "../../../context/pip/PiPWrapper.es.js";
100
101
  import "../../../context/AddonProjectContext.es.js";
101
102
  import "../../../context/AddonContext.es.js";
102
103
  import "../../../context/PowerpackContext.es.js";
103
- import { useMoveEntityContext as P } from "../../../context/MoveEntityContext.es.js";
104
+ import { useMoveEntityContext as F } from "../../../context/MoveEntityContext.es.js";
104
105
  import "../../../context/MenuContext.es.js";
105
106
  import "../../../context/WebsocketContext.es.js";
106
107
  import "../../../context/GlobalContext.es.js";
107
108
  import "../../../context/ProjectContext.es.js";
109
+ import { useProjectFoldersContext as P } from "../../../context/ProjectFoldersContext.es.js";
110
+ import "../../../context/UriContext.es.js";
108
111
  import "../../Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js";
109
112
  import "../../Feed/components/FileUploadPreview/Mimes/TextMime.es.js";
110
113
  import "react-markdown";
@@ -127,15 +130,68 @@ import "react-router-dom";
127
130
  import "../../Feed/components/ActivityStatus/ActivityStatus.es.js";
128
131
  import "../../Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
129
132
  import "../../Feed/components/ActivityDate.es.js";
133
+ import "../../../components/AddonLoadingScreen/AddonLoadingScreen.es.js";
134
+ import "../../../components/ThumbnailSimple/ThumbnailSimple.es.js";
135
+ import "../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
136
+ import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
137
+ import "@dnd-kit/core";
138
+ import "@dnd-kit/sortable";
139
+ import "../../../components/ReviewablesList/ReviewablesList.styled.es.js";
140
+ import "../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
141
+ import "axios";
142
+ import "../../../components/ReviewableCard/ReviewableCard.es.js";
143
+ import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
144
+ import "../../../components/FileThumbnail/FileThumbnail.es.js";
145
+ import "../../../components/Thumbnail/Thumbnail.styled.es.js";
146
+ import "../../../components/Thumbnail/StackedThumbnails.es.js";
147
+ import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
148
+ import "../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
149
+ import "../../../components/EntityPath/EntityPath.styled.es.js";
150
+ import "../../../components/EntityPath/SegmentProvider.es.js";
151
+ import "../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
152
+ import "../../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
153
+ import "../../../components/DetailsPanelDetails/DetailsSection.es.js";
154
+ import "../../../components/DetailsPanelDetails/FieldLabel.es.js";
155
+ import "../../../components/Watchers/Watchers.es.js";
156
+ import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
157
+ import "../../../components/Powerpack/PowerpackButton.es.js";
158
+ import "../../../components/Powerpack/PricingLink.es.js";
159
+ import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
160
+ import "../../../components/Powerpack/CTAButton.es.js";
161
+ import "../../../components/Powerpack/RequiredAddonVersion.es.js";
162
+ import "../../../components/SizeSlider/SizeSlider.es.js";
163
+ import "../../../components/SettingsPanel/SettingsPanel.es.js";
164
+ import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
165
+ import "../../../components/AttributeEditor/components/MinMaxField.es.js";
166
+ import "../../../components/EnumEditor/EnumEditor.styled.es.js";
167
+ import "../../../components/SearchFilter/filterDates.es.js";
168
+ import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
169
+ import "../../../components/Badge/Badge.es.js";
170
+ import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
171
+ import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
172
+ import "../../../components/Feedback/FeedbackContext.es.js";
173
+ import "../../../components/Feedback/SupportBubble.es.js";
174
+ import "../../../components/Chips/Chips.es.js";
175
+ import "../../../components/LinksManager/LinksManager.styled.es.js";
176
+ import "../../EntityPickerDialog/EntityPickerDialog.es.js";
177
+ import "../../../components/StyledLink/StyledLink.es.js";
178
+ import "date-fns";
179
+ import "../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
180
+ import "../../../components/AccessUser/AccessUser.es.js";
181
+ import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
182
+ import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
183
+ import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
184
+ import "../../../components/SortingSetting/SortingSetting.styled.es.js";
185
+ import "../../../components/EarlyPreview/EarlyPreview.es.js";
186
+ import "../../../components/LegacyBadge/LegacyBadge.es.js";
187
+ import "../../../components/Menu/Menu.styled.es.js";
188
+ import "../../../components/Menu/MenuItem.es.js";
130
189
  import "../../Feed/components/ActivityCategorySelect/CategoryTag.es.js";
131
190
  import "../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js";
132
191
  import "../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.es.js";
133
192
  import "../../Feed/components/ActivityVersions/ActivityVersions.styled.es.js";
134
193
  import "../../Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
135
194
  import "../../Feed/Feed.styled.es.js";
136
- import "date-fns";
137
- import "../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
138
- import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
139
195
  import "../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js";
140
196
  import "../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
141
197
  import "../ProjectTreeTable.es.js";
@@ -151,56 +207,6 @@ import "../widgets/CellWidget.es.js";
151
207
  import "../widgets/EntityNameWidget.es.js";
152
208
  import "../widgets/GroupHeaderWidget.es.js";
153
209
  import "../widgets/ThumbnailWidget.es.js";
154
- import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
155
- import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
156
- import "../../../components/AccessUser/AccessUser.es.js";
157
- import "../../../components/AttributeEditor/components/MinMaxField.es.js";
158
- import "@dnd-kit/core";
159
- import "@dnd-kit/sortable";
160
- import "../../../components/EnumEditor/EnumEditor.styled.es.js";
161
- import "../../../components/Badge/Badge.es.js";
162
- import "../../../components/Chips/Chips.es.js";
163
- import "../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
164
- import "../../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
165
- import "../../../components/DetailsPanelDetails/DetailsSection.es.js";
166
- import "../../../components/DetailsPanelDetails/FieldLabel.es.js";
167
- import "../../../components/EarlyPreview/EarlyPreview.es.js";
168
- import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
169
- import "axios";
170
- import "../../../components/ReviewablesList/ReviewablesList.styled.es.js";
171
- import "../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
172
- import "../../../components/EntityPath/EntityPath.styled.es.js";
173
- import "../../../components/EntityPath/SegmentProvider.es.js";
174
- import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
175
- import "../../../components/Feedback/FeedbackContext.es.js";
176
- import "../../../components/Feedback/SupportBubble.es.js";
177
- import "../../../components/FileThumbnail/FileThumbnail.es.js";
178
- import "../../../components/LegacyBadge/LegacyBadge.es.js";
179
- import "../../../components/LinksManager/LinksManager.styled.es.js";
180
- import "../../EntityPickerDialog/EntityPickerDialog.es.js";
181
- import "../../../components/Powerpack/PowerpackButton.es.js";
182
- import "../../../components/Powerpack/PricingLink.es.js";
183
- import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
184
- import "../../../components/Powerpack/CTAButton.es.js";
185
- import "../../../components/Powerpack/RequiredAddonVersion.es.js";
186
- import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
187
- import "../../../components/SizeSlider/SizeSlider.es.js";
188
- import "../../../components/ReviewableCard/ReviewableCard.es.js";
189
- import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
190
- import "../../../components/SearchFilter/filterDates.es.js";
191
- import "../../../components/SettingsPanel/SettingsPanel.es.js";
192
- import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
193
- import "../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
194
- import "../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
195
- import "../../../components/SortingSetting/SortingSetting.styled.es.js";
196
- import "../../../components/StyledLink/StyledLink.es.js";
197
- import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
198
- import "../../../components/Thumbnail/Thumbnail.styled.es.js";
199
- import "../../../components/Thumbnail/StackedThumbnails.es.js";
200
- import "../../../components/ThumbnailSimple/ThumbnailSimple.es.js";
201
- import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
202
- import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
203
- import "../../../components/Watchers/Watchers.es.js";
204
210
  import "../../../components/LinksManager/CellEditingDialog.es.js";
205
211
  import "../context/DetailsPanelEntityContext.es.js";
206
212
  import "../context/SelectedRowsContext.es.js";
@@ -237,165 +243,162 @@ import "../../Views/context/ViewsContext.es.js";
237
243
  import "../../Views/Views.styled.es.js";
238
244
  import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
239
245
  import "../../Views/ViewsMenu/ViewsMenu.es.js";
240
- const me = ({ projectName: l }) => {
246
+ const de = ({ projectName: y }) => {
241
247
  const {
242
- movingEntities: o,
248
+ movingEntities: i,
243
249
  isEntityPickerOpen: T,
244
250
  openMoveDialog: u,
245
251
  closeMoveDialog: h,
246
- setEntityPickerOpen: d,
252
+ setEntityPickerOpen: l,
247
253
  clearMovingEntities: v
248
- } = P(), [I] = F(), { tableData: g, getEntityById: y } = N(), { data: { folders: M = [] } = {} } = E(
249
- { projectName: l || "", attrib: !0 },
250
- { skip: !l }
251
- ), C = c(
254
+ } = F(), [I] = E(), { tableData: g, getEntityById: c } = N(), { folders: M } = P(), w = f(
252
255
  (m) => {
253
256
  u(m);
254
257
  },
255
258
  [u]
256
- ), x = c(() => {
259
+ ), x = f(() => {
257
260
  h();
258
- }, [h]), k = c(
261
+ }, [h]), k = f(
259
262
  async (m) => {
260
263
  var p, n;
261
- if (!o || m.length === 0) return;
264
+ if (!i || m.length === 0) return;
262
265
  const s = m[0];
263
- d(!1);
266
+ l(!1);
264
267
  try {
265
- const r = o.entities.map(
266
- (e, f) => ({
267
- id: `move-${e.entityId}-${Date.now()}-${f}`,
268
+ const r = i.entities.map(
269
+ (e, d) => ({
270
+ id: `move-${e.entityId}-${Date.now()}-${d}`,
268
271
  type: "update",
269
272
  entityType: e.entityType,
270
273
  entityId: e.entityId,
271
274
  data: e.entityType === "folder" ? { parentId: s } : { folderId: s }
272
275
  })
273
276
  ), t = await I({
274
- projectName: l,
277
+ projectName: y,
275
278
  operationsRequestModel: {
276
279
  operations: r
277
280
  }
278
- }).unwrap(), i = ((p = t == null ? void 0 : t.operations) == null ? void 0 : p.filter((e) => e.success === !1)) || [];
279
- if (i.length > 0) {
280
- const e = i.map((f) => f.detail).join(", ");
281
+ }).unwrap(), o = ((p = t == null ? void 0 : t.operations) == null ? void 0 : p.filter((e) => e.success === !1)) || [];
282
+ if (o.length > 0) {
283
+ const e = o.map((d) => d.detail).join(", ");
281
284
  throw new Error(e || "Some move operations failed");
282
285
  }
283
286
  } catch (r) {
284
287
  console.error("Failed to move entity:", r);
285
288
  let t = ((n = r == null ? void 0 : r.data) == null ? void 0 : n.detail) || (r == null ? void 0 : r.error) || (r == null ? void 0 : r.message) || "Failed to move entities";
286
289
  if (t.includes("already exists"))
287
- if (o.entities.length > 1)
290
+ if (i.entities.length > 1)
288
291
  t = "Cannot move some entities - one or more entities with the same name already exist in the target location";
289
- else if (o.entities[0].entityType === "task") {
292
+ else if (i.entities[0].entityType === "task") {
290
293
  const e = t.match(/name '.*?, (.+?)' already exists/);
291
294
  t = `Cannot move "${e ? e[1] : "this task"}" - a task with this name already exists in the target folder`;
292
295
  } else {
293
296
  const e = t.match(/name '.*?, (.+?)' already exists/);
294
297
  t = `Cannot move "${e ? e[1] : "this folder"}" - a folder with this name already exists in the target location`;
295
298
  }
296
- w.error(t);
299
+ C.error(t);
297
300
  } finally {
298
- v(), d(!1);
301
+ v(), l(!1);
299
302
  }
300
303
  },
301
304
  [
302
- o,
303
- l,
305
+ i,
306
+ y,
304
307
  I,
305
308
  u,
306
309
  h,
307
- d,
310
+ l,
308
311
  v
309
312
  ]
310
- ), D = c(async () => {
313
+ ), D = f(async () => {
311
314
  var m, s;
312
- if (o) {
313
- d(!1);
315
+ if (i) {
316
+ l(!1);
314
317
  try {
315
- const p = o.entities.map(
316
- (t, i) => ({
317
- id: `move-to-root-${t.entityId}-${Date.now()}-${i}`,
318
+ const p = i.entities.map(
319
+ (t, o) => ({
320
+ id: `move-to-root-${t.entityId}-${Date.now()}-${o}`,
318
321
  type: "update",
319
322
  entityType: t.entityType,
320
323
  entityId: t.entityId,
321
324
  data: t.entityType === "folder" ? { parentId: null } : { folderId: null }
322
325
  })
323
326
  ), n = await I({
324
- projectName: l,
327
+ projectName: y,
325
328
  operationsRequestModel: {
326
329
  operations: p
327
330
  }
328
331
  }).unwrap(), r = ((m = n == null ? void 0 : n.operations) == null ? void 0 : m.filter((t) => t.success === !1)) || [];
329
332
  if (r.length > 0) {
330
- const t = r.map((i) => i.detail).join(", ");
333
+ const t = r.map((o) => o.detail).join(", ");
331
334
  throw new Error(t || "Some move operations failed");
332
335
  }
333
336
  } catch (p) {
334
337
  console.error("Failed to move entities to root:", p);
335
338
  let n = ((s = p == null ? void 0 : p.data) == null ? void 0 : s.detail) || (p == null ? void 0 : p.error) || (p == null ? void 0 : p.message) || "Failed to move entities to root";
336
- w.error(n);
339
+ C.error(n);
337
340
  } finally {
338
- v(), d(!1);
341
+ v(), l(!1);
339
342
  }
340
343
  }
341
344
  }, [
342
- o,
343
- l,
345
+ i,
346
+ y,
344
347
  I,
345
348
  u,
346
349
  h,
347
- d,
350
+ l,
348
351
  v
349
- ]), b = c(() => {
350
- if (!o) return [];
352
+ ]), b = f(() => {
353
+ if (!i) return [];
351
354
  const m = [];
352
- return o.entities.forEach((s) => {
355
+ return i.entities.forEach((s) => {
353
356
  m.push(s.entityId);
354
357
  }), M.forEach((s) => {
355
- o.entities.some((n) => {
356
- const r = y(n.entityId);
357
- return r != null && r.name ? g.filter((i) => n.entityType === "folder" ? i.entityType === "folder" && i.parentId === s.id : n.entityType === "task" ? i.entityType === "task" && i.folderId === s.id : !1).some(
358
- (i) => i.name === r.name && i.entityId !== n.entityId
358
+ i.entities.some((n) => {
359
+ const r = c(n.entityId);
360
+ return r != null && r.name ? g.filter((o) => n.entityType === "folder" ? o.entityType === "folder" && o.parentId === s.id : n.entityType === "task" ? o.entityType === "task" && o.folderId === s.id : !1).some(
361
+ (o) => o.name === r.name && o.entityId !== n.entityId
359
362
  ) : !1;
360
363
  }) && m.push(s.id);
361
364
  }), [...new Set(m)];
362
- }, [o, M, g, y]), O = c(
365
+ }, [i, M, g, c]), O = f(
363
366
  (m) => {
364
- if (!o) return;
365
- if (o.entities.some(
367
+ if (!i) return;
368
+ if (i.entities.some(
366
369
  (t) => t.entityType === "folder" && t.entityId === m
367
370
  ))
368
371
  return "Cannot move folder to itself";
369
- if (o.entities.some(
372
+ if (i.entities.some(
370
373
  (t) => t.currentParentId === m
371
374
  ))
372
375
  return "Cannot move to the same location";
373
376
  const n = M.find((t) => t.id === m);
374
377
  if (n) {
375
- const t = o.entities.find((i) => {
376
- const e = y(i.entityId);
377
- return e != null && e.name ? g.filter((a) => i.entityType === "folder" ? a.entityType === "folder" && a.parentId === n.id : i.entityType === "task" ? a.entityType === "task" && a.folderId === n.id : !1).some(
378
- (a) => a.name === e.name && a.entityId !== i.entityId
378
+ const t = i.entities.find((o) => {
379
+ const e = c(o.entityId);
380
+ return e != null && e.name ? g.filter((a) => o.entityType === "folder" ? a.entityType === "folder" && a.parentId === n.id : o.entityType === "task" ? a.entityType === "task" && a.folderId === n.id : !1).some(
381
+ (a) => a.name === e.name && a.entityId !== o.entityId
379
382
  ) : !1;
380
383
  });
381
384
  if (t) {
382
- const i = y(t.entityId);
383
- return `Cannot move "${(i == null ? void 0 : i.name) || "Entity"}" - an entity with the same name already exists in this folder`;
385
+ const o = c(t.entityId);
386
+ return `Cannot move "${(o == null ? void 0 : o.name) || "Entity"}" - an entity with the same name already exists in this folder`;
384
387
  }
385
388
  }
386
- return o.entities.some(
389
+ return i.entities.some(
387
390
  (t) => t.entityType === "folder"
388
391
  ) ? "Cannot move folder to its child" : "Cannot move to this location";
389
392
  },
390
- [o, M, g, y]
391
- ), $ = S(() => (o == null ? void 0 : o.entities.every((m) => m.entityType === "folder")) || !1, [o]);
393
+ [i, M, g, c]
394
+ ), $ = S(() => (i == null ? void 0 : i.entities.every((m) => m.entityType === "folder")) || !1, [i]);
392
395
  return {
393
396
  // State
394
- movingEntities: o,
397
+ movingEntities: i,
395
398
  isEntityPickerOpen: T,
396
399
  // Actions (keeping legacy names for compatibility)
397
400
  isDialogOpen: T,
398
- openMoveDialog: C,
401
+ openMoveDialog: w,
399
402
  closeMoveDialog: x,
400
403
  handleMoveSubmit: k,
401
404
  handleMoveToRoot: D,
@@ -405,6 +408,6 @@ const me = ({ projectName: l }) => {
405
408
  };
406
409
  };
407
410
  export {
408
- me as useMoveEntities
411
+ de as useMoveEntities
409
412
  };
410
413
  //# 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} from '@shared/api'\nimport { useProjectTableContext } from '@shared/containers'\nimport {\n useMoveEntityContext,\n EntityMoveData,\n MultiEntityMoveData,\n} from '@shared/context/MoveEntityContext'\nimport { useProjectFoldersContext } from '@shared/context'\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 { folders } = useProjectFoldersContext()\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","useProjectFoldersContext","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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"}