@ynput/ayon-frontend-shared 0.2.39 → 0.2.41

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 (436) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +24 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/api.cjs.js +1 -1
  5. package/dist/api.es.js +256 -248
  6. package/dist/api.es.js.map +1 -1
  7. package/dist/index.cjs.js +1 -1
  8. package/dist/index.es.js +11 -9
  9. package/dist/index.es.js.map +1 -1
  10. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  11. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  12. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +16 -16
  13. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  14. package/dist/shared/src/api/queries/config/getConfig.cjs.js +2 -0
  15. package/dist/shared/src/api/queries/config/getConfig.cjs.js.map +1 -0
  16. package/dist/shared/src/api/queries/config/getConfig.es.js +111 -0
  17. package/dist/shared/src/api/queries/config/getConfig.es.js.map +1 -0
  18. package/dist/shared/src/api/queries/config/updateConfig.cjs.js +2 -0
  19. package/dist/shared/src/api/queries/config/updateConfig.cjs.js.map +1 -0
  20. package/dist/shared/src/api/queries/config/updateConfig.es.js +13 -0
  21. package/dist/shared/src/api/queries/config/updateConfig.es.js.map +1 -0
  22. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  23. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  24. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +5 -3
  25. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  26. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  27. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  28. package/dist/shared/src/api/queries/entities/updateEntity.es.js +5 -3
  29. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  31. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  32. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +106 -86
  33. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  34. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  35. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  36. package/dist/shared/src/api/queries/overview/updateOverview.es.js +68 -66
  37. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -2
  39. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  40. package/dist/shared/src/api/queries/users/getUsers.es.js +34 -32
  41. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  42. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js +8 -7
  43. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js.map +1 -1
  44. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js +24 -20
  45. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js.map +1 -1
  46. package/dist/shared/src/components/Chips/Chips.cjs.js +10 -6
  47. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
  48. package/dist/shared/src/components/Chips/Chips.es.js +44 -38
  49. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
  50. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  51. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  52. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -2
  53. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  54. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  55. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  56. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -2
  57. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  58. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  59. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  60. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  61. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  62. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  63. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  64. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
  65. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  66. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  67. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  68. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
  69. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  70. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  71. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  72. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -2
  73. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  74. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  75. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  76. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -4
  77. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  78. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  79. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  80. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -2
  81. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  82. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  83. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  84. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +28 -25
  85. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  86. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  87. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  88. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +5 -0
  89. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -1
  90. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +5 -0
  91. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -1
  92. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  93. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  94. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -2
  95. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  96. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  97. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  98. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
  99. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  100. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  101. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  102. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +4 -2
  103. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  104. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  105. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  106. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +6 -4
  107. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  108. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  109. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  110. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -2
  111. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  112. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  113. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  114. package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -2
  115. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  116. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  117. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  118. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -2
  119. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  120. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  121. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  122. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -2
  123. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  124. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  125. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  126. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +5 -3
  127. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  128. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  129. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  130. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -2
  131. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  132. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  133. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  134. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -2
  135. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  136. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  137. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  138. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -6
  139. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  140. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  141. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  142. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +4 -2
  143. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  144. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  145. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  146. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -2
  147. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  148. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  149. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  150. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -4
  151. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  152. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  153. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  154. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -2
  155. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  156. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  157. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  158. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -2
  159. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  160. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  161. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  162. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  163. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  164. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  165. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  166. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -2
  167. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  168. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  169. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  170. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -2
  171. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  172. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  173. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  174. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -2
  175. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  176. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  177. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  178. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -3
  179. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  180. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  181. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  182. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -2
  183. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  184. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  185. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  186. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  187. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  188. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  189. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  190. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +4 -2
  191. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  192. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  193. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  194. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -2
  195. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  196. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  197. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  198. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -2
  199. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  200. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  201. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  202. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -2
  203. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  204. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  205. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  206. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -2
  207. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  208. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  209. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  210. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -2
  211. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  212. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  213. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  214. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  215. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  216. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  217. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  218. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
  219. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  220. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  221. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  222. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +4 -2
  223. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  224. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  225. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -2
  227. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  228. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  229. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  230. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -2
  231. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  232. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  233. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  234. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  235. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  236. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  237. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  238. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -2
  239. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  240. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  242. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +4 -2
  243. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  244. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -2
  247. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  248. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  250. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -2
  251. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  252. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  254. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -2
  255. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  256. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  258. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +4 -2
  259. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  260. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  262. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
  263. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  264. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +4 -2
  267. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  268. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  270. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +7 -5
  271. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  272. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  274. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +4 -2
  275. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  276. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  277. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  278. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -2
  279. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  280. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  281. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  282. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -2
  283. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  284. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  285. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  286. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -2
  287. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  288. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  289. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  290. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +30 -28
  291. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  292. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  294. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -2
  295. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  296. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  298. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +4 -2
  299. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  300. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  302. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -2
  303. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  304. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  306. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -2
  307. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  308. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  310. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +4 -2
  311. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  312. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  314. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -2
  315. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  316. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  318. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -13
  319. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  320. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -1
  322. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js +34 -21
  323. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  326. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +31 -28
  327. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  330. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -2
  331. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  332. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  333. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  334. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -2
  335. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  336. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  337. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  338. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +4 -2
  339. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  340. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  341. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  342. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  343. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  344. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  345. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  346. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +6 -4
  347. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  348. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  349. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  350. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
  351. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  352. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  353. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  354. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  355. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  356. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  357. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  358. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -2
  359. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  360. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  361. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  362. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -2
  363. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  364. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  365. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  366. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -2
  367. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  368. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  369. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  370. package/dist/shared/src/context/AddonProjectContext.es.js +6 -4
  371. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  372. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  373. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  374. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  375. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  376. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  377. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  378. package/dist/shared/src/context/GlobalContext.es.js +6 -4
  379. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  380. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  381. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  382. package/dist/shared/src/context/PowerpackContext.es.js +8 -6
  383. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  384. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  385. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  386. package/dist/shared/src/context/ProjectContext.es.js +44 -38
  387. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  388. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  389. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  390. package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
  391. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  392. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  393. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  394. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -4
  395. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  396. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  397. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  398. package/dist/shared/src/context/UriContext.es.js +7 -5
  399. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  400. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  401. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  402. package/dist/shared/src/context/WebsocketContext.es.js +6 -4
  403. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  404. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  405. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  406. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -2
  407. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  408. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  409. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  410. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  411. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  412. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  413. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  414. package/dist/shared/src/hooks/useGetEntityGroups.es.js +4 -2
  415. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  416. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  417. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  418. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  419. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  420. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  421. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  422. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -4
  423. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  424. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  425. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  426. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
  427. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  428. package/dist/types/api/queries/config/getConfig.d.ts +747 -0
  429. package/dist/types/api/queries/config/index.d.ts +2 -0
  430. package/dist/types/api/queries/config/updateConfig.d.ts +171 -0
  431. package/dist/types/api/queries/index.d.ts +1 -0
  432. package/dist/types/api/queries/links/getEntityLinks.d.ts +2 -1
  433. package/dist/types/components/AddonLoadingScreen/AddonLoadingScreen.d.ts +7 -2
  434. package/dist/types/components/Chips/Chips.d.ts +1 -0
  435. package/dist/types/components/LinksManager/LinksManager.d.ts +1 -0
  436. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useGroupBySettings.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGroupBySettings.tsx"],"sourcesContent":["import { useColumnSettingsContext, useProjectTableContext } from '../context'\nimport { useGetGroupedFields } from '..'\n\ninterface UseGroupBySettingsProps {\n scope?: string\n}\n\nexport const useGroupBySettings = ({ scope }: UseGroupBySettingsProps) => {\n const { groupBy, groupByConfig, updateGroupBy, updateGroupByConfig } = useColumnSettingsContext()\n const { modules } = useProjectTableContext()\n const groupByFields = useGetGroupedFields({ scope })\n if (!modules) return null\n const { GroupSettings, requiredVersion } = modules || {}\n\n return {\n id: 'group-by',\n title: 'Group',\n icon: 'splitscreen',\n preview: groupBy\n ? groupByFields.find((f) => f.value === groupBy.id)?.label ?? groupBy.id\n : 'None',\n component: (\n <GroupSettings\n fields={groupByFields}\n requiredVersion={requiredVersion}\n groupBy={groupBy}\n updateGroupBy={updateGroupBy}\n config={groupByConfig}\n onConfigChange={updateGroupByConfig}\n />\n ),\n }\n}\n"],"names":["useGroupBySettings","scope","groupBy","groupByConfig","updateGroupBy","updateGroupByConfig","useColumnSettingsContext","modules","useProjectTableContext","groupByFields","useGetGroupedFields","GroupSettings","requiredVersion","_a","f","jsx"],"mappings":"wwbAOaA,EAAqB,CAAC,CAAE,MAAAC,KAAqC,OACxE,KAAM,CAAE,QAAAC,EAAS,cAAAC,EAAe,cAAAC,EAAe,oBAAAC,CAAA,EAAwBC,EAAAA,yBAAyB,EAC1F,CAAE,QAAAC,CAAQ,EAAIC,yBAAuB,EACrCC,EAAgBC,EAAAA,oBAAoB,CAAE,MAAAT,EAAO,EAC/C,GAAA,CAACM,EAAgB,OAAA,KACrB,KAAM,CAAE,cAAAI,EAAe,gBAAAC,CAAgB,EAAIL,GAAW,CAAC,EAEhD,MAAA,CACL,GAAI,WACJ,MAAO,QACP,KAAM,cACN,QAASL,IACLW,EAAAJ,EAAc,KAAMK,GAAMA,EAAE,QAAUZ,EAAQ,EAAE,IAAhD,YAAAW,EAAmD,QAASX,EAAQ,GACpE,OACJ,UACEa,EAAA,kBAAA,IAACJ,EAAA,CACC,OAAQF,EACR,gBAAAG,EACA,QAAAV,EACA,cAAAE,EACA,OAAQD,EACR,eAAgBE,CAAA,CAAA,CAGtB,CACF"}
1
+ {"version":3,"file":"useGroupBySettings.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGroupBySettings.tsx"],"sourcesContent":["import { useColumnSettingsContext, useProjectTableContext } from '../context'\nimport { useGetGroupedFields } from '..'\n\ninterface UseGroupBySettingsProps {\n scope?: string\n}\n\nexport const useGroupBySettings = ({ scope }: UseGroupBySettingsProps) => {\n const { groupBy, groupByConfig, updateGroupBy, updateGroupByConfig } = useColumnSettingsContext()\n const { modules } = useProjectTableContext()\n const groupByFields = useGetGroupedFields({ scope })\n if (!modules) return null\n const { GroupSettings, requiredVersion } = modules || {}\n\n return {\n id: 'group-by',\n title: 'Group',\n icon: 'splitscreen',\n preview: groupBy\n ? groupByFields.find((f) => f.value === groupBy.id)?.label ?? groupBy.id\n : 'None',\n component: (\n <GroupSettings\n fields={groupByFields}\n requiredVersion={requiredVersion}\n groupBy={groupBy}\n updateGroupBy={updateGroupBy}\n config={groupByConfig}\n onConfigChange={updateGroupByConfig}\n />\n ),\n }\n}\n"],"names":["useGroupBySettings","scope","groupBy","groupByConfig","updateGroupBy","updateGroupByConfig","useColumnSettingsContext","modules","useProjectTableContext","groupByFields","useGetGroupedFields","GroupSettings","requiredVersion","_a","f","jsx"],"mappings":"23bAOaA,EAAqB,CAAC,CAAE,MAAAC,KAAqC,OACxE,KAAM,CAAE,QAAAC,EAAS,cAAAC,EAAe,cAAAC,EAAe,oBAAAC,CAAA,EAAwBC,EAAAA,yBAAyB,EAC1F,CAAE,QAAAC,CAAQ,EAAIC,yBAAuB,EACrCC,EAAgBC,EAAAA,oBAAoB,CAAE,MAAAT,EAAO,EAC/C,GAAA,CAACM,EAAgB,OAAA,KACrB,KAAM,CAAE,cAAAI,EAAe,gBAAAC,CAAgB,EAAIL,GAAW,CAAC,EAEhD,MAAA,CACL,GAAI,WACJ,MAAO,QACP,KAAM,cACN,QAASL,IACLW,EAAAJ,EAAc,KAAMK,GAAMA,EAAE,QAAUZ,EAAQ,EAAE,IAAhD,YAAAW,EAAmD,QAASX,EAAQ,GACpE,OACJ,UACEa,EAAA,kBAAA,IAACJ,EAAA,CACC,OAAQF,EACR,gBAAAG,EACA,QAAAV,EACA,cAAAE,EACA,OAAQD,EACR,eAAgBE,CAAA,CAAA,CAGtB,CACF"}
@@ -72,6 +72,8 @@ import "../../../api/queries/attributes/getAttributes.es.js";
72
72
  import "../../../api/queries/attributes/updateAttributes.es.js";
73
73
  import "../../../api/queries/authentication/getAuthentication.es.js";
74
74
  import "../../../api/queries/cloud/cloud.es.js";
75
+ import "../../../api/queries/config/getConfig.es.js";
76
+ import "../../../api/queries/config/updateConfig.es.js";
75
77
  import "../../../api/queries/entities/getEntity.es.js";
76
78
  import "../../../api/queries/entities/getEntityPanel.es.js";
77
79
  import "../../../api/queries/entities/updateEntity.es.js";
@@ -244,7 +246,7 @@ import "../widgets/ErrorWidget.es.js";
244
246
  import "../ProjectTreeTable.styled.es.js";
245
247
  import "../widgets/LoadMoreWidget.es.js";
246
248
  import { useColumnSettingsContext as c } from "../context/ColumnSettingsContext.es.js";
247
- const Qi = ({ scope: p }) => {
249
+ const Wi = ({ scope: p }) => {
248
250
  var i;
249
251
  const { groupBy: o, groupByConfig: m, updateGroupBy: e, updateGroupByConfig: n } = c(), { modules: t } = g(), r = f({ scope: p });
250
252
  if (!t) return null;
@@ -268,6 +270,6 @@ const Qi = ({ scope: p }) => {
268
270
  };
269
271
  };
270
272
  export {
271
- Qi as useGroupBySettings
273
+ Wi as useGroupBySettings
272
274
  };
273
275
  //# sourceMappingURL=useGroupBySettings.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGroupBySettings.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGroupBySettings.tsx"],"sourcesContent":["import { useColumnSettingsContext, useProjectTableContext } from '../context'\nimport { useGetGroupedFields } from '..'\n\ninterface UseGroupBySettingsProps {\n scope?: string\n}\n\nexport const useGroupBySettings = ({ scope }: UseGroupBySettingsProps) => {\n const { groupBy, groupByConfig, updateGroupBy, updateGroupByConfig } = useColumnSettingsContext()\n const { modules } = useProjectTableContext()\n const groupByFields = useGetGroupedFields({ scope })\n if (!modules) return null\n const { GroupSettings, requiredVersion } = modules || {}\n\n return {\n id: 'group-by',\n title: 'Group',\n icon: 'splitscreen',\n preview: groupBy\n ? groupByFields.find((f) => f.value === groupBy.id)?.label ?? groupBy.id\n : 'None',\n component: (\n <GroupSettings\n fields={groupByFields}\n requiredVersion={requiredVersion}\n groupBy={groupBy}\n updateGroupBy={updateGroupBy}\n config={groupByConfig}\n onConfigChange={updateGroupByConfig}\n />\n ),\n }\n}\n"],"names":["useGroupBySettings","scope","groupBy","groupByConfig","updateGroupBy","updateGroupByConfig","useColumnSettingsContext","modules","useProjectTableContext","groupByFields","useGetGroupedFields","GroupSettings","requiredVersion","_a","f","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAMA,KAAqB,CAAC,EAAE,OAAAC,QAAqC;;AACxE,QAAM,EAAE,SAAAC,GAAS,eAAAC,GAAe,eAAAC,GAAe,qBAAAC,EAAA,IAAwBC,EAAyB,GAC1F,EAAE,SAAAC,EAAQ,IAAIC,EAAuB,GACrCC,IAAgBC,EAAoB,EAAE,OAAAT,GAAO;AAC/C,MAAA,CAACM,EAAgB,QAAA;AACrB,QAAM,EAAE,eAAAI,GAAe,iBAAAC,EAAgB,IAAIL,KAAW,CAAC;AAEhD,SAAA;AAAA,IACL,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAASL,MACLW,IAAAJ,EAAc,KAAK,CAACK,MAAMA,EAAE,UAAUZ,EAAQ,EAAE,MAAhD,gBAAAW,EAAmD,UAASX,EAAQ,KACpE;AAAA,IACJ,WACEa,gBAAAA,EAAA;AAAA,MAACJ;AAAA,MAAA;AAAA,QACC,QAAQF;AAAA,QACR,iBAAAG;AAAA,QACA,SAAAV;AAAA,QACA,eAAAE;AAAA,QACA,QAAQD;AAAA,QACR,gBAAgBE;AAAA,MAAA;AAAA,IAAA;AAAA,EAGtB;AACF;"}
1
+ {"version":3,"file":"useGroupBySettings.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGroupBySettings.tsx"],"sourcesContent":["import { useColumnSettingsContext, useProjectTableContext } from '../context'\nimport { useGetGroupedFields } from '..'\n\ninterface UseGroupBySettingsProps {\n scope?: string\n}\n\nexport const useGroupBySettings = ({ scope }: UseGroupBySettingsProps) => {\n const { groupBy, groupByConfig, updateGroupBy, updateGroupByConfig } = useColumnSettingsContext()\n const { modules } = useProjectTableContext()\n const groupByFields = useGetGroupedFields({ scope })\n if (!modules) return null\n const { GroupSettings, requiredVersion } = modules || {}\n\n return {\n id: 'group-by',\n title: 'Group',\n icon: 'splitscreen',\n preview: groupBy\n ? groupByFields.find((f) => f.value === groupBy.id)?.label ?? groupBy.id\n : 'None',\n component: (\n <GroupSettings\n fields={groupByFields}\n requiredVersion={requiredVersion}\n groupBy={groupBy}\n updateGroupBy={updateGroupBy}\n config={groupByConfig}\n onConfigChange={updateGroupByConfig}\n />\n ),\n }\n}\n"],"names":["useGroupBySettings","scope","groupBy","groupByConfig","updateGroupBy","updateGroupByConfig","useColumnSettingsContext","modules","useProjectTableContext","groupByFields","useGetGroupedFields","GroupSettings","requiredVersion","_a","f","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAMA,KAAqB,CAAC,EAAE,OAAAC,QAAqC;;AACxE,QAAM,EAAE,SAAAC,GAAS,eAAAC,GAAe,eAAAC,GAAe,qBAAAC,EAAA,IAAwBC,EAAyB,GAC1F,EAAE,SAAAC,EAAQ,IAAIC,EAAuB,GACrCC,IAAgBC,EAAoB,EAAE,OAAAT,GAAO;AAC/C,MAAA,CAACM,EAAgB,QAAA;AACrB,QAAM,EAAE,eAAAI,GAAe,iBAAAC,EAAgB,IAAIL,KAAW,CAAC;AAEhD,SAAA;AAAA,IACL,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAASL,MACLW,IAAAJ,EAAc,KAAK,CAACK,MAAMA,EAAE,UAAUZ,EAAQ,EAAE,MAAhD,gBAAAW,EAAmD,UAASX,EAAQ,KACpE;AAAA,IACJ,WACEa,gBAAAA,EAAA;AAAA,MAACJ;AAAA,MAAA;AAAA,QACC,QAAQF;AAAA,QACR,iBAAAG;AAAA,QACA,SAAAV;AAAA,QACA,eAAAE;AAAA,QACA,QAAQD;AAAA,QACR,gBAAgBE;AAAA,MAAA;AAAA,IAAA;AAAA,EAGtB;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";const h=require("react"),L=require("../context/SelectionCellsContext.cjs.js"),O=require("../context/CellEditingContext.cjs.js"),s=require("../utils/cellUtils.cjs.js"),j=require("../context/ProjectTableContext.cjs.js"),S=require("../context/ProjectDataContext.cjs.js"),U=require("../context/DetailsPanelEntityContext.cjs.js");require("@ynput/ayon-react-components");require("short-uuid");const V=require("../utils/getEntityViewerIds.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("clsx");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");const W=require("../utils/restrictedEntity.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");function z(){const{attribFields:v,getEntityById:g,onOpenPlayer:k,playerOpen:y}=j.useProjectTableContext(),{canWriteLabelPermission:K,canWriteNamePermission:P}=S.useProjectDataContext(),D=K||P,{focusedCellId:a,gridMap:u,selectCell:q,focusCell:t,clearSelection:x,setFocusedCellId:A}=L.useSelectionCellsContext(),{setEditingCellId:f,editingCellId:p}=O.useCellEditing(),{setSelectedEntity:b}=U.useDetailsPanelEntityContext(),T=h.useCallback(r=>{var R;const l=r.target;if(!(l!=null&&l.closest("table"))||l.tagName==="INPUT"||l.tagName==="TEXTAREA"||l.isContentEditable||l.getAttribute("role")==="textbox"||l.tagName==="LI"||y&&r.key!=="ArrowDown"&&r.key!=="ArrowUp"||p||!a)return;const m=s.parseCellId(a);if(!m)return;const{rowId:o,colId:c}=m,d=u.rowIdToIndex.get(o),I=u.colIdToIndex.get(c);if(d===void 0||I===void 0)return;const N=c.startsWith("attrib_")&&((R=v.find(e=>e.name===c.replace("attrib_","")))==null?void 0:R.readOnly),E=e=>{if(k){const i=g(e);if(i){const n=V.getEntityViewierIds(i);k(n,{quickView:!0})}}};switch(r.key){case"ArrowUp":{if(r.preventDefault(),d>0){const e=u.indexToRowId.get(d-1);if(e){const i=s.getCellId(e,c);q(i,r.shiftKey,r.shiftKey),t(i),y&&E(e)}}break}case"ArrowDown":{r.preventDefault();const e=u.indexToRowId.get(d+1);if(e){const i=s.getCellId(e,c);q(i,r.shiftKey,r.shiftKey),t(i),y&&E(e)}break}case"ArrowLeft":{if(r.preventDefault(),I>0){const e=u.indexToColId.get(I-1);if(e){const i=s.getCellId(o,e);q(i,r.shiftKey,r.shiftKey),t(i)}}break}case"ArrowRight":{r.preventDefault();const e=u.indexToColId.get(I+1);if(e){const i=s.getCellId(o,e);q(i,r.shiftKey,r.shiftKey),t(i)}break}case"Enter":{if(r.preventDefault(),c==="name"){const e=g(o),i=e&&W.isEntityRestricted(e.entityType);e&&(e.entityType==="folder"||e.entityType==="task")&&!i&&b({entityId:o,entityType:e.entityType})}else N||f(a);break}case"Escape":{r.preventDefault(),x(),f(null),A(null);break}case"Tab":{r.preventDefault();const e=r.shiftKey?I-1:I+1,i=u.indexToColId.get(e);if(i){const n=s.getCellId(o,i);q(n,!1,!1),t(n)}else if(!r.shiftKey&&d<u.rowIdToIndex.size-1){const n=u.indexToRowId.get(d+1),C=u.indexToColId.get(0);if(n&&C){const w=s.getCellId(n,C);q(w,!1,!1),t(w)}}else if(r.shiftKey&&d>0){const n=u.indexToRowId.get(d-1),C=u.indexToColId.get(u.colIdToIndex.size-1);if(n&&C){const w=s.getCellId(n,C);q(w,!1,!1),t(w)}}break}case" ":{r.preventDefault(),E(o);break}case"r":case"R":{if(r.ctrlKey||r.metaKey)return;if(r.preventDefault(),c==="name"&&D){const e=g(o);if(e&&(e.entityType==="folder"||e.entityType==="task")){const i=s.getCellId(o,"name");f(i)}}break}}},[a,u,q,t,x,f,p,g,y,b,D]);return h.useEffect(()=>(document.addEventListener("keydown",T),()=>{document.removeEventListener("keydown",T)}),[T,a,u,q,t,x,f,p,y,b]),{handleKeyDown:T,focusedCellId:a,gridMap:u,selectCell:q,focusCell:t,clearSelection:x,setEditingCellId:f,editingCellId:p}}module.exports=z;
1
+ "use strict";const h=require("react"),L=require("../context/SelectionCellsContext.cjs.js"),O=require("../context/CellEditingContext.cjs.js"),s=require("../utils/cellUtils.cjs.js"),j=require("../context/ProjectTableContext.cjs.js"),S=require("../context/ProjectDataContext.cjs.js"),U=require("../context/DetailsPanelEntityContext.cjs.js");require("@ynput/ayon-react-components");require("short-uuid");const V=require("../utils/getEntityViewerIds.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("clsx");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");const W=require("../utils/restrictedEntity.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");function z(){const{attribFields:v,getEntityById:g,onOpenPlayer:k,playerOpen:y}=j.useProjectTableContext(),{canWriteLabelPermission:K,canWriteNamePermission:P}=S.useProjectDataContext(),D=K||P,{focusedCellId:a,gridMap:u,selectCell:q,focusCell:t,clearSelection:x,setFocusedCellId:A}=L.useSelectionCellsContext(),{setEditingCellId:f,editingCellId:p}=O.useCellEditing(),{setSelectedEntity:b}=U.useDetailsPanelEntityContext(),T=h.useCallback(r=>{var R;const l=r.target;if(!(l!=null&&l.closest("table"))||l.tagName==="INPUT"||l.tagName==="TEXTAREA"||l.isContentEditable||l.getAttribute("role")==="textbox"||l.tagName==="LI"||y&&r.key!=="ArrowDown"&&r.key!=="ArrowUp"||p||!a)return;const m=s.parseCellId(a);if(!m)return;const{rowId:o,colId:c}=m,d=u.rowIdToIndex.get(o),I=u.colIdToIndex.get(c);if(d===void 0||I===void 0)return;const N=c.startsWith("attrib_")&&((R=v.find(e=>e.name===c.replace("attrib_","")))==null?void 0:R.readOnly),E=e=>{if(k){const i=g(e);if(i){const n=V.getEntityViewierIds(i);k(n,{quickView:!0})}}};switch(r.key){case"ArrowUp":{if(r.preventDefault(),d>0){const e=u.indexToRowId.get(d-1);if(e){const i=s.getCellId(e,c);q(i,r.shiftKey,r.shiftKey),t(i),y&&E(e)}}break}case"ArrowDown":{r.preventDefault();const e=u.indexToRowId.get(d+1);if(e){const i=s.getCellId(e,c);q(i,r.shiftKey,r.shiftKey),t(i),y&&E(e)}break}case"ArrowLeft":{if(r.preventDefault(),I>0){const e=u.indexToColId.get(I-1);if(e){const i=s.getCellId(o,e);q(i,r.shiftKey,r.shiftKey),t(i)}}break}case"ArrowRight":{r.preventDefault();const e=u.indexToColId.get(I+1);if(e){const i=s.getCellId(o,e);q(i,r.shiftKey,r.shiftKey),t(i)}break}case"Enter":{if(r.preventDefault(),c==="name"){const e=g(o),i=e&&W.isEntityRestricted(e.entityType);e&&(e.entityType==="folder"||e.entityType==="task")&&!i&&b({entityId:o,entityType:e.entityType})}else N||f(a);break}case"Escape":{r.preventDefault(),x(),f(null),A(null);break}case"Tab":{r.preventDefault();const e=r.shiftKey?I-1:I+1,i=u.indexToColId.get(e);if(i){const n=s.getCellId(o,i);q(n,!1,!1),t(n)}else if(!r.shiftKey&&d<u.rowIdToIndex.size-1){const n=u.indexToRowId.get(d+1),C=u.indexToColId.get(0);if(n&&C){const w=s.getCellId(n,C);q(w,!1,!1),t(w)}}else if(r.shiftKey&&d>0){const n=u.indexToRowId.get(d-1),C=u.indexToColId.get(u.colIdToIndex.size-1);if(n&&C){const w=s.getCellId(n,C);q(w,!1,!1),t(w)}}break}case" ":{r.preventDefault(),E(o);break}case"r":case"R":{if(r.ctrlKey||r.metaKey)return;if(r.preventDefault(),c==="name"&&D){const e=g(o);if(e&&(e.entityType==="folder"||e.entityType==="task")){const i=s.getCellId(o,"name");f(i)}}break}}},[a,u,q,t,x,f,p,g,y,b,D]);return h.useEffect(()=>(document.addEventListener("keydown",T),()=>{document.removeEventListener("keydown",T)}),[T,a,u,q,t,x,f,p,y,b]),{handleKeyDown:T,focusedCellId:a,gridMap:u,selectCell:q,focusCell:t,clearSelection:x,setEditingCellId:f,editingCellId:p}}module.exports=z;
2
2
  //# sourceMappingURL=useKeyboardNavigation.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardNavigation.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useCellEditing } from '../context/CellEditingContext' // keep for editingCellId/setEditingCellId\nimport { parseCellId, getCellId } from '../utils/cellUtils'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { useProjectDataContext } from '../context/ProjectDataContext'\nimport { useDetailsPanelEntityContext } from '../context/DetailsPanelEntityContext'\nimport { getEntityViewierIds } from '../utils'\nimport { isEntityRestricted } from '../utils/restrictedEntity'\n\nexport default function useKeyboardNavigation() {\n const { attribFields, getEntityById, onOpenPlayer, playerOpen } = useProjectTableContext()\n const { canWriteLabelPermission, canWriteNamePermission } = useProjectDataContext()\n const canOpenRenameDialog = canWriteLabelPermission || canWriteNamePermission\n\n const { focusedCellId, gridMap, selectCell, focusCell, clearSelection, setFocusedCellId } =\n useSelectionCellsContext()\n\n const { setEditingCellId, editingCellId } = useCellEditing()\n const { setSelectedEntity } = useDetailsPanelEntityContext()\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n if (!target?.closest('table')) {\n return\n }\n\n // Skip if event target is an input element or contentEditable\n if (\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA' ||\n target.isContentEditable ||\n target.getAttribute('role') === 'textbox' ||\n target.tagName === 'LI'\n ) {\n return\n }\n\n // allow keyboard and up and down only if the player is open\n if (playerOpen && e.key !== 'ArrowDown' && e.key !== 'ArrowUp') return\n\n // Don't handle keyboard events if we are currently editing a cell\n if (editingCellId) return\n\n // Don't handle keyboard events if we don't have a focused cell\n if (!focusedCellId) return\n\n const position = parseCellId(focusedCellId)\n if (!position) return\n\n const { rowId, colId } = position\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n const colIndex = gridMap.colIdToIndex.get(colId)\n\n if (rowIndex === undefined || colIndex === undefined) return\n\n const isReadOnly =\n colId.startsWith('attrib_') &&\n attribFields.find((a) => a.name === colId.replace('attrib_', ''))?.readOnly\n\n const openPlayer = (entityId: string) => {\n // try to open the player if onOpenPlayer is defined\n if (onOpenPlayer) {\n const entity = getEntityById(entityId)\n if (entity) {\n const targetIds = getEntityViewierIds(entity)\n onOpenPlayer(targetIds, { quickView: true })\n }\n }\n }\n\n // Handle different keys\n switch (e.key) {\n case 'ArrowUp': {\n e.preventDefault()\n if (rowIndex > 0) {\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n }\n break\n }\n case 'ArrowDown': {\n e.preventDefault()\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n break\n }\n case 'ArrowLeft': {\n e.preventDefault()\n if (colIndex > 0) {\n const newColId = gridMap.indexToColId.get(colIndex - 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n }\n break\n }\n case 'ArrowRight': {\n e.preventDefault()\n const newColId = gridMap.indexToColId.get(colIndex + 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n break\n }\n case 'Enter': {\n e.preventDefault()\n // Only open details panel for name column on folders/tasks\n if (colId === 'name') {\n const entity = getEntityById(rowId)\n // Check if entity is restricted - prevent opening details panel\n const isRestricted = entity && isEntityRestricted(entity.entityType)\n if (entity && (entity.entityType === 'folder' || entity.entityType === 'task') && !isRestricted) {\n setSelectedEntity({\n entityId: rowId,\n entityType: entity.entityType,\n })\n }\n } else {\n // For all other columns, start editing the cell (if not read-only)\n if (!isReadOnly) {\n setEditingCellId(focusedCellId)\n }\n }\n break\n }\n case 'Escape': {\n e.preventDefault()\n // Clear selection and stop editing\n clearSelection()\n setEditingCellId(null)\n setFocusedCellId(null)\n break\n }\n case 'Tab': {\n e.preventDefault()\n // Move to next cell (right if no shift, left if shift)\n const nextColIndex = e.shiftKey ? colIndex - 1 : colIndex + 1\n const nextColId = gridMap.indexToColId.get(nextColIndex)\n\n if (nextColId) {\n // Move to next/prev column in same row\n const newCellId = getCellId(rowId, nextColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n } else if (!e.shiftKey && rowIndex < gridMap.rowIdToIndex.size - 1) {\n // Move to first column of next row\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n const firstColId = gridMap.indexToColId.get(0)\n if (newRowId && firstColId) {\n const newCellId = getCellId(newRowId, firstColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n } else if (e.shiftKey && rowIndex > 0) {\n // Move to last column of previous row\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n const lastColId = gridMap.indexToColId.get(gridMap.colIdToIndex.size - 1)\n if (newRowId && lastColId) {\n const newCellId = getCellId(newRowId, lastColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n }\n break\n }\n case ' ': {\n e.preventDefault()\n // attempt to open the player\n openPlayer(rowId)\n break\n }\n case 'r':\n case 'R': {\n // Don't prevent default if Ctrl/Cmd is held (allow page reload)\n if (e.ctrlKey || e.metaKey) {\n return\n }\n e.preventDefault()\n // Check if focused cell is name column on folder/task and user has rename permissions\n if (colId === 'name' && canOpenRenameDialog) {\n const entity = getEntityById(rowId)\n if (entity && (entity.entityType === 'folder' || entity.entityType === 'task')) {\n const nameCellId = getCellId(rowId, 'name')\n setEditingCellId(nameCellId)\n }\n }\n break\n }\n }\n },\n [\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n getEntityById,\n playerOpen,\n setSelectedEntity,\n canOpenRenameDialog,\n ],\n )\n\n // Attach the keydown event handler to the document\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown)\n\n // Cleanup the event listener on component unmount\n return () => {\n document.removeEventListener('keydown', handleKeyDown)\n }\n }, [\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n playerOpen,\n setSelectedEntity,\n ])\n return {\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n }\n}\n"],"names":["useKeyboardNavigation","attribFields","getEntityById","onOpenPlayer","playerOpen","useProjectTableContext","canWriteLabelPermission","canWriteNamePermission","useProjectDataContext","canOpenRenameDialog","focusedCellId","gridMap","selectCell","focusCell","clearSelection","setFocusedCellId","useSelectionCellsContext","setEditingCellId","editingCellId","useCellEditing","setSelectedEntity","useDetailsPanelEntityContext","handleKeyDown","useCallback","e","target","position","parseCellId","rowId","colId","rowIndex","colIndex","isReadOnly","_a","a","openPlayer","entityId","entity","targetIds","getEntityViewierIds","newRowId","newCellId","getCellId","newColId","isRestricted","isEntityRestricted","nextColIndex","nextColId","firstColId","lastColId","nameCellId","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"useKeyboardNavigation.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useCellEditing } from '../context/CellEditingContext' // keep for editingCellId/setEditingCellId\nimport { parseCellId, getCellId } from '../utils/cellUtils'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { useProjectDataContext } from '../context/ProjectDataContext'\nimport { useDetailsPanelEntityContext } from '../context/DetailsPanelEntityContext'\nimport { getEntityViewierIds } from '../utils'\nimport { isEntityRestricted } from '../utils/restrictedEntity'\n\nexport default function useKeyboardNavigation() {\n const { attribFields, getEntityById, onOpenPlayer, playerOpen } = useProjectTableContext()\n const { canWriteLabelPermission, canWriteNamePermission } = useProjectDataContext()\n const canOpenRenameDialog = canWriteLabelPermission || canWriteNamePermission\n\n const { focusedCellId, gridMap, selectCell, focusCell, clearSelection, setFocusedCellId } =\n useSelectionCellsContext()\n\n const { setEditingCellId, editingCellId } = useCellEditing()\n const { setSelectedEntity } = useDetailsPanelEntityContext()\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n if (!target?.closest('table')) {\n return\n }\n\n // Skip if event target is an input element or contentEditable\n if (\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA' ||\n target.isContentEditable ||\n target.getAttribute('role') === 'textbox' ||\n target.tagName === 'LI'\n ) {\n return\n }\n\n // allow keyboard and up and down only if the player is open\n if (playerOpen && e.key !== 'ArrowDown' && e.key !== 'ArrowUp') return\n\n // Don't handle keyboard events if we are currently editing a cell\n if (editingCellId) return\n\n // Don't handle keyboard events if we don't have a focused cell\n if (!focusedCellId) return\n\n const position = parseCellId(focusedCellId)\n if (!position) return\n\n const { rowId, colId } = position\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n const colIndex = gridMap.colIdToIndex.get(colId)\n\n if (rowIndex === undefined || colIndex === undefined) return\n\n const isReadOnly =\n colId.startsWith('attrib_') &&\n attribFields.find((a) => a.name === colId.replace('attrib_', ''))?.readOnly\n\n const openPlayer = (entityId: string) => {\n // try to open the player if onOpenPlayer is defined\n if (onOpenPlayer) {\n const entity = getEntityById(entityId)\n if (entity) {\n const targetIds = getEntityViewierIds(entity)\n onOpenPlayer(targetIds, { quickView: true })\n }\n }\n }\n\n // Handle different keys\n switch (e.key) {\n case 'ArrowUp': {\n e.preventDefault()\n if (rowIndex > 0) {\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n }\n break\n }\n case 'ArrowDown': {\n e.preventDefault()\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n break\n }\n case 'ArrowLeft': {\n e.preventDefault()\n if (colIndex > 0) {\n const newColId = gridMap.indexToColId.get(colIndex - 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n }\n break\n }\n case 'ArrowRight': {\n e.preventDefault()\n const newColId = gridMap.indexToColId.get(colIndex + 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n break\n }\n case 'Enter': {\n e.preventDefault()\n // Only open details panel for name column on folders/tasks\n if (colId === 'name') {\n const entity = getEntityById(rowId)\n // Check if entity is restricted - prevent opening details panel\n const isRestricted = entity && isEntityRestricted(entity.entityType)\n if (entity && (entity.entityType === 'folder' || entity.entityType === 'task') && !isRestricted) {\n setSelectedEntity({\n entityId: rowId,\n entityType: entity.entityType,\n })\n }\n } else {\n // For all other columns, start editing the cell (if not read-only)\n if (!isReadOnly) {\n setEditingCellId(focusedCellId)\n }\n }\n break\n }\n case 'Escape': {\n e.preventDefault()\n // Clear selection and stop editing\n clearSelection()\n setEditingCellId(null)\n setFocusedCellId(null)\n break\n }\n case 'Tab': {\n e.preventDefault()\n // Move to next cell (right if no shift, left if shift)\n const nextColIndex = e.shiftKey ? colIndex - 1 : colIndex + 1\n const nextColId = gridMap.indexToColId.get(nextColIndex)\n\n if (nextColId) {\n // Move to next/prev column in same row\n const newCellId = getCellId(rowId, nextColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n } else if (!e.shiftKey && rowIndex < gridMap.rowIdToIndex.size - 1) {\n // Move to first column of next row\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n const firstColId = gridMap.indexToColId.get(0)\n if (newRowId && firstColId) {\n const newCellId = getCellId(newRowId, firstColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n } else if (e.shiftKey && rowIndex > 0) {\n // Move to last column of previous row\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n const lastColId = gridMap.indexToColId.get(gridMap.colIdToIndex.size - 1)\n if (newRowId && lastColId) {\n const newCellId = getCellId(newRowId, lastColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n }\n break\n }\n case ' ': {\n e.preventDefault()\n // attempt to open the player\n openPlayer(rowId)\n break\n }\n case 'r':\n case 'R': {\n // Don't prevent default if Ctrl/Cmd is held (allow page reload)\n if (e.ctrlKey || e.metaKey) {\n return\n }\n e.preventDefault()\n // Check if focused cell is name column on folder/task and user has rename permissions\n if (colId === 'name' && canOpenRenameDialog) {\n const entity = getEntityById(rowId)\n if (entity && (entity.entityType === 'folder' || entity.entityType === 'task')) {\n const nameCellId = getCellId(rowId, 'name')\n setEditingCellId(nameCellId)\n }\n }\n break\n }\n }\n },\n [\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n getEntityById,\n playerOpen,\n setSelectedEntity,\n canOpenRenameDialog,\n ],\n )\n\n // Attach the keydown event handler to the document\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown)\n\n // Cleanup the event listener on component unmount\n return () => {\n document.removeEventListener('keydown', handleKeyDown)\n }\n }, [\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n playerOpen,\n setSelectedEntity,\n ])\n return {\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n }\n}\n"],"names":["useKeyboardNavigation","attribFields","getEntityById","onOpenPlayer","playerOpen","useProjectTableContext","canWriteLabelPermission","canWriteNamePermission","useProjectDataContext","canOpenRenameDialog","focusedCellId","gridMap","selectCell","focusCell","clearSelection","setFocusedCellId","useSelectionCellsContext","setEditingCellId","editingCellId","useCellEditing","setSelectedEntity","useDetailsPanelEntityContext","handleKeyDown","useCallback","e","target","position","parseCellId","rowId","colId","rowIndex","colIndex","isReadOnly","_a","a","openPlayer","entityId","entity","targetIds","getEntityViewierIds","newRowId","newCellId","getCellId","newColId","isRestricted","isEntityRestricted","nextColIndex","nextColId","firstColId","lastColId","nameCellId","useEffect"],"mappings":"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"}
@@ -75,6 +75,8 @@ import "../../../api/queries/attributes/getAttributes.es.js";
75
75
  import "../../../api/queries/attributes/updateAttributes.es.js";
76
76
  import "../../../api/queries/authentication/getAuthentication.es.js";
77
77
  import "../../../api/queries/cloud/cloud.es.js";
78
+ import "../../../api/queries/config/getConfig.es.js";
79
+ import "../../../api/queries/config/updateConfig.es.js";
78
80
  import "../../../api/queries/entities/getEntity.es.js";
79
81
  import "../../../api/queries/entities/getEntityPanel.es.js";
80
82
  import "../../../api/queries/entities/updateEntity.es.js";
@@ -246,7 +248,7 @@ import "../widgets/EmptyWidget.es.js";
246
248
  import "../widgets/ErrorWidget.es.js";
247
249
  import "../ProjectTreeTable.styled.es.js";
248
250
  import "../widgets/LoadMoreWidget.es.js";
249
- function bp() {
251
+ function hp() {
250
252
  const { attribFields: K, getEntityById: C, onOpenPlayer: h, playerOpen: y } = j(), { canWriteLabelPermission: R, canWriteNamePermission: A } = z(), v = R || A, { focusedCellId: c, gridMap: r, selectCell: p, focusCell: m, clearSelection: g, setFocusedCellId: P } = S(), { setEditingCellId: f, editingCellId: x } = U(), { setSelectedEntity: b } = F(), T = L(
251
253
  (o) => {
252
254
  var E;
@@ -398,6 +400,6 @@ function bp() {
398
400
  };
399
401
  }
400
402
  export {
401
- bp as default
403
+ hp as default
402
404
  };
403
405
  //# sourceMappingURL=useKeyboardNavigation.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardNavigation.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useCellEditing } from '../context/CellEditingContext' // keep for editingCellId/setEditingCellId\nimport { parseCellId, getCellId } from '../utils/cellUtils'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { useProjectDataContext } from '../context/ProjectDataContext'\nimport { useDetailsPanelEntityContext } from '../context/DetailsPanelEntityContext'\nimport { getEntityViewierIds } from '../utils'\nimport { isEntityRestricted } from '../utils/restrictedEntity'\n\nexport default function useKeyboardNavigation() {\n const { attribFields, getEntityById, onOpenPlayer, playerOpen } = useProjectTableContext()\n const { canWriteLabelPermission, canWriteNamePermission } = useProjectDataContext()\n const canOpenRenameDialog = canWriteLabelPermission || canWriteNamePermission\n\n const { focusedCellId, gridMap, selectCell, focusCell, clearSelection, setFocusedCellId } =\n useSelectionCellsContext()\n\n const { setEditingCellId, editingCellId } = useCellEditing()\n const { setSelectedEntity } = useDetailsPanelEntityContext()\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n if (!target?.closest('table')) {\n return\n }\n\n // Skip if event target is an input element or contentEditable\n if (\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA' ||\n target.isContentEditable ||\n target.getAttribute('role') === 'textbox' ||\n target.tagName === 'LI'\n ) {\n return\n }\n\n // allow keyboard and up and down only if the player is open\n if (playerOpen && e.key !== 'ArrowDown' && e.key !== 'ArrowUp') return\n\n // Don't handle keyboard events if we are currently editing a cell\n if (editingCellId) return\n\n // Don't handle keyboard events if we don't have a focused cell\n if (!focusedCellId) return\n\n const position = parseCellId(focusedCellId)\n if (!position) return\n\n const { rowId, colId } = position\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n const colIndex = gridMap.colIdToIndex.get(colId)\n\n if (rowIndex === undefined || colIndex === undefined) return\n\n const isReadOnly =\n colId.startsWith('attrib_') &&\n attribFields.find((a) => a.name === colId.replace('attrib_', ''))?.readOnly\n\n const openPlayer = (entityId: string) => {\n // try to open the player if onOpenPlayer is defined\n if (onOpenPlayer) {\n const entity = getEntityById(entityId)\n if (entity) {\n const targetIds = getEntityViewierIds(entity)\n onOpenPlayer(targetIds, { quickView: true })\n }\n }\n }\n\n // Handle different keys\n switch (e.key) {\n case 'ArrowUp': {\n e.preventDefault()\n if (rowIndex > 0) {\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n }\n break\n }\n case 'ArrowDown': {\n e.preventDefault()\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n break\n }\n case 'ArrowLeft': {\n e.preventDefault()\n if (colIndex > 0) {\n const newColId = gridMap.indexToColId.get(colIndex - 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n }\n break\n }\n case 'ArrowRight': {\n e.preventDefault()\n const newColId = gridMap.indexToColId.get(colIndex + 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n break\n }\n case 'Enter': {\n e.preventDefault()\n // Only open details panel for name column on folders/tasks\n if (colId === 'name') {\n const entity = getEntityById(rowId)\n // Check if entity is restricted - prevent opening details panel\n const isRestricted = entity && isEntityRestricted(entity.entityType)\n if (entity && (entity.entityType === 'folder' || entity.entityType === 'task') && !isRestricted) {\n setSelectedEntity({\n entityId: rowId,\n entityType: entity.entityType,\n })\n }\n } else {\n // For all other columns, start editing the cell (if not read-only)\n if (!isReadOnly) {\n setEditingCellId(focusedCellId)\n }\n }\n break\n }\n case 'Escape': {\n e.preventDefault()\n // Clear selection and stop editing\n clearSelection()\n setEditingCellId(null)\n setFocusedCellId(null)\n break\n }\n case 'Tab': {\n e.preventDefault()\n // Move to next cell (right if no shift, left if shift)\n const nextColIndex = e.shiftKey ? colIndex - 1 : colIndex + 1\n const nextColId = gridMap.indexToColId.get(nextColIndex)\n\n if (nextColId) {\n // Move to next/prev column in same row\n const newCellId = getCellId(rowId, nextColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n } else if (!e.shiftKey && rowIndex < gridMap.rowIdToIndex.size - 1) {\n // Move to first column of next row\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n const firstColId = gridMap.indexToColId.get(0)\n if (newRowId && firstColId) {\n const newCellId = getCellId(newRowId, firstColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n } else if (e.shiftKey && rowIndex > 0) {\n // Move to last column of previous row\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n const lastColId = gridMap.indexToColId.get(gridMap.colIdToIndex.size - 1)\n if (newRowId && lastColId) {\n const newCellId = getCellId(newRowId, lastColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n }\n break\n }\n case ' ': {\n e.preventDefault()\n // attempt to open the player\n openPlayer(rowId)\n break\n }\n case 'r':\n case 'R': {\n // Don't prevent default if Ctrl/Cmd is held (allow page reload)\n if (e.ctrlKey || e.metaKey) {\n return\n }\n e.preventDefault()\n // Check if focused cell is name column on folder/task and user has rename permissions\n if (colId === 'name' && canOpenRenameDialog) {\n const entity = getEntityById(rowId)\n if (entity && (entity.entityType === 'folder' || entity.entityType === 'task')) {\n const nameCellId = getCellId(rowId, 'name')\n setEditingCellId(nameCellId)\n }\n }\n break\n }\n }\n },\n [\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n getEntityById,\n playerOpen,\n setSelectedEntity,\n canOpenRenameDialog,\n ],\n )\n\n // Attach the keydown event handler to the document\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown)\n\n // Cleanup the event listener on component unmount\n return () => {\n document.removeEventListener('keydown', handleKeyDown)\n }\n }, [\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n playerOpen,\n setSelectedEntity,\n ])\n return {\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n }\n}\n"],"names":["useKeyboardNavigation","attribFields","getEntityById","onOpenPlayer","playerOpen","useProjectTableContext","canWriteLabelPermission","canWriteNamePermission","useProjectDataContext","canOpenRenameDialog","focusedCellId","gridMap","selectCell","focusCell","clearSelection","setFocusedCellId","useSelectionCellsContext","setEditingCellId","editingCellId","useCellEditing","setSelectedEntity","useDetailsPanelEntityContext","handleKeyDown","useCallback","e","target","position","parseCellId","rowId","colId","rowIndex","colIndex","isReadOnly","_a","a","openPlayer","entityId","entity","targetIds","getEntityViewierIds","newRowId","newCellId","getCellId","newColId","isRestricted","isEntityRestricted","nextColIndex","nextColId","firstColId","lastColId","nameCellId","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"useKeyboardNavigation.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useCellEditing } from '../context/CellEditingContext' // keep for editingCellId/setEditingCellId\nimport { parseCellId, getCellId } from '../utils/cellUtils'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { useProjectDataContext } from '../context/ProjectDataContext'\nimport { useDetailsPanelEntityContext } from '../context/DetailsPanelEntityContext'\nimport { getEntityViewierIds } from '../utils'\nimport { isEntityRestricted } from '../utils/restrictedEntity'\n\nexport default function useKeyboardNavigation() {\n const { attribFields, getEntityById, onOpenPlayer, playerOpen } = useProjectTableContext()\n const { canWriteLabelPermission, canWriteNamePermission } = useProjectDataContext()\n const canOpenRenameDialog = canWriteLabelPermission || canWriteNamePermission\n\n const { focusedCellId, gridMap, selectCell, focusCell, clearSelection, setFocusedCellId } =\n useSelectionCellsContext()\n\n const { setEditingCellId, editingCellId } = useCellEditing()\n const { setSelectedEntity } = useDetailsPanelEntityContext()\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n if (!target?.closest('table')) {\n return\n }\n\n // Skip if event target is an input element or contentEditable\n if (\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA' ||\n target.isContentEditable ||\n target.getAttribute('role') === 'textbox' ||\n target.tagName === 'LI'\n ) {\n return\n }\n\n // allow keyboard and up and down only if the player is open\n if (playerOpen && e.key !== 'ArrowDown' && e.key !== 'ArrowUp') return\n\n // Don't handle keyboard events if we are currently editing a cell\n if (editingCellId) return\n\n // Don't handle keyboard events if we don't have a focused cell\n if (!focusedCellId) return\n\n const position = parseCellId(focusedCellId)\n if (!position) return\n\n const { rowId, colId } = position\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n const colIndex = gridMap.colIdToIndex.get(colId)\n\n if (rowIndex === undefined || colIndex === undefined) return\n\n const isReadOnly =\n colId.startsWith('attrib_') &&\n attribFields.find((a) => a.name === colId.replace('attrib_', ''))?.readOnly\n\n const openPlayer = (entityId: string) => {\n // try to open the player if onOpenPlayer is defined\n if (onOpenPlayer) {\n const entity = getEntityById(entityId)\n if (entity) {\n const targetIds = getEntityViewierIds(entity)\n onOpenPlayer(targetIds, { quickView: true })\n }\n }\n }\n\n // Handle different keys\n switch (e.key) {\n case 'ArrowUp': {\n e.preventDefault()\n if (rowIndex > 0) {\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n }\n break\n }\n case 'ArrowDown': {\n e.preventDefault()\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n break\n }\n case 'ArrowLeft': {\n e.preventDefault()\n if (colIndex > 0) {\n const newColId = gridMap.indexToColId.get(colIndex - 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n }\n break\n }\n case 'ArrowRight': {\n e.preventDefault()\n const newColId = gridMap.indexToColId.get(colIndex + 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n break\n }\n case 'Enter': {\n e.preventDefault()\n // Only open details panel for name column on folders/tasks\n if (colId === 'name') {\n const entity = getEntityById(rowId)\n // Check if entity is restricted - prevent opening details panel\n const isRestricted = entity && isEntityRestricted(entity.entityType)\n if (entity && (entity.entityType === 'folder' || entity.entityType === 'task') && !isRestricted) {\n setSelectedEntity({\n entityId: rowId,\n entityType: entity.entityType,\n })\n }\n } else {\n // For all other columns, start editing the cell (if not read-only)\n if (!isReadOnly) {\n setEditingCellId(focusedCellId)\n }\n }\n break\n }\n case 'Escape': {\n e.preventDefault()\n // Clear selection and stop editing\n clearSelection()\n setEditingCellId(null)\n setFocusedCellId(null)\n break\n }\n case 'Tab': {\n e.preventDefault()\n // Move to next cell (right if no shift, left if shift)\n const nextColIndex = e.shiftKey ? colIndex - 1 : colIndex + 1\n const nextColId = gridMap.indexToColId.get(nextColIndex)\n\n if (nextColId) {\n // Move to next/prev column in same row\n const newCellId = getCellId(rowId, nextColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n } else if (!e.shiftKey && rowIndex < gridMap.rowIdToIndex.size - 1) {\n // Move to first column of next row\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n const firstColId = gridMap.indexToColId.get(0)\n if (newRowId && firstColId) {\n const newCellId = getCellId(newRowId, firstColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n } else if (e.shiftKey && rowIndex > 0) {\n // Move to last column of previous row\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n const lastColId = gridMap.indexToColId.get(gridMap.colIdToIndex.size - 1)\n if (newRowId && lastColId) {\n const newCellId = getCellId(newRowId, lastColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n }\n break\n }\n case ' ': {\n e.preventDefault()\n // attempt to open the player\n openPlayer(rowId)\n break\n }\n case 'r':\n case 'R': {\n // Don't prevent default if Ctrl/Cmd is held (allow page reload)\n if (e.ctrlKey || e.metaKey) {\n return\n }\n e.preventDefault()\n // Check if focused cell is name column on folder/task and user has rename permissions\n if (colId === 'name' && canOpenRenameDialog) {\n const entity = getEntityById(rowId)\n if (entity && (entity.entityType === 'folder' || entity.entityType === 'task')) {\n const nameCellId = getCellId(rowId, 'name')\n setEditingCellId(nameCellId)\n }\n }\n break\n }\n }\n },\n [\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n getEntityById,\n playerOpen,\n setSelectedEntity,\n canOpenRenameDialog,\n ],\n )\n\n // Attach the keydown event handler to the document\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown)\n\n // Cleanup the event listener on component unmount\n return () => {\n document.removeEventListener('keydown', handleKeyDown)\n }\n }, [\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n playerOpen,\n setSelectedEntity,\n ])\n return {\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n }\n}\n"],"names":["useKeyboardNavigation","attribFields","getEntityById","onOpenPlayer","playerOpen","useProjectTableContext","canWriteLabelPermission","canWriteNamePermission","useProjectDataContext","canOpenRenameDialog","focusedCellId","gridMap","selectCell","focusCell","clearSelection","setFocusedCellId","useSelectionCellsContext","setEditingCellId","editingCellId","useCellEditing","setSelectedEntity","useDetailsPanelEntityContext","handleKeyDown","useCallback","e","target","position","parseCellId","rowId","colId","rowIndex","colIndex","isReadOnly","_a","a","openPlayer","entityId","entity","targetIds","getEntityViewierIds","newRowId","newCellId","getCellId","newColId","isRestricted","isEntityRestricted","nextColIndex","nextColId","firstColId","lastColId","nameCellId","useEffect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,SAAwBA,KAAwB;AAC9C,QAAM,EAAE,cAAAC,GAAc,eAAAC,GAAe,cAAAC,GAAc,YAAAC,EAAA,IAAeC,EAAuB,GACnF,EAAE,yBAAAC,GAAyB,wBAAAC,EAAuB,IAAIC,EAAsB,GAC5EC,IAAsBH,KAA2BC,GAEjD,EAAE,eAAAG,GAAe,SAAAC,GAAS,YAAAC,GAAY,WAAAC,GAAW,gBAAAC,GAAgB,kBAAAC,MACrEC,EAAyB,GAErB,EAAE,kBAAAC,GAAkB,eAAAC,EAAc,IAAIC,EAAe,GACrD,EAAE,mBAAAC,EAAkB,IAAIC,EAA6B,GAErDC,IAAgBC;AAAA,IACpB,CAACC,MAAqB;;AACpB,YAAMC,IAASD,EAAE;AAuBjB,UAtBI,EAACC,KAAA,QAAAA,EAAQ,QAAQ,aAMnBA,EAAO,YAAY,WACnBA,EAAO,YAAY,cACnBA,EAAO,qBACPA,EAAO,aAAa,MAAM,MAAM,aAChCA,EAAO,YAAY,QAMjBrB,KAAcoB,EAAE,QAAQ,eAAeA,EAAE,QAAQ,aAGjDN,KAGA,CAACR,EAAe;AAEd,YAAAgB,IAAWC,EAAYjB,CAAa;AAC1C,UAAI,CAACgB,EAAU;AAET,YAAA,EAAE,OAAAE,GAAO,OAAAC,EAAA,IAAUH,GACnBI,IAAWnB,EAAQ,aAAa,IAAIiB,CAAK,GACzCG,IAAWpB,EAAQ,aAAa,IAAIkB,CAAK;AAE3C,UAAAC,MAAa,UAAaC,MAAa,OAAW;AAEtD,YAAMC,IACJH,EAAM,WAAW,SAAS,OAC1BI,IAAAhC,EAAa,KAAK,CAACiC,MAAMA,EAAE,SAASL,EAAM,QAAQ,WAAW,EAAE,CAAC,MAAhE,gBAAAI,EAAmE,WAE/DE,IAAa,CAACC,MAAqB;AAEvC,YAAIjC,GAAc;AACV,gBAAAkC,IAASnC,EAAckC,CAAQ;AACrC,cAAIC,GAAQ;AACJ,kBAAAC,IAAYC,EAAoBF,CAAM;AAC5C,YAAAlC,EAAamC,GAAW,EAAE,WAAW,GAAA,CAAM;AAAA,UAAA;AAAA,QAC7C;AAAA,MAEJ;AAGA,cAAQd,EAAE,KAAK;AAAA,QACb,KAAK,WAAW;AAEd,cADAA,EAAE,eAAe,GACbM,IAAW,GAAG;AAChB,kBAAMU,IAAW7B,EAAQ,aAAa,IAAImB,IAAW,CAAC;AACtD,gBAAIU,GAAU;AACN,oBAAAC,IAAYC,EAAUF,GAAUX,CAAK;AAC3C,cAAAjB,EAAW6B,GAAWjB,EAAE,UAAUA,EAAE,QAAQ,GAC5CX,EAAU4B,CAAS,GAGfrC,KACF+B,EAAWK,CAAQ;AAAA,YACrB;AAAA,UACF;AAEF;AAAA,QAAA;AAAA,QAEF,KAAK,aAAa;AAChB,UAAAhB,EAAE,eAAe;AACjB,gBAAMgB,IAAW7B,EAAQ,aAAa,IAAImB,IAAW,CAAC;AACtD,cAAIU,GAAU;AACN,kBAAAC,IAAYC,EAAUF,GAAUX,CAAK;AAC3C,YAAAjB,EAAW6B,GAAWjB,EAAE,UAAUA,EAAE,QAAQ,GAC5CX,EAAU4B,CAAS,GAGfrC,KACF+B,EAAWK,CAAQ;AAAA,UACrB;AAEF;AAAA,QAAA;AAAA,QAEF,KAAK,aAAa;AAEhB,cADAhB,EAAE,eAAe,GACbO,IAAW,GAAG;AAChB,kBAAMY,IAAWhC,EAAQ,aAAa,IAAIoB,IAAW,CAAC;AACtD,gBAAIY,GAAU;AACN,oBAAAF,IAAYC,EAAUd,GAAOe,CAAQ;AAC3C,cAAA/B,EAAW6B,GAAWjB,EAAE,UAAUA,EAAE,QAAQ,GAC5CX,EAAU4B,CAAS;AAAA,YAAA;AAAA,UACrB;AAEF;AAAA,QAAA;AAAA,QAEF,KAAK,cAAc;AACjB,UAAAjB,EAAE,eAAe;AACjB,gBAAMmB,IAAWhC,EAAQ,aAAa,IAAIoB,IAAW,CAAC;AACtD,cAAIY,GAAU;AACN,kBAAAF,IAAYC,EAAUd,GAAOe,CAAQ;AAC3C,YAAA/B,EAAW6B,GAAWjB,EAAE,UAAUA,EAAE,QAAQ,GAC5CX,EAAU4B,CAAS;AAAA,UAAA;AAErB;AAAA,QAAA;AAAA,QAEF,KAAK,SAAS;AAGZ,cAFAjB,EAAE,eAAe,GAEbK,MAAU,QAAQ;AACd,kBAAAQ,IAASnC,EAAc0B,CAAK,GAE5BgB,IAAeP,KAAUQ,EAAmBR,EAAO,UAAU;AAC/D,YAAAA,MAAWA,EAAO,eAAe,YAAYA,EAAO,eAAe,WAAW,CAACO,KAC/DxB,EAAA;AAAA,cAChB,UAAUQ;AAAA,cACV,YAAYS,EAAO;AAAA,YAAA,CACpB;AAAA,UACH;AAGA,YAAKL,KACHf,EAAiBP,CAAa;AAGlC;AAAA,QAAA;AAAA,QAEF,KAAK,UAAU;AACb,UAAAc,EAAE,eAAe,GAEFV,EAAA,GACfG,EAAiB,IAAI,GACrBF,EAAiB,IAAI;AACrB;AAAA,QAAA;AAAA,QAEF,KAAK,OAAO;AACV,UAAAS,EAAE,eAAe;AAEjB,gBAAMsB,IAAetB,EAAE,WAAWO,IAAW,IAAIA,IAAW,GACtDgB,IAAYpC,EAAQ,aAAa,IAAImC,CAAY;AAEvD,cAAIC,GAAW;AAEP,kBAAAN,IAAYC,EAAUd,GAAOmB,CAAS;AACjC,YAAAnC,EAAA6B,GAAW,IAAO,EAAK,GAClC5B,EAAU4B,CAAS;AAAA,UAAA,WACV,CAACjB,EAAE,YAAYM,IAAWnB,EAAQ,aAAa,OAAO,GAAG;AAElE,kBAAM6B,IAAW7B,EAAQ,aAAa,IAAImB,IAAW,CAAC,GAChDkB,IAAarC,EAAQ,aAAa,IAAI,CAAC;AAC7C,gBAAI6B,KAAYQ,GAAY;AACpB,oBAAAP,IAAYC,EAAUF,GAAUQ,CAAU;AACrC,cAAApC,EAAA6B,GAAW,IAAO,EAAK,GAClC5B,EAAU4B,CAAS;AAAA,YAAA;AAAA,UAEZ,WAAAjB,EAAE,YAAYM,IAAW,GAAG;AAErC,kBAAMU,IAAW7B,EAAQ,aAAa,IAAImB,IAAW,CAAC,GAChDmB,IAAYtC,EAAQ,aAAa,IAAIA,EAAQ,aAAa,OAAO,CAAC;AACxE,gBAAI6B,KAAYS,GAAW;AACnB,oBAAAR,IAAYC,EAAUF,GAAUS,CAAS;AACpC,cAAArC,EAAA6B,GAAW,IAAO,EAAK,GAClC5B,EAAU4B,CAAS;AAAA,YAAA;AAAA,UACrB;AAEF;AAAA,QAAA;AAAA,QAEF,KAAK,KAAK;AACR,UAAAjB,EAAE,eAAe,GAEjBW,EAAWP,CAAK;AAChB;AAAA,QAAA;AAAA,QAEF,KAAK;AAAA,QACL,KAAK,KAAK;AAEJ,cAAAJ,EAAE,WAAWA,EAAE;AACjB;AAIE,cAFJA,EAAE,eAAe,GAEbK,MAAU,UAAUpB,GAAqB;AACrC,kBAAA4B,IAASnC,EAAc0B,CAAK;AAClC,gBAAIS,MAAWA,EAAO,eAAe,YAAYA,EAAO,eAAe,SAAS;AACxE,oBAAAa,IAAaR,EAAUd,GAAO,MAAM;AAC1C,cAAAX,EAAiBiC,CAAU;AAAA,YAAA;AAAA,UAC7B;AAEF;AAAA,QAAA;AAAA,MACF;AAAA,IAEJ;AAAA,IACA;AAAA,MACExC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAG;AAAA,MACAC;AAAA,MACAhB;AAAA,MACAE;AAAA,MACAgB;AAAA,MACAX;AAAA,IAAA;AAAA,EAEJ;AAGA,SAAA0C,EAAU,OACC,SAAA,iBAAiB,WAAW7B,CAAa,GAG3C,MAAM;AACF,aAAA,oBAAoB,WAAWA,CAAa;AAAA,EACvD,IACC;AAAA,IACDA;AAAA,IACAZ;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAG;AAAA,IACAC;AAAA,IACAd;AAAA,IACAgB;AAAA,EAAA,CACD,GACM;AAAA,IACL,eAAAE;AAAA,IACA,eAAAZ;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAG;AAAA,IACA,eAAAC;AAAA,EACF;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),T=require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");const P=require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");const S=require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");const E=require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("lodash");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("date-fns");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable.cjs.js");require("../context/CellEditingContext.cjs.js");require("short-uuid");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");const $=require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");const F=({projectName:y})=>{const{movingEntities:i,isEntityPickerOpen:M,openMoveDialog:m,closeMoveDialog:p,setEntityPickerOpen:d,clearMovingEntities:h}=S.useMoveEntityContext(),[v]=P.useUpdateOverviewEntitiesMutation(),{tableData:I,getEntityById:f}=$.useProjectTableContext(),{folders:C}=E.useProjectFoldersContext(),g=l.useCallback(q=>{m(q)},[m]),w=l.useCallback(()=>{p()},[p]),b=l.useCallback(async q=>{var n,o;if(!i||q.length===0)return;const s=q[0];d(!1);try{const t=i.entities.map((u,c)=>({id:`move-${u.entityId}-${Date.now()}-${c}`,type:"update",entityType:u.entityType,entityId:u.entityId,data:u.entityType==="folder"?{parentId:s}:{folderId:s}})),e=await v({projectName:y,operationsRequestModel:{operations:t}}).unwrap(),r=((n=e==null?void 0:e.operations)==null?void 0:n.filter(u=>u.success===!1))||[];if(r.length>0){const u=r.map(c=>c.detail).join(", ");throw new Error(u||"Some move operations failed")}}catch(t){console.error("Failed to move entity:",t);let e=((o=t==null?void 0:t.data)==null?void 0:o.detail)||(t==null?void 0:t.error)||(t==null?void 0:t.message)||"Failed to move entities";if(e.includes("already exists"))if(i.entities.length>1)e="Cannot move some entities - one or more entities with the same name already exist in the target location";else if(i.entities[0].entityType==="task"){const u=e.match(/name '.*?, (.+?)' already exists/);e=`Cannot move "${u?u[1]:"this task"}" - a task with this name already exists in the target folder`}else{const u=e.match(/name '.*?, (.+?)' already exists/);e=`Cannot move "${u?u[1]:"this folder"}" - a folder with this name already exists in the target location`}T.toast.error(e)}finally{h(),d(!1)}},[i,y,v,m,p,d,h]),k=l.useCallback(async()=>{var q,s;if(i){d(!1);try{const n=i.entities.map((e,r)=>({id:`move-to-root-${e.entityId}-${Date.now()}-${r}`,type:"update",entityType:e.entityType,entityId:e.entityId,data:e.entityType==="folder"?{parentId:null}:{folderId:null}})),o=await v({projectName:y,operationsRequestModel:{operations:n}}).unwrap(),t=((q=o==null?void 0:o.operations)==null?void 0:q.filter(e=>e.success===!1))||[];if(t.length>0){const e=t.map(r=>r.detail).join(", ");throw new Error(e||"Some move operations failed")}}catch(n){console.error("Failed to move entities to root:",n);let o=((s=n==null?void 0:n.data)==null?void 0:s.detail)||(n==null?void 0:n.error)||(n==null?void 0:n.message)||"Failed to move entities to root";T.toast.error(o)}finally{h(),d(!1)}}},[i,y,v,m,p,d,h]),x=l.useCallback(()=>{if(!i)return[];const q=[];return i.entities.forEach(s=>{q.push(s.entityId)}),C.forEach(s=>{i.entities.some(o=>{const t=f(o.entityId);return t!=null&&t.name?I.filter(r=>o.entityType==="folder"?r.entityType==="folder"&&r.parentId===s.id:o.entityType==="task"?r.entityType==="task"&&r.folderId===s.id:!1).some(r=>r.name===t.name&&r.entityId!==o.entityId):!1})&&q.push(s.id)}),[...new Set(q)]},[i,C,I,f]),D=l.useCallback(q=>{if(!i)return;if(i.entities.some(e=>e.entityType==="folder"&&e.entityId===q))return"Cannot move folder to itself";if(i.entities.some(e=>e.currentParentId===q))return"Cannot move to the same location";const o=C.find(e=>e.id===q);if(o){const e=i.entities.find(r=>{const u=f(r.entityId);return u!=null&&u.name?I.filter(a=>r.entityType==="folder"?a.entityType==="folder"&&a.parentId===o.id:r.entityType==="task"?a.entityType==="task"&&a.folderId===o.id:!1).some(a=>a.name===u.name&&a.entityId!==r.entityId):!1});if(e){const r=f(e.entityId);return`Cannot move "${(r==null?void 0:r.name)||"Entity"}" - an entity with the same name already exists in this folder`}}return i.entities.some(e=>e.entityType==="folder")?"Cannot move folder to its child":"Cannot move to this location"},[i,C,I,f]),O=l.useMemo(()=>(i==null?void 0:i.entities.every(q=>q.entityType==="folder"))||!1,[i]);return{movingEntities:i,isEntityPickerOpen:M,isDialogOpen:M,openMoveDialog:g,closeMoveDialog:w,handleMoveSubmit:b,handleMoveToRoot:k,getDisabledFolderIds:x,getDisabledMessage:D,canMoveToRoot:O}};exports.useMoveEntities=F;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),T=require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");const P=require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");const S=require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");const E=require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("lodash");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("date-fns");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable.cjs.js");require("../context/CellEditingContext.cjs.js");require("short-uuid");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");const $=require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");const F=({projectName:y})=>{const{movingEntities:i,isEntityPickerOpen:M,openMoveDialog:m,closeMoveDialog:p,setEntityPickerOpen:d,clearMovingEntities:h}=S.useMoveEntityContext(),[v]=P.useUpdateOverviewEntitiesMutation(),{tableData:I,getEntityById:f}=$.useProjectTableContext(),{folders:C}=E.useProjectFoldersContext(),g=l.useCallback(q=>{m(q)},[m]),w=l.useCallback(()=>{p()},[p]),b=l.useCallback(async q=>{var n,o;if(!i||q.length===0)return;const s=q[0];d(!1);try{const t=i.entities.map((u,c)=>({id:`move-${u.entityId}-${Date.now()}-${c}`,type:"update",entityType:u.entityType,entityId:u.entityId,data:u.entityType==="folder"?{parentId:s}:{folderId:s}})),e=await v({projectName:y,operationsRequestModel:{operations:t}}).unwrap(),r=((n=e==null?void 0:e.operations)==null?void 0:n.filter(u=>u.success===!1))||[];if(r.length>0){const u=r.map(c=>c.detail).join(", ");throw new Error(u||"Some move operations failed")}}catch(t){console.error("Failed to move entity:",t);let e=((o=t==null?void 0:t.data)==null?void 0:o.detail)||(t==null?void 0:t.error)||(t==null?void 0:t.message)||"Failed to move entities";if(e.includes("already exists"))if(i.entities.length>1)e="Cannot move some entities - one or more entities with the same name already exist in the target location";else if(i.entities[0].entityType==="task"){const u=e.match(/name '.*?, (.+?)' already exists/);e=`Cannot move "${u?u[1]:"this task"}" - a task with this name already exists in the target folder`}else{const u=e.match(/name '.*?, (.+?)' already exists/);e=`Cannot move "${u?u[1]:"this folder"}" - a folder with this name already exists in the target location`}T.toast.error(e)}finally{h(),d(!1)}},[i,y,v,m,p,d,h]),k=l.useCallback(async()=>{var q,s;if(i){d(!1);try{const n=i.entities.map((e,r)=>({id:`move-to-root-${e.entityId}-${Date.now()}-${r}`,type:"update",entityType:e.entityType,entityId:e.entityId,data:e.entityType==="folder"?{parentId:null}:{folderId:null}})),o=await v({projectName:y,operationsRequestModel:{operations:n}}).unwrap(),t=((q=o==null?void 0:o.operations)==null?void 0:q.filter(e=>e.success===!1))||[];if(t.length>0){const e=t.map(r=>r.detail).join(", ");throw new Error(e||"Some move operations failed")}}catch(n){console.error("Failed to move entities to root:",n);let o=((s=n==null?void 0:n.data)==null?void 0:s.detail)||(n==null?void 0:n.error)||(n==null?void 0:n.message)||"Failed to move entities to root";T.toast.error(o)}finally{h(),d(!1)}}},[i,y,v,m,p,d,h]),x=l.useCallback(()=>{if(!i)return[];const q=[];return i.entities.forEach(s=>{q.push(s.entityId)}),C.forEach(s=>{i.entities.some(o=>{const t=f(o.entityId);return t!=null&&t.name?I.filter(r=>o.entityType==="folder"?r.entityType==="folder"&&r.parentId===s.id:o.entityType==="task"?r.entityType==="task"&&r.folderId===s.id:!1).some(r=>r.name===t.name&&r.entityId!==o.entityId):!1})&&q.push(s.id)}),[...new Set(q)]},[i,C,I,f]),D=l.useCallback(q=>{if(!i)return;if(i.entities.some(e=>e.entityType==="folder"&&e.entityId===q))return"Cannot move folder to itself";if(i.entities.some(e=>e.currentParentId===q))return"Cannot move to the same location";const o=C.find(e=>e.id===q);if(o){const e=i.entities.find(r=>{const u=f(r.entityId);return u!=null&&u.name?I.filter(a=>r.entityType==="folder"?a.entityType==="folder"&&a.parentId===o.id:r.entityType==="task"?a.entityType==="task"&&a.folderId===o.id:!1).some(a=>a.name===u.name&&a.entityId!==r.entityId):!1});if(e){const r=f(e.entityId);return`Cannot move "${(r==null?void 0:r.name)||"Entity"}" - an entity with the same name already exists in this folder`}}return i.entities.some(e=>e.entityType==="folder")?"Cannot move folder to its child":"Cannot move to this location"},[i,C,I,f]),O=l.useMemo(()=>(i==null?void 0:i.entities.every(q=>q.entityType==="folder"))||!1,[i]);return{movingEntities:i,isEntityPickerOpen:M,isDialogOpen:M,openMoveDialog:g,closeMoveDialog:w,handleMoveSubmit:b,handleMoveToRoot:k,getDisabledFolderIds:x,getDisabledMessage:D,canMoveToRoot:O}};exports.useMoveEntities=F;
2
2
  //# sourceMappingURL=useMoveEntities.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMoveEntities.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useMoveEntities.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport {\n OperationModel,\n OperationResponseModel,\n useUpdateOverviewEntitiesMutation,\n} 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
+ {"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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"}
@@ -50,6 +50,8 @@ import "../../../api/queries/attributes/getAttributes.es.js";
50
50
  import "../../../api/queries/attributes/updateAttributes.es.js";
51
51
  import "../../../api/queries/authentication/getAuthentication.es.js";
52
52
  import "../../../api/queries/cloud/cloud.es.js";
53
+ import "../../../api/queries/config/getConfig.es.js";
54
+ import "../../../api/queries/config/updateConfig.es.js";
53
55
  import "../../../api/queries/entities/getEntity.es.js";
54
56
  import "../../../api/queries/entities/getEntityPanel.es.js";
55
57
  import "../../../api/queries/entities/updateEntity.es.js";
@@ -243,7 +245,7 @@ import "../../Views/context/ViewsContext.es.js";
243
245
  import "../../Views/Views.styled.es.js";
244
246
  import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
245
247
  import "../../Views/ViewsMenu/ViewsMenu.es.js";
246
- const de = ({ projectName: y }) => {
248
+ const ce = ({ projectName: y }) => {
247
249
  const {
248
250
  movingEntities: i,
249
251
  isEntityPickerOpen: T,
@@ -408,6 +410,6 @@ const de = ({ projectName: y }) => {
408
410
  };
409
411
  };
410
412
  export {
411
- de as useMoveEntities
413
+ ce as useMoveEntities
412
414
  };
413
415
  //# sourceMappingURL=useMoveEntities.es.js.map