@ynput/ayon-frontend-shared 0.2.36 → 0.2.37

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 (486) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +23 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/Views.cjs.js +1 -1
  5. package/dist/Views.cjs.js.map +1 -1
  6. package/dist/Views.es.js +25 -24
  7. package/dist/Views.es.js.map +1 -1
  8. package/dist/_virtual/index.cjs2.js +1 -1
  9. package/dist/_virtual/index.cjs3.js +1 -1
  10. package/dist/_virtual/index.cjs5.js +1 -1
  11. package/dist/_virtual/index.es2.js +2 -5
  12. package/dist/_virtual/index.es2.js.map +1 -1
  13. package/dist/_virtual/index.es3.js +5 -2
  14. package/dist/_virtual/index.es3.js.map +1 -1
  15. package/dist/_virtual/index.es4.js +2 -2
  16. package/dist/_virtual/index.es5.js +2 -2
  17. package/dist/context.cjs.js +1 -1
  18. package/dist/context.es.js +19 -16
  19. package/dist/context.es.js.map +1 -1
  20. package/dist/index.cjs.js +1 -1
  21. package/dist/index.es.js +10 -9
  22. package/dist/index.es.js.map +1 -1
  23. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  24. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  25. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  26. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  27. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  28. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  29. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  30. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  31. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  32. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  33. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  34. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  35. package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
  36. package/dist/shared/src/api/generated/actions.es.js.map +1 -1
  37. package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
  38. package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
  39. package/dist/shared/src/api/generated/authentication.cjs.js.map +1 -1
  40. package/dist/shared/src/api/generated/authentication.es.js.map +1 -1
  41. package/dist/shared/src/api/generated/configuration.cjs.js.map +1 -1
  42. package/dist/shared/src/api/generated/configuration.es.js.map +1 -1
  43. package/dist/shared/src/api/generated/entityLists.cjs.js +1 -1
  44. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  45. package/dist/shared/src/api/generated/entityLists.es.js +88 -84
  46. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  47. package/dist/shared/src/api/generated/graphql.cjs.js +22 -20
  48. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  49. package/dist/shared/src/api/generated/graphql.es.js +34 -32
  50. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  51. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  52. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  53. package/dist/shared/src/api/generated/onboarding.cjs.js.map +1 -1
  54. package/dist/shared/src/api/generated/onboarding.es.js.map +1 -1
  55. package/dist/shared/src/api/generated/products.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/products.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  59. package/dist/shared/src/api/generated/system.cjs.js +1 -1
  60. package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
  61. package/dist/shared/src/api/generated/system.es.js +3 -0
  62. package/dist/shared/src/api/generated/system.es.js.map +1 -1
  63. package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
  64. package/dist/shared/src/api/generated/users.es.js.map +1 -1
  65. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  66. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  67. package/dist/shared/src/api/generated/ynputCloud.cjs.js +1 -1
  68. package/dist/shared/src/api/generated/ynputCloud.cjs.js.map +1 -1
  69. package/dist/shared/src/api/generated/ynputCloud.es.js +6 -1
  70. package/dist/shared/src/api/generated/ynputCloud.es.js.map +1 -1
  71. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  74. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  75. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  76. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  77. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +129 -122
  78. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  79. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  80. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  81. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
  82. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  83. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  84. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  85. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
  86. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  87. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +1 -1
  88. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -1
  89. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +23 -9
  90. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +1 -1
  91. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  92. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  93. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +5 -4
  94. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  95. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  96. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  97. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +3 -2
  98. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  99. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  100. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  101. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +6 -5
  102. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  103. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  104. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  105. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +118 -112
  106. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  107. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  108. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  109. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +3 -2
  110. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  111. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  112. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  113. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +3 -2
  114. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  115. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  116. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  117. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +8 -7
  118. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  119. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  120. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  121. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +3 -2
  122. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  123. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  124. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  125. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +18 -17
  126. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  127. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  128. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  129. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +3 -2
  130. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  131. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  132. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  133. package/dist/shared/src/components/RenameForm/RenameForm.es.js +3 -2
  134. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  135. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  136. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  137. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +3 -2
  138. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  139. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  140. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  141. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +4 -3
  142. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  143. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  144. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  145. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +3 -2
  146. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  147. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  148. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  149. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +263 -210
  150. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  151. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  152. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  153. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +24 -23
  154. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  155. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  156. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  157. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +3 -2
  158. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  159. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  160. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  161. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +3 -2
  162. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  163. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  164. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  165. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +3 -2
  166. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  167. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  168. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  169. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +3 -2
  170. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  171. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  172. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  173. package/dist/shared/src/containers/Actions/Actions.es.js +3 -2
  174. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  175. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  176. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  177. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +3 -2
  178. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  179. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  180. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  181. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +61 -57
  182. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  183. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  184. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  185. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +3 -2
  186. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  187. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  188. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  189. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +58 -55
  190. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  191. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  192. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  193. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +3 -2
  194. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  195. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  196. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  197. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
  198. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  199. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  200. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  201. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +3 -2
  202. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  203. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  204. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  205. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +33 -30
  206. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  207. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  208. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  209. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +16 -15
  210. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  211. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  212. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  213. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +3 -2
  214. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  215. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  216. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  217. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +3 -2
  218. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  219. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  220. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  221. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +3 -2
  222. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  223. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  224. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  225. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +3 -2
  226. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  227. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  228. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  229. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +3 -2
  230. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  231. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  232. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  233. package/dist/shared/src/containers/Feed/Feed.es.js +4 -3
  234. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  235. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  236. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  237. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +3 -2
  238. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  239. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  240. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  241. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +8 -7
  242. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  243. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  244. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  245. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +3 -2
  246. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  247. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  248. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +3 -2
  250. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  251. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  252. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +9 -8
  254. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  255. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  256. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +3 -2
  258. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  259. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  260. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +3 -2
  262. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  263. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  264. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +45 -42
  266. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  267. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  268. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +289 -283
  270. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  271. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  272. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -3
  274. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  275. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  276. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +3 -2
  278. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  279. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  280. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +3 -2
  282. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  283. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  284. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +3 -2
  286. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  287. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  288. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +3 -2
  290. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  291. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  292. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +25 -90
  294. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  295. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  296. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +6 -5
  298. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  299. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  300. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +3 -2
  302. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  303. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  304. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +3 -2
  306. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  307. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  308. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +3 -2
  310. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  311. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  312. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +3 -2
  314. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  315. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  316. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +3 -2
  318. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  319. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  320. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +22 -21
  322. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  323. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +19 -16
  326. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  327. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +3 -2
  330. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  331. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  332. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +3 -2
  334. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  335. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  336. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  337. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +3 -2
  338. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  339. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  340. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +3 -2
  342. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  343. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  344. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +14 -13
  346. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  347. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  348. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +38 -37
  350. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  351. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  352. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +5 -4
  354. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  356. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +3 -2
  358. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  359. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  360. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  361. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +3 -2
  362. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  363. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  364. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  365. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +3 -2
  366. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  367. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  368. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  369. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +3 -2
  370. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  371. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  372. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +7 -6
  374. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  375. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  376. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  377. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +26 -25
  378. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  379. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  380. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +3 -2
  382. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  383. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  384. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +3 -2
  386. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  387. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  388. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +9 -9
  390. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  391. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  392. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +40 -35
  394. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  395. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  396. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  397. package/dist/shared/src/context/AddonProjectContext.es.js +8 -7
  398. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  399. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  400. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  401. package/dist/shared/src/context/DetailsPanelContext.es.js +77 -78
  402. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  403. package/dist/shared/src/context/GlobalContext.cjs.js +2 -0
  404. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -0
  405. package/dist/shared/src/context/GlobalContext.es.js +123 -0
  406. package/dist/shared/src/context/GlobalContext.es.js.map +1 -0
  407. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  408. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  409. package/dist/shared/src/context/PowerpackContext.es.js +7 -6
  410. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  411. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  412. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  413. package/dist/shared/src/context/RemoteModulesContext.es.js +35 -34
  414. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  415. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  416. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  417. package/dist/shared/src/context/WebsocketContext.es.js +5 -4
  418. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  419. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  420. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  421. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
  422. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  423. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  424. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  425. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +3 -2
  426. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  427. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  428. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  429. package/dist/shared/src/hooks/useUserProjectConfig.es.js +26 -12
  430. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  431. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
  432. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
  433. package/dist/src/components/Menu/MenuComponents/Menu.es.js +3 -2
  434. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
  435. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
  436. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
  437. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +1 -0
  438. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
  439. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
  440. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
  441. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +17 -16
  442. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
  443. package/dist/types/api/generated/actions.d.ts +2 -0
  444. package/dist/types/api/generated/attributes.d.ts +20 -5
  445. package/dist/types/api/generated/authentication.d.ts +2 -0
  446. package/dist/types/api/generated/configuration.d.ts +3 -1
  447. package/dist/types/api/generated/entityLists.d.ts +22 -5
  448. package/dist/types/api/generated/enums.d.ts +36 -0
  449. package/dist/types/api/generated/graphql.d.ts +9 -2
  450. package/dist/types/api/generated/graphqlLinks.d.ts +3 -0
  451. package/dist/types/api/generated/onboarding.d.ts +1 -0
  452. package/dist/types/api/generated/products.d.ts +9 -3
  453. package/dist/types/api/generated/projects.d.ts +4 -4
  454. package/dist/types/api/generated/system.d.ts +27 -5
  455. package/dist/types/api/generated/users.d.ts +2 -0
  456. package/dist/types/api/generated/views.d.ts +48 -5
  457. package/dist/types/api/generated/ynputCloud.d.ts +7 -20
  458. package/dist/types/api/queries/activities/getActivities.d.ts +2 -0
  459. package/dist/types/api/queries/activities/updateActivities.d.ts +4 -0
  460. package/dist/types/api/queries/cloud/cloud.d.ts +17 -17
  461. package/dist/types/api/queries/entities/getEntity.d.ts +2 -0
  462. package/dist/types/api/queries/entities/getEntityPanel.d.ts +2 -0
  463. package/dist/types/api/queries/entities/updateEntity.d.ts +2 -0
  464. package/dist/types/api/queries/entityLists/getLists.d.ts +2 -0
  465. package/dist/types/api/queries/overview/getOverview.d.ts +2 -0
  466. package/dist/types/api/queries/system/getSystem.d.ts +85 -75
  467. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +2 -0
  468. package/dist/types/api/queries/users/getUsers.d.ts +43 -37
  469. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +20 -0
  470. package/dist/types/components/DetailsPanelDetails/hooks/useEntityData.d.ts +1 -1
  471. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -1
  472. package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +3 -0
  473. package/dist/types/containers/Feed/context/FeedContext.d.ts +4 -3
  474. package/dist/types/containers/ProjectTreeTable/hooks/useGroupBySettings.d.ts +1 -1
  475. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +2 -0
  476. package/dist/types/containers/Views/index.d.ts +1 -1
  477. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +6 -10
  478. package/dist/types/context/DetailsPanelContext.d.ts +1 -2
  479. package/dist/types/context/GlobalContext.d.ts +25 -0
  480. package/dist/types/context/index.d.ts +1 -0
  481. package/package.json +1 -1
  482. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +0 -2
  483. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +0 -1
  484. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +0 -64
  485. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +0 -1
  486. package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"useGroupBySettings.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGroupBySettings.tsx"],"sourcesContent":["import { OverviewSettingsChange } from '@shared/components'\nimport { FC } from 'react'\nimport { 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 { GroupSettings, requiredVersion } = modules\n\n const groupByFields = useGetGroupedFields({ scope })\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","GroupSettings","requiredVersion","groupByFields","useGetGroupedFields","_a","f","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASO,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,GACrC,EAAE,eAAAC,GAAe,iBAAAC,EAAA,IAAoBH,GAErCI,IAAgBC,EAAoB,EAAE,OAAAX,GAAO;AAC5C,SAAA;AAAA,IACL,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAASC,MACLW,IAAAF,EAAc,KAAK,CAACG,MAAMA,EAAE,UAAUZ,EAAQ,EAAE,MAAhD,gBAAAW,EAAmD,UAASX,EAAQ,KACpE;AAAA,IACJ,WACEa,gBAAAA,EAAA;AAAA,MAACN;AAAA,MAAA;AAAA,QACC,QAAQE;AAAA,QACR,iBAAAD;AAAA,QACA,SAAAR;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");require("lodash");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");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("clsx");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");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("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */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("../../../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/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:t,focusCell:q,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);t(i,r.shiftKey,r.shiftKey),q(i),y&&E(e)}}break}case"ArrowDown":{r.preventDefault();const e=u.indexToRowId.get(d+1);if(e){const i=s.getCellId(e,c);t(i,r.shiftKey,r.shiftKey),q(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);t(i,r.shiftKey,r.shiftKey),q(i)}}break}case"ArrowRight":{r.preventDefault();const e=u.indexToColId.get(I+1);if(e){const i=s.getCellId(o,e);t(i,r.shiftKey,r.shiftKey),q(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);t(n,!1,!1),q(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);t(w,!1,!1),q(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);t(w,!1,!1),q(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,t,q,x,f,p,g,y,b,D]);return h.useEffect(()=>(document.addEventListener("keydown",T),()=>{document.removeEventListener("keydown",T)}),[T,a,u,t,q,x,f,p,y,b]),{handleKeyDown:T,focusedCellId:a,gridMap:u,selectCell:t,focusCell:q,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");require("lodash");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");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("clsx");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");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("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */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("../../../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/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:t,focusCell:q,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);t(i,r.shiftKey,r.shiftKey),q(i),y&&E(e)}}break}case"ArrowDown":{r.preventDefault();const e=u.indexToRowId.get(d+1);if(e){const i=s.getCellId(e,c);t(i,r.shiftKey,r.shiftKey),q(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);t(i,r.shiftKey,r.shiftKey),q(i)}}break}case"ArrowRight":{r.preventDefault();const e=u.indexToColId.get(I+1);if(e){const i=s.getCellId(o,e);t(i,r.shiftKey,r.shiftKey),q(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);t(n,!1,!1),q(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);t(w,!1,!1),q(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);t(w,!1,!1),q(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,t,q,x,f,p,g,y,b,D]);return h.useEffect(()=>(document.addEventListener("keydown",T),()=>{document.removeEventListener("keydown",T)}),[T,a,u,t,q,x,f,p,y,b]),{handleKeyDown:T,focusedCellId:a,gridMap:u,selectCell:t,focusCell:q,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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"}
@@ -129,6 +129,7 @@ import "../../../context/PowerpackContext.es.js";
129
129
  import "../../../context/MoveEntityContext.es.js";
130
130
  import "../../../context/MenuContext.es.js";
131
131
  import "../../../context/WebsocketContext.es.js";
132
+ import "../../../context/GlobalContext.es.js";
132
133
  import "../../../components/ReviewableCard/ReviewableCard.es.js";
133
134
  import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
134
135
  import "../../../components/FileThumbnail/FileThumbnail.es.js";
@@ -238,7 +239,7 @@ import "../widgets/EmptyWidget.es.js";
238
239
  import "../widgets/ErrorWidget.es.js";
239
240
  import "../ProjectTreeTable.styled.es.js";
240
241
  import "../widgets/LoadMoreWidget.es.js";
241
- function Ip() {
242
+ function yp() {
242
243
  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(
243
244
  (o) => {
244
245
  var E;
@@ -390,6 +391,6 @@ function Ip() {
390
391
  };
391
392
  }
392
393
  export {
393
- Ip as default
394
+ yp as default
394
395
  };
395
396
  //# 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":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),M=require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");const S=require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");const E=require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/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("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");const $=require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable.cjs.js");require("../context/CellEditingContext.cjs.js");require("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/ThumbnailSimple/ThumbnailSimple.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/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/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 F=require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");const P=({projectName:d})=>{const{movingEntities:i,isEntityPickerOpen:C,openMoveDialog:p,closeMoveDialog:m,setEntityPickerOpen:c,clearMovingEntities:h}=$.useMoveEntityContext(),[v]=E.useUpdateOverviewEntitiesMutation(),{tableData:I,getEntityById:y}=F.useProjectTableContext(),{data:{folders:g=[]}={}}=S.useGetFolderListQuery({projectName:d||"",attrib:!0},{skip:!d}),T=l.useCallback(q=>{p(q)},[p]),b=l.useCallback(()=>{m()},[m]),k=l.useCallback(async q=>{var n,o;if(!i||q.length===0)return;const s=q[0];c(!1);try{const t=i.entities.map((u,f)=>({id:`move-${u.entityId}-${Date.now()}-${f}`,type:"update",entityType:u.entityType,entityId:u.entityId,data:u.entityType==="folder"?{parentId:s}:{folderId:s}})),e=await v({projectName:d,operationsRequestModel:{operations:t}}).unwrap(),r=((n=e==null?void 0:e.operations)==null?void 0:n.filter(u=>u.success===!1))||[];if(r.length>0){const u=r.map(f=>f.detail).join(", ");throw new Error(u||"Some move operations failed")}}catch(t){console.error("Failed to move entity:",t);let e=((o=t==null?void 0:t.data)==null?void 0:o.detail)||(t==null?void 0:t.error)||(t==null?void 0:t.message)||"Failed to move entities";if(e.includes("already exists"))if(i.entities.length>1)e="Cannot move some entities - one or more entities with the same name already exist in the target location";else if(i.entities[0].entityType==="task"){const u=e.match(/name '.*?, (.+?)' already exists/);e=`Cannot move "${u?u[1]:"this task"}" - a task with this name already exists in the target folder`}else{const u=e.match(/name '.*?, (.+?)' already exists/);e=`Cannot move "${u?u[1]:"this folder"}" - a folder with this name already exists in the target location`}M.toast.error(e)}finally{h(),c(!1)}},[i,d,v,p,m,c,h]),w=l.useCallback(async()=>{var q,s;if(i){c(!1);try{const n=i.entities.map((e,r)=>({id:`move-to-root-${e.entityId}-${Date.now()}-${r}`,type:"update",entityType:e.entityType,entityId:e.entityId,data:e.entityType==="folder"?{parentId:null}:{folderId:null}})),o=await v({projectName:d,operationsRequestModel:{operations:n}}).unwrap(),t=((q=o==null?void 0:o.operations)==null?void 0:q.filter(e=>e.success===!1))||[];if(t.length>0){const e=t.map(r=>r.detail).join(", ");throw new Error(e||"Some move operations failed")}}catch(n){console.error("Failed to move entities to root:",n);let o=((s=n==null?void 0:n.data)==null?void 0:s.detail)||(n==null?void 0:n.error)||(n==null?void 0:n.message)||"Failed to move entities to root";M.toast.error(o)}finally{h(),c(!1)}}},[i,d,v,p,m,c,h]),x=l.useCallback(()=>{if(!i)return[];const q=[];return i.entities.forEach(s=>{q.push(s.entityId)}),g.forEach(s=>{i.entities.some(o=>{const t=y(o.entityId);return t!=null&&t.name?I.filter(r=>o.entityType==="folder"?r.entityType==="folder"&&r.parentId===s.id:o.entityType==="task"?r.entityType==="task"&&r.folderId===s.id:!1).some(r=>r.name===t.name&&r.entityId!==o.entityId):!1})&&q.push(s.id)}),[...new Set(q)]},[i,g,I,y]),D=l.useCallback(q=>{if(!i)return;if(i.entities.some(e=>e.entityType==="folder"&&e.entityId===q))return"Cannot move folder to itself";if(i.entities.some(e=>e.currentParentId===q))return"Cannot move to the same location";const o=g.find(e=>e.id===q);if(o){const e=i.entities.find(r=>{const u=y(r.entityId);return u!=null&&u.name?I.filter(a=>r.entityType==="folder"?a.entityType==="folder"&&a.parentId===o.id:r.entityType==="task"?a.entityType==="task"&&a.folderId===o.id:!1).some(a=>a.name===u.name&&a.entityId!==r.entityId):!1});if(e){const r=y(e.entityId);return`Cannot move "${(r==null?void 0:r.name)||"Entity"}" - an entity with the same name already exists in this folder`}}return i.entities.some(e=>e.entityType==="folder")?"Cannot move folder to its child":"Cannot move to this location"},[i,g,I,y]),O=l.useMemo(()=>(i==null?void 0:i.entities.every(q=>q.entityType==="folder"))||!1,[i]);return{movingEntities:i,isEntityPickerOpen:C,isDialogOpen:C,openMoveDialog:T,closeMoveDialog:b,handleMoveSubmit:k,handleMoveToRoot:w,getDisabledFolderIds:x,getDisabledMessage:D,canMoveToRoot:O}};exports.useMoveEntities=P;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),M=require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");const S=require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");const E=require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/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("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");const $=require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable.cjs.js");require("../context/CellEditingContext.cjs.js");require("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/ThumbnailSimple/ThumbnailSimple.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/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/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 F=require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");const P=({projectName:d})=>{const{movingEntities:i,isEntityPickerOpen:C,openMoveDialog:p,closeMoveDialog:m,setEntityPickerOpen:c,clearMovingEntities:h}=$.useMoveEntityContext(),[v]=E.useUpdateOverviewEntitiesMutation(),{tableData:I,getEntityById:y}=F.useProjectTableContext(),{data:{folders:g=[]}={}}=S.useGetFolderListQuery({projectName:d||"",attrib:!0},{skip:!d}),T=l.useCallback(q=>{p(q)},[p]),b=l.useCallback(()=>{m()},[m]),k=l.useCallback(async q=>{var n,o;if(!i||q.length===0)return;const s=q[0];c(!1);try{const t=i.entities.map((u,f)=>({id:`move-${u.entityId}-${Date.now()}-${f}`,type:"update",entityType:u.entityType,entityId:u.entityId,data:u.entityType==="folder"?{parentId:s}:{folderId:s}})),e=await v({projectName:d,operationsRequestModel:{operations:t}}).unwrap(),r=((n=e==null?void 0:e.operations)==null?void 0:n.filter(u=>u.success===!1))||[];if(r.length>0){const u=r.map(f=>f.detail).join(", ");throw new Error(u||"Some move operations failed")}}catch(t){console.error("Failed to move entity:",t);let e=((o=t==null?void 0:t.data)==null?void 0:o.detail)||(t==null?void 0:t.error)||(t==null?void 0:t.message)||"Failed to move entities";if(e.includes("already exists"))if(i.entities.length>1)e="Cannot move some entities - one or more entities with the same name already exist in the target location";else if(i.entities[0].entityType==="task"){const u=e.match(/name '.*?, (.+?)' already exists/);e=`Cannot move "${u?u[1]:"this task"}" - a task with this name already exists in the target folder`}else{const u=e.match(/name '.*?, (.+?)' already exists/);e=`Cannot move "${u?u[1]:"this folder"}" - a folder with this name already exists in the target location`}M.toast.error(e)}finally{h(),c(!1)}},[i,d,v,p,m,c,h]),w=l.useCallback(async()=>{var q,s;if(i){c(!1);try{const n=i.entities.map((e,r)=>({id:`move-to-root-${e.entityId}-${Date.now()}-${r}`,type:"update",entityType:e.entityType,entityId:e.entityId,data:e.entityType==="folder"?{parentId:null}:{folderId:null}})),o=await v({projectName:d,operationsRequestModel:{operations:n}}).unwrap(),t=((q=o==null?void 0:o.operations)==null?void 0:q.filter(e=>e.success===!1))||[];if(t.length>0){const e=t.map(r=>r.detail).join(", ");throw new Error(e||"Some move operations failed")}}catch(n){console.error("Failed to move entities to root:",n);let o=((s=n==null?void 0:n.data)==null?void 0:s.detail)||(n==null?void 0:n.error)||(n==null?void 0:n.message)||"Failed to move entities to root";M.toast.error(o)}finally{h(),c(!1)}}},[i,d,v,p,m,c,h]),x=l.useCallback(()=>{if(!i)return[];const q=[];return i.entities.forEach(s=>{q.push(s.entityId)}),g.forEach(s=>{i.entities.some(o=>{const t=y(o.entityId);return t!=null&&t.name?I.filter(r=>o.entityType==="folder"?r.entityType==="folder"&&r.parentId===s.id:o.entityType==="task"?r.entityType==="task"&&r.folderId===s.id:!1).some(r=>r.name===t.name&&r.entityId!==o.entityId):!1})&&q.push(s.id)}),[...new Set(q)]},[i,g,I,y]),D=l.useCallback(q=>{if(!i)return;if(i.entities.some(e=>e.entityType==="folder"&&e.entityId===q))return"Cannot move folder to itself";if(i.entities.some(e=>e.currentParentId===q))return"Cannot move to the same location";const o=g.find(e=>e.id===q);if(o){const e=i.entities.find(r=>{const u=y(r.entityId);return u!=null&&u.name?I.filter(a=>r.entityType==="folder"?a.entityType==="folder"&&a.parentId===o.id:r.entityType==="task"?a.entityType==="task"&&a.folderId===o.id:!1).some(a=>a.name===u.name&&a.entityId!==r.entityId):!1});if(e){const r=y(e.entityId);return`Cannot move "${(r==null?void 0:r.name)||"Entity"}" - an entity with the same name already exists in this folder`}}return i.entities.some(e=>e.entityType==="folder")?"Cannot move folder to its child":"Cannot move to this location"},[i,g,I,y]),O=l.useMemo(()=>(i==null?void 0:i.entities.every(q=>q.entityType==="folder"))||!1,[i]);return{movingEntities:i,isEntityPickerOpen:C,isDialogOpen:C,openMoveDialog:T,closeMoveDialog:b,handleMoveSubmit:k,handleMoveToRoot:w,getDisabledFolderIds:x,getDisabledMessage:D,canMoveToRoot:O}};exports.useMoveEntities=P;
2
2
  //# sourceMappingURL=useMoveEntities.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMoveEntities.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useMoveEntities.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport {\n OperationModel,\n OperationResponseModel,\n useUpdateOverviewEntitiesMutation,\n useGetFolderListQuery,\n} from '@shared/api'\nimport { useProjectTableContext } from '@shared/containers'\nimport {\n useMoveEntityContext,\n EntityMoveData,\n MultiEntityMoveData,\n} from '@shared/context/MoveEntityContext'\n\nexport type EntityType = 'folder' | 'task'\n\ninterface UseMoveEntitiesProps {\n projectName: string\n}\n\nexport const useMoveEntities = ({ projectName }: UseMoveEntitiesProps) => {\n const {\n movingEntities,\n isEntityPickerOpen,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n } = useMoveEntityContext()\n const [updateOverviewEntities] = useUpdateOverviewEntitiesMutation()\n\n // Get project context for entity data\n const { tableData, getEntityById } = useProjectTableContext()\n\n // Get folder data to check hasVersions property\n const { data: { folders = [] } = {} } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n // Action dispatchers\n const openMoveDialogHandler = useCallback(\n (entityData: EntityMoveData | MultiEntityMoveData) => {\n openMoveDialog(entityData)\n },\n [openMoveDialog],\n )\n\n const closeMoveDialogHandler = useCallback(() => {\n closeMoveDialog()\n }, [closeMoveDialog])\n\n // Move submit handler\n const handleMoveSubmit = useCallback(\n async (selectedFolderIds: string[]) => {\n if (!movingEntities || selectedFolderIds.length === 0) return\n\n const targetFolderId = selectedFolderIds[0]\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data:\n entity.entityType === 'folder'\n ? { parentId: targetFolderId }\n : { folderId: targetFolderId },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entity:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities'\n\n // Improve specific error messages for better UX\n if (errorMessage.includes('already exists')) {\n // For multiple entities, provide a more general message\n if (movingEntities.entities.length > 1) {\n errorMessage = `Cannot move some entities - one or more entities with the same name already exist in the target location`\n } else {\n const entity = movingEntities.entities[0]\n if (entity.entityType === 'task') {\n // Extract task name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const taskName = nameMatch ? nameMatch[1] : 'this task'\n errorMessage = `Cannot move \"${taskName}\" - a task with this name already exists in the target folder`\n } else {\n // Extract folder name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const folderName = nameMatch ? nameMatch[1] : 'this folder'\n errorMessage = `Cannot move \"${folderName}\" - a folder with this name already exists in the target location`\n }\n }\n }\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n },\n [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ],\n )\n\n // Move to root handler\n const handleMoveToRoot = useCallback(async () => {\n if (!movingEntities) return\n\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities to move to root (null parentId/folderId)\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-to-root-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data: entity.entityType === 'folder' ? { parentId: null } : { folderId: null },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entities to root:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities to root'\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n }, [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ])\n\n // Get disabled folder IDs\n const getDisabledFolderIds = useCallback((): string[] => {\n if (!movingEntities) return []\n const disabledIds: string[] = []\n\n // Add the entities being moved themselves to prevent moving to themselves\n movingEntities.entities.forEach((entity: EntityMoveData) => {\n disabledIds.push(entity.entityId)\n })\n\n // Add folders where name conflicts would occur\n folders.forEach((targetFolder) => {\n // Check if any moving entity has the same name as existing children in this folder\n const hasNameConflict = movingEntities.entities.some((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (hasNameConflict) {\n disabledIds.push(targetFolder.id)\n }\n })\n\n return [...new Set(disabledIds)]\n }, [movingEntities, folders, tableData, getEntityById])\n\n // Get disabled message for a folder\n const getDisabledMessage = useCallback(\n (folderId: string): string | undefined => {\n if (!movingEntities) return undefined\n\n // 1. Check if this folder is the entity being moved itself.\n const isEntityItself = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder' && entity.entityId === folderId,\n )\n\n if (isEntityItself) {\n return 'Cannot move folder to itself'\n }\n\n // 2. Check if this is the current parent folder.\n const isCurrentParent = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.currentParentId === folderId,\n )\n\n if (isCurrentParent) {\n return 'Cannot move to the same location'\n }\n\n // 4. Check for name conflicts - entity with same name already exists in target folder\n const targetFolder = folders.find((folder) => folder.id === folderId)\n if (targetFolder) {\n const conflictingEntity = movingEntities.entities.find((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (conflictingEntity) {\n const entityData = getEntityById(conflictingEntity.entityId)\n const entityName = entityData?.name || 'Entity'\n return `Cannot move \"${entityName}\" - an entity with the same name already exists in this folder`\n }\n }\n\n // 5. Check if the target is a child folder (simplified check)\n const isChildFolder = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder',\n )\n\n if (isChildFolder) {\n return 'Cannot move folder to its child'\n }\n\n // Default message\n return 'Cannot move to this location'\n },\n [movingEntities, folders, tableData, getEntityById],\n )\n\n // Check if we can show \"Move to root\" option\n const canMoveToRoot = useMemo(() => {\n return (\n movingEntities?.entities.every((entity: EntityMoveData) => entity.entityType === 'folder') ||\n false\n )\n }, [movingEntities])\n\n return {\n // State\n movingEntities,\n isEntityPickerOpen,\n\n // Actions (keeping legacy names for compatibility)\n isDialogOpen: isEntityPickerOpen,\n openMoveDialog: openMoveDialogHandler,\n closeMoveDialog: closeMoveDialogHandler,\n handleMoveSubmit,\n handleMoveToRoot,\n getDisabledFolderIds,\n getDisabledMessage,\n canMoveToRoot,\n }\n}\n"],"names":["useMoveEntities","projectName","movingEntities","isEntityPickerOpen","openMoveDialog","closeMoveDialog","setEntityPickerOpen","clearMovingEntities","useMoveEntityContext","updateOverviewEntities","useUpdateOverviewEntitiesMutation","tableData","getEntityById","useProjectTableContext","folders","useGetFolderListQuery","openMoveDialogHandler","useCallback","entityData","closeMoveDialogHandler","handleMoveSubmit","selectedFolderIds","targetFolderId","moveOperations","entity","index","result","failedOperations","_a","op","errorDetails","error","errorMessage","_b","nameMatch","toast","handleMoveToRoot","getDisabledFolderIds","disabledIds","targetFolder","movingEntity","movingEntityData","sibling","getDisabledMessage","folderId","folder","conflictingEntity","canMoveToRoot","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"useMoveEntities.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useMoveEntities.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport {\n OperationModel,\n OperationResponseModel,\n useUpdateOverviewEntitiesMutation,\n useGetFolderListQuery,\n} from '@shared/api'\nimport { useProjectTableContext } from '@shared/containers'\nimport {\n useMoveEntityContext,\n EntityMoveData,\n MultiEntityMoveData,\n} from '@shared/context/MoveEntityContext'\n\nexport type EntityType = 'folder' | 'task'\n\ninterface UseMoveEntitiesProps {\n projectName: string\n}\n\nexport const useMoveEntities = ({ projectName }: UseMoveEntitiesProps) => {\n const {\n movingEntities,\n isEntityPickerOpen,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n } = useMoveEntityContext()\n const [updateOverviewEntities] = useUpdateOverviewEntitiesMutation()\n\n // Get project context for entity data\n const { tableData, getEntityById } = useProjectTableContext()\n\n // Get folder data to check hasVersions property\n const { data: { folders = [] } = {} } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n // Action dispatchers\n const openMoveDialogHandler = useCallback(\n (entityData: EntityMoveData | MultiEntityMoveData) => {\n openMoveDialog(entityData)\n },\n [openMoveDialog],\n )\n\n const closeMoveDialogHandler = useCallback(() => {\n closeMoveDialog()\n }, [closeMoveDialog])\n\n // Move submit handler\n const handleMoveSubmit = useCallback(\n async (selectedFolderIds: string[]) => {\n if (!movingEntities || selectedFolderIds.length === 0) return\n\n const targetFolderId = selectedFolderIds[0]\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data:\n entity.entityType === 'folder'\n ? { parentId: targetFolderId }\n : { folderId: targetFolderId },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entity:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities'\n\n // Improve specific error messages for better UX\n if (errorMessage.includes('already exists')) {\n // For multiple entities, provide a more general message\n if (movingEntities.entities.length > 1) {\n errorMessage = `Cannot move some entities - one or more entities with the same name already exist in the target location`\n } else {\n const entity = movingEntities.entities[0]\n if (entity.entityType === 'task') {\n // Extract task name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const taskName = nameMatch ? nameMatch[1] : 'this task'\n errorMessage = `Cannot move \"${taskName}\" - a task with this name already exists in the target folder`\n } else {\n // Extract folder name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const folderName = nameMatch ? nameMatch[1] : 'this folder'\n errorMessage = `Cannot move \"${folderName}\" - a folder with this name already exists in the target location`\n }\n }\n }\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n },\n [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ],\n )\n\n // Move to root handler\n const handleMoveToRoot = useCallback(async () => {\n if (!movingEntities) return\n\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities to move to root (null parentId/folderId)\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-to-root-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data: entity.entityType === 'folder' ? { parentId: null } : { folderId: null },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entities to root:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities to root'\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n }, [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ])\n\n // Get disabled folder IDs\n const getDisabledFolderIds = useCallback((): string[] => {\n if (!movingEntities) return []\n const disabledIds: string[] = []\n\n // Add the entities being moved themselves to prevent moving to themselves\n movingEntities.entities.forEach((entity: EntityMoveData) => {\n disabledIds.push(entity.entityId)\n })\n\n // Add folders where name conflicts would occur\n folders.forEach((targetFolder) => {\n // Check if any moving entity has the same name as existing children in this folder\n const hasNameConflict = movingEntities.entities.some((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (hasNameConflict) {\n disabledIds.push(targetFolder.id)\n }\n })\n\n return [...new Set(disabledIds)]\n }, [movingEntities, folders, tableData, getEntityById])\n\n // Get disabled message for a folder\n const getDisabledMessage = useCallback(\n (folderId: string): string | undefined => {\n if (!movingEntities) return undefined\n\n // 1. Check if this folder is the entity being moved itself.\n const isEntityItself = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder' && entity.entityId === folderId,\n )\n\n if (isEntityItself) {\n return 'Cannot move folder to itself'\n }\n\n // 2. Check if this is the current parent folder.\n const isCurrentParent = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.currentParentId === folderId,\n )\n\n if (isCurrentParent) {\n return 'Cannot move to the same location'\n }\n\n // 4. Check for name conflicts - entity with same name already exists in target folder\n const targetFolder = folders.find((folder) => folder.id === folderId)\n if (targetFolder) {\n const conflictingEntity = movingEntities.entities.find((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (conflictingEntity) {\n const entityData = getEntityById(conflictingEntity.entityId)\n const entityName = entityData?.name || 'Entity'\n return `Cannot move \"${entityName}\" - an entity with the same name already exists in this folder`\n }\n }\n\n // 5. Check if the target is a child folder (simplified check)\n const isChildFolder = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder',\n )\n\n if (isChildFolder) {\n return 'Cannot move folder to its child'\n }\n\n // Default message\n return 'Cannot move to this location'\n },\n [movingEntities, folders, tableData, getEntityById],\n )\n\n // Check if we can show \"Move to root\" option\n const canMoveToRoot = useMemo(() => {\n return (\n movingEntities?.entities.every((entity: EntityMoveData) => entity.entityType === 'folder') ||\n false\n )\n }, [movingEntities])\n\n return {\n // State\n movingEntities,\n isEntityPickerOpen,\n\n // Actions (keeping legacy names for compatibility)\n isDialogOpen: isEntityPickerOpen,\n openMoveDialog: openMoveDialogHandler,\n closeMoveDialog: closeMoveDialogHandler,\n handleMoveSubmit,\n handleMoveToRoot,\n getDisabledFolderIds,\n getDisabledMessage,\n canMoveToRoot,\n }\n}\n"],"names":["useMoveEntities","projectName","movingEntities","isEntityPickerOpen","openMoveDialog","closeMoveDialog","setEntityPickerOpen","clearMovingEntities","useMoveEntityContext","updateOverviewEntities","useUpdateOverviewEntitiesMutation","tableData","getEntityById","useProjectTableContext","folders","useGetFolderListQuery","openMoveDialogHandler","useCallback","entityData","closeMoveDialogHandler","handleMoveSubmit","selectedFolderIds","targetFolderId","moveOperations","entity","index","result","failedOperations","_a","op","errorDetails","error","errorMessage","_b","nameMatch","toast","handleMoveToRoot","getDisabledFolderIds","disabledIds","targetFolder","movingEntity","movingEntityData","sibling","getDisabledMessage","folderId","folder","conflictingEntity","canMoveToRoot","useMemo"],"mappings":"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"}
@@ -117,6 +117,7 @@ import "../../../context/PowerpackContext.es.js";
117
117
  import { useMoveEntityContext as P } from "../../../context/MoveEntityContext.es.js";
118
118
  import "../../../context/MenuContext.es.js";
119
119
  import "../../../context/WebsocketContext.es.js";
120
+ import "../../../context/GlobalContext.es.js";
120
121
  import "../../Feed/components/CommentInput/quillToMarkdown.es.js";
121
122
  import "../../Feed/components/ActivityComment/ActivityComment.styled.es.js";
122
123
  import "../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.es.js";
@@ -235,7 +236,7 @@ import "../../Views/context/ViewsContext.es.js";
235
236
  import "../../Views/Views.styled.es.js";
236
237
  import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
237
238
  import "../../Views/ViewsMenu/ViewsMenu.es.js";
238
- const re = ({ projectName: l }) => {
239
+ const ee = ({ projectName: l }) => {
239
240
  const {
240
241
  movingEntities: o,
241
242
  isEntityPickerOpen: T,
@@ -403,6 +404,6 @@ const re = ({ projectName: l }) => {
403
404
  };
404
405
  };
405
406
  export {
406
- re as useMoveEntities
407
+ ee as useMoveEntities
407
408
  };
408
409
  //# sourceMappingURL=useMoveEntities.es.js.map