@ynput/ayon-frontend-shared 0.2.45 → 0.3.1

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 (411) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +72 -65
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +104 -102
  6. package/dist/Slicer.cjs.js +1 -1
  7. package/dist/Slicer.es.js +113 -4
  8. package/dist/Slicer.es.js.map +1 -1
  9. package/dist/Views.cjs.js.map +1 -1
  10. package/dist/Views.es.js.map +1 -1
  11. package/dist/_virtual/index.cjs4.js +1 -1
  12. package/dist/_virtual/index.cjs5.js +1 -1
  13. package/dist/_virtual/index.es4.js +2 -5
  14. package/dist/_virtual/index.es4.js.map +1 -1
  15. package/dist/_virtual/index.es5.js +5 -2
  16. package/dist/_virtual/index.es5.js.map +1 -1
  17. package/dist/components.cjs.js +1 -1
  18. package/dist/components.es.js +141 -139
  19. package/dist/components.es.js.map +1 -1
  20. package/dist/index.cjs.js +1 -1
  21. package/dist/index.es.js +61 -54
  22. package/dist/index.es.js.map +1 -1
  23. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js +5 -5
  24. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js.map +1 -1
  25. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js +313 -305
  26. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js.map +1 -1
  27. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  28. package/dist/node_modules/remove-accents/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/queries/overview/getOverview.cjs.js +1 -1
  36. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  37. package/dist/shared/src/api/queries/overview/getOverview.es.js +95 -95
  38. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  39. package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
  40. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  41. package/dist/shared/src/api/queries/views/updateViews.es.js +1 -1
  42. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  43. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  44. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  45. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +57 -50
  46. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  47. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  48. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  49. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +45 -38
  50. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  51. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  52. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  53. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +47 -40
  54. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  55. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  56. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  57. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +49 -42
  58. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  59. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  60. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  61. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +44 -37
  62. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  63. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  64. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  65. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +48 -41
  66. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  67. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +2 -0
  68. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -0
  69. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +282 -0
  70. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
  71. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  72. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  73. package/dist/shared/src/components/RenameForm/RenameForm.es.js +48 -41
  74. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  75. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  76. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  77. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +64 -57
  78. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  79. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  80. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  81. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +54 -47
  82. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  83. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  84. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  85. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +53 -46
  86. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  87. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  88. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  89. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +42 -41
  90. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  91. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  92. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  93. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +52 -45
  94. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  95. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +2 -2
  96. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  97. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +56 -49
  98. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  99. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  100. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  101. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +53 -46
  102. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  103. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  104. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  105. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +54 -47
  106. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  107. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  108. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  109. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +93 -86
  110. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  111. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  112. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  113. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +49 -42
  114. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  115. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  116. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  117. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +68 -61
  118. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  119. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  120. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  121. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +93 -86
  122. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  123. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  124. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  125. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +47 -40
  126. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  127. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  128. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  129. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +46 -43
  130. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  131. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  132. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  133. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +49 -46
  134. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  135. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  136. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  137. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +49 -46
  138. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  139. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  140. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  141. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +49 -46
  142. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  143. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  144. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  145. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +50 -42
  146. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  147. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  148. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  149. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +55 -48
  150. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  151. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  152. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  153. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +70 -63
  154. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  155. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  156. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  157. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +47 -40
  158. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  159. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  160. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  161. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +483 -462
  162. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  163. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  164. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  165. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +105 -98
  166. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  167. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  168. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  169. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +47 -40
  170. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  171. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  172. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  173. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +57 -50
  174. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  175. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  176. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  177. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +54 -47
  178. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  179. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
  180. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  181. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +142 -146
  182. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  183. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  184. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  185. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  186. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  187. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +63 -68
  188. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  189. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  190. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  191. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +49 -41
  192. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  193. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  194. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  195. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +74 -67
  196. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  197. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  198. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  199. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +48 -41
  200. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  201. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  202. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +55 -48
  204. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  206. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  207. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +54 -47
  208. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  209. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  210. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +51 -44
  212. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  213. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  214. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +141 -132
  216. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  218. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  219. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +51 -44
  220. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  222. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +51 -44
  224. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  226. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +54 -47
  228. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  230. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +46 -39
  232. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  233. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  234. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +46 -39
  236. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  238. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +81 -67
  240. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  242. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +62 -55
  244. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js +1 -1
  246. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js.map +1 -1
  247. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js +11 -6
  248. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js.map +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
  250. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +16 -13
  252. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  254. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +342 -116
  256. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js +2 -2
  258. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js.map +1 -1
  259. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js +47 -40
  260. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js.map +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
  262. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +7 -7
  264. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +69 -62
  268. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  270. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  271. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +51 -44
  272. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +2 -2
  274. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +29 -33
  276. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  277. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  278. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +118 -111
  280. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  281. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  282. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +49 -46
  284. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  285. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -0
  286. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -0
  287. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +82 -0
  288. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -0
  289. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +27 -0
  290. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -0
  291. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +71 -0
  292. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -0
  293. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +10 -0
  294. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -0
  295. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +294 -0
  296. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -0
  297. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +2 -0
  298. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -0
  299. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +215 -0
  300. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -0
  301. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.cjs.js.map +1 -0
  302. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.es.js.map +1 -0
  303. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +2 -0
  304. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -0
  305. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +25 -0
  306. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -0
  307. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +2 -0
  308. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -0
  309. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +28 -0
  310. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -0
  311. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +2 -0
  312. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -0
  313. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +304 -0
  314. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -0
  315. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +2 -0
  316. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -0
  317. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +99 -0
  318. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -0
  319. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -0
  320. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -0
  321. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  322. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +95 -88
  324. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  325. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  326. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +32 -31
  328. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  329. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  330. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +125 -121
  332. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  333. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  334. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +47 -49
  336. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  337. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  338. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +6 -5
  340. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  341. package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
  342. package/dist/shared/src/context/AddonContext.es.js.map +1 -1
  343. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  344. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  345. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  346. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  347. package/dist/shared/src/context/ProjectFoldersContext.es.js +62 -49
  348. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  349. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  350. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  351. package/dist/shared/src/context/WebsocketContext.es.js +51 -44
  352. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  353. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  354. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  355. package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
  356. package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
  357. package/dist/shared/src/hooks/useLoadModules.es.js +7 -7
  358. package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
  359. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  360. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  361. package/dist/shared/src/util/columnConfigConverter.es.js +69 -46
  362. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  363. package/dist/shared/src/util/getGroupByDataType.cjs.js +1 -1
  364. package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
  365. package/dist/shared/src/util/getGroupByDataType.es.js +4 -4
  366. package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
  367. package/dist/types/api/queries/activities/getActivities.d.ts +1 -1
  368. package/dist/types/api/queries/entityLists/getLists.d.ts +183 -183
  369. package/dist/types/api/queries/links/getLinks.d.ts +1 -1
  370. package/dist/types/api/queries/overview/getOverview.d.ts +2 -1
  371. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +2 -2
  372. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +29 -0
  373. package/dist/types/components/RemotePage/index.d.ts +1 -0
  374. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -0
  375. package/dist/types/components/index.d.ts +31 -30
  376. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -2
  377. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -4
  378. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +2 -1
  379. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +4 -1
  380. package/dist/types/containers/ProjectTreeTable/utils/restrictedEntity.d.ts +3 -3
  381. package/dist/types/containers/Slicer/components/Slicer.d.ts +9 -0
  382. package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +7 -0
  383. package/dist/types/containers/Slicer/components/SlicerSearch.d.ts +6 -0
  384. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +48 -0
  385. package/dist/types/containers/Slicer/hooks/index.d.ts +5 -0
  386. package/dist/types/containers/Slicer/{useFiltersWithHierarchy.d.ts → hooks/useFiltersWithHierarchy.d.ts} +1 -1
  387. package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +51 -0
  388. package/dist/types/containers/Slicer/hooks/useSlicerAttributesData.d.ts +7 -0
  389. package/dist/types/containers/Slicer/hooks/useTableDataBySlice.d.ts +8 -0
  390. package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +10 -0
  391. package/dist/types/containers/Slicer/index.d.ts +4 -2
  392. package/dist/types/containers/Slicer/types.d.ts +35 -0
  393. package/dist/types/containers/Slicer/{createFilterFromSlicer.d.ts → util/createFilterFromSlicer.d.ts} +2 -2
  394. package/dist/types/containers/Slicer/util/index.d.ts +1 -0
  395. package/dist/types/containers/Views/ViewsMenuContainer/BaseViewsTags.d.ts +4 -1
  396. package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +7 -1
  397. package/dist/types/containers/Views/index.d.ts +1 -1
  398. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +1 -1
  399. package/dist/types/context/AddonContext.d.ts +10 -1
  400. package/dist/types/context/AddonProjectContext.d.ts +7 -12
  401. package/dist/types/context/ProjectFoldersContext.d.ts +1 -0
  402. package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
  403. package/package.json +1 -1
  404. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js.map +0 -1
  405. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js.map +0 -1
  406. package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.cjs.js.map +0 -1
  407. package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.es.js.map +0 -1
  408. /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.cjs.js → hooks/useFiltersWithHierarchy.cjs.js} +0 -0
  409. /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.es.js → hooks/useFiltersWithHierarchy.es.js} +0 -0
  410. /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.cjs.js → util/createFilterFromSlicer.cjs.js} +0 -0
  411. /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.es.js → util/createFilterFromSlicer.es.js} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";const w=require("react");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");const M=require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");const o=require("../../../components/LinksManager/utils/linkUpdates.cjs.js"),N=require("../context/ProjectTableContext.cjs.js");require("lodash");const A=require("react-toastify"),x=require("../../../util/getEntityId.cjs.js");require("../../../util/pubsub.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const R=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../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("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("date-fns");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");const S=require("../context/CellEditingContext.cjs.js");require("short-uuid");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("uuid");const $=D=>{const{projectName:b}=R.useProjectContext(),{getEntityById:L}=N.useProjectTableContext(),s=b,{history:I}=S.useCellEditing(),[f]=M.useDeleteEntityLinkMutation(),[g]=M.useCreateEntityLinkMutation();return{pasteTableLinks:w.useCallback(async P=>{if(!s||!P.length)return;const c=new Map;for(const i of P){const u=`${i.sourceEntityId}-${i.linkType}-${i.direction}`;c.has(u)||c.set(u,[]),c.get(u).push(i)}const k=[],a=[],d=[];for(const[,i]of c){const{sourceEntityId:u}=i[0],n=new Set;if(i.forEach(q=>q.targetEntityIds.forEach(e=>n.add(e))),n.has(u)){A.toast.error("You can't link an entity to itself");return}}for(const[i,u]of c){const n=u[0],{sourceEntityId:q,sourceEntityType:e,linkType:y,direction:p,targetEntityType:h,operation:j}=n,m=new Set;u.forEach(r=>{r.targetEntityIds.forEach(t=>m.add(t))});const l=[],T=[],C=L(q);if(!C){console.warn(`Entity not found: ${q}`);continue}const E=C.links;if(j==="replace"){if(Array.isArray(E))for(const r of E)r.entityType===h&&r.direction===p&&r.linkType===y.split("|")[0]&&T.push({id:r.id,target:{entityId:r.node.id,entityType:r.entityType},source:{entityId:q,entityType:e},linkType:y,direction:p,projectName:s});for(const r of m){const t=x.getEntityId();l.push({targetEntityId:r,linkId:t,sourceEntityId:q,sourceEntityType:e,targetEntityType:h,linkType:y,direction:p,projectName:s})}}else if(j==="merge"){const r=new Set;Array.isArray(E)&&E.forEach(t=>{t.entityType===h&&t.direction===p&&t.linkType===y&&r.add(t.node.id)}),console.log(r);for(const t of m)if(!r.has(t)){const v=x.getEntityId();l.push({targetEntityId:t,linkId:v,sourceEntityId:q,sourceEntityType:e,targetEntityType:h,linkType:y,direction:p,projectName:s})}}T.length>0&&(k.push(o.removeMultipleLinks(T,f)),d.push(...T)),l.length>0&&(k.push(o.addMultipleLinks(l,g)),a.push(...l))}try{if(await Promise.all(k),I&&(a.length>0||d.length>0)){const i=a.map(e=>({id:e.linkId,projectName:e.projectName,linkType:e.linkType,direction:e.direction,target:{entityId:e.targetEntityId,entityType:e.targetEntityType},source:{entityId:e.sourceEntityId,entityType:e.sourceEntityType}})),u=d.map(e=>({targetEntityId:e.target.entityId,linkId:e.id,sourceEntityId:e.source.entityId,sourceEntityType:e.source.entityType,targetEntityType:e.target.entityType,linkType:e.linkType,direction:e.direction,projectName:e.projectName})),n=()=>{const e=[];i.length&&e.push(o.removeMultipleLinks(i,f)),u.length&&e.push(o.addMultipleLinks(u,g)),e.length&&Promise.all(e).catch(()=>{})},q=()=>{const e=[];d.length&&e.push(o.removeMultipleLinks(d,f)),a.length&&e.push(o.addMultipleLinks(a,g)),e.length&&Promise.all(e).catch(()=>{})};I.pushHistory([n],[q])}}catch(i){throw i}},[s,L,f,g,I])}};module.exports=$;
1
+ "use strict";const w=require("react");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");const M=require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");const o=require("../../../components/LinksManager/utils/linkUpdates.cjs.js"),N=require("../context/ProjectTableContext.cjs.js");require("lodash");const A=require("react-toastify"),x=require("../../../util/getEntityId.cjs.js");require("../../../util/pubsub.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const R=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../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("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.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/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("date-fns");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/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");const S=require("../context/CellEditingContext.cjs.js");require("short-uuid");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../Slicer/components/SlicerSearch.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("uuid");const $=D=>{const{projectName:b}=R.useProjectContext(),{getEntityById:L}=N.useProjectTableContext(),s=b,{history:I}=S.useCellEditing(),[f]=M.useDeleteEntityLinkMutation(),[g]=M.useCreateEntityLinkMutation();return{pasteTableLinks:w.useCallback(async P=>{if(!s||!P.length)return;const c=new Map;for(const i of P){const u=`${i.sourceEntityId}-${i.linkType}-${i.direction}`;c.has(u)||c.set(u,[]),c.get(u).push(i)}const k=[],a=[],d=[];for(const[,i]of c){const{sourceEntityId:u}=i[0],n=new Set;if(i.forEach(q=>q.targetEntityIds.forEach(e=>n.add(e))),n.has(u)){A.toast.error("You can't link an entity to itself");return}}for(const[i,u]of c){const n=u[0],{sourceEntityId:q,sourceEntityType:e,linkType:y,direction:p,targetEntityType:h,operation:j}=n,m=new Set;u.forEach(r=>{r.targetEntityIds.forEach(t=>m.add(t))});const l=[],T=[],C=L(q);if(!C){console.warn(`Entity not found: ${q}`);continue}const E=C.links;if(j==="replace"){if(Array.isArray(E))for(const r of E)r.entityType===h&&r.direction===p&&r.linkType===y.split("|")[0]&&T.push({id:r.id,target:{entityId:r.node.id,entityType:r.entityType},source:{entityId:q,entityType:e},linkType:y,direction:p,projectName:s});for(const r of m){const t=x.getEntityId();l.push({targetEntityId:r,linkId:t,sourceEntityId:q,sourceEntityType:e,targetEntityType:h,linkType:y,direction:p,projectName:s})}}else if(j==="merge"){const r=new Set;Array.isArray(E)&&E.forEach(t=>{t.entityType===h&&t.direction===p&&t.linkType===y&&r.add(t.node.id)}),console.log(r);for(const t of m)if(!r.has(t)){const v=x.getEntityId();l.push({targetEntityId:t,linkId:v,sourceEntityId:q,sourceEntityType:e,targetEntityType:h,linkType:y,direction:p,projectName:s})}}T.length>0&&(k.push(o.removeMultipleLinks(T,f)),d.push(...T)),l.length>0&&(k.push(o.addMultipleLinks(l,g)),a.push(...l))}try{if(await Promise.all(k),I&&(a.length>0||d.length>0)){const i=a.map(e=>({id:e.linkId,projectName:e.projectName,linkType:e.linkType,direction:e.direction,target:{entityId:e.targetEntityId,entityType:e.targetEntityType},source:{entityId:e.sourceEntityId,entityType:e.sourceEntityType}})),u=d.map(e=>({targetEntityId:e.target.entityId,linkId:e.id,sourceEntityId:e.source.entityId,sourceEntityType:e.source.entityType,targetEntityType:e.target.entityType,linkType:e.linkType,direction:e.direction,projectName:e.projectName})),n=()=>{const e=[];i.length&&e.push(o.removeMultipleLinks(i,f)),u.length&&e.push(o.addMultipleLinks(u,g)),e.length&&Promise.all(e).catch(()=>{})},q=()=>{const e=[];d.length&&e.push(o.removeMultipleLinks(d,f)),a.length&&e.push(o.addMultipleLinks(a,g)),e.length&&Promise.all(e).catch(()=>{})};I.pushHistory([n],[q])}}catch(i){throw i}},[s,L,f,g,I])}};module.exports=$;
2
2
  //# sourceMappingURL=usePasteLinks.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePasteLinks.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/usePasteLinks.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '@shared/components/LinksManager/utils/linkUpdates'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { getEntityId } from '@shared/util'\nimport { PasteMethod } from '../context'\nimport { useCellEditing } from '@shared/containers'\nimport { toast } from 'react-toastify'\nimport { useProjectContext } from '@shared/context'\n\n/**\n * Represents a link update operation for table links\n */\nexport type LinkUpdate = {\n /** Row ID in the table */\n rowId: string\n /** ID of the source entity (the entity that will have links) */\n sourceEntityId: string\n /** Type of the source entity (e.g., 'folder', 'task') */\n sourceEntityType: string\n /** Type of link (e.g., 'workflow', 'dependency') */\n linkType: string\n /** Direction of the link from source entity perspective */\n direction: 'in' | 'out'\n /** Type of the target entities that will be linked */\n targetEntityType: string\n /**\n * Operation type:\n * - 'replace': Remove all existing links of this type and add new ones\n * - 'merge': Keep existing links and add new ones (skip duplicates)\n */\n operation: PasteMethod\n /** Array of target entity IDs to link to */\n targetEntityIds: string[]\n}\n\nexport type PasteTableLinks = (linkUpdates: LinkUpdate[]) => Promise<void>\n\ninterface usePasteLinksProps {\n projectName?: string\n}\n\nconst usePasteLinks = (props?: usePasteLinksProps) => {\n const { projectName: contextProjectName } = useProjectContext()\n const { getEntityById } = useProjectTableContext()\n const projectName = props?.projectName || contextProjectName\n const { history } = useCellEditing()\n\n // Add mutation hooks for link operations\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // Handle link updates using the utility functions\n const pasteTableLinks = useCallback<PasteTableLinks>(\n async (linkUpdates: LinkUpdate[]) => {\n if (!projectName || !linkUpdates.length) return\n\n // Group operations by entity and link type for processing\n const operationsToProcess = new Map<string, LinkUpdate[]>()\n\n for (const update of linkUpdates) {\n const key = `${update.sourceEntityId}-${update.linkType}-${update.direction}`\n if (!operationsToProcess.has(key)) {\n operationsToProcess.set(key, [])\n }\n operationsToProcess.get(key)!.push(update)\n }\n\n const updatePromises: Promise<void>[] = []\n // Collect all adds/removes across all operations to build a single history entry\n const addedInPaste: LinkToAdd[] = []\n const removedInPaste: LinkToRemove[] = []\n\n // Pre-flight validation: detect any self-referential links across the whole paste\n for (const [, updates] of operationsToProcess) {\n const { sourceEntityId } = updates[0]\n const targets = new Set<string>()\n updates.forEach((u) => u.targetEntityIds.forEach((id) => targets.add(id)))\n if (targets.has(sourceEntityId)) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n }\n // Process each unique entity-linkType-direction combination\n for (const [key, updates] of operationsToProcess) {\n const firstUpdate = updates[0]\n const {\n sourceEntityId,\n sourceEntityType,\n linkType,\n direction,\n targetEntityType,\n operation,\n } = firstUpdate\n\n // Collect all target entity IDs from all updates for this combination\n const allTargetEntityIds = new Set<string>()\n updates.forEach((update) => {\n update.targetEntityIds.forEach((id) => allTargetEntityIds.add(id))\n })\n\n const linksToAdd: LinkToAdd[] = []\n const linksToRemove: LinkToRemove[] = []\n\n // Get current links for this entity and link type\n const entityData = getEntityById(sourceEntityId)\n if (!entityData) {\n console.warn(`Entity not found: ${sourceEntityId}`)\n continue\n }\n\n // Get current links for this link type and direction\n const currentLinks = entityData.links\n\n if (operation === 'replace') {\n // Remove all current links of this (linkType + direction + targetEntityType) only.\n if (Array.isArray(currentLinks)) {\n for (const link of currentLinks) {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType.split('|')[0]\n ) {\n linksToRemove.push({\n id: link.id,\n target: {\n entityId: link.node.id,\n entityType: link.entityType,\n },\n source: { entityId: sourceEntityId, entityType: sourceEntityType },\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n // Add all new links\n for (const targetEntityId of allTargetEntityIds) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n } else if (operation === 'merge') {\n // Get existing target entity IDs for this (linkType + direction + targetEntityType)\n const existingTargetIds = new Set<string>()\n if (Array.isArray(currentLinks)) {\n currentLinks.forEach((link) => {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType\n ) {\n existingTargetIds.add(link.node.id)\n }\n })\n }\n\n console.log(existingTargetIds)\n\n // Only add links that don't already exist\n for (const targetEntityId of allTargetEntityIds) {\n if (!existingTargetIds.has(targetEntityId)) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n if (linksToRemove.length > 0) {\n updatePromises.push(removeMultipleLinks(linksToRemove, deleteLink))\n removedInPaste.push(...linksToRemove)\n }\n if (linksToAdd.length > 0) {\n updatePromises.push(addMultipleLinks(linksToAdd, addLink))\n addedInPaste.push(...linksToAdd)\n }\n }\n try {\n // Execute all link operations in parallel\n await Promise.all(updatePromises)\n\n // Push a single history entry that undoes BOTH: remove added links and re-add removed links\n if (history && (addedInPaste.length > 0 || removedInPaste.length > 0)) {\n // Prepare inverse operations for undo\n const addedToRemove: LinkToRemove[] = addedInPaste.map((link) => ({\n id: link.linkId,\n projectName: link.projectName,\n linkType: link.linkType,\n direction: link.direction,\n target: { entityId: link.targetEntityId, entityType: link.targetEntityType },\n source: { entityId: link.sourceEntityId, entityType: link.sourceEntityType },\n }))\n\n const removedToAdd: LinkToAdd[] = removedInPaste.map((link) => ({\n targetEntityId: link.target.entityId,\n linkId: link.id,\n sourceEntityId: link.source.entityId,\n sourceEntityType: link.source.entityType,\n targetEntityType: link.target.entityType,\n linkType: link.linkType,\n direction: link.direction,\n projectName: link.projectName,\n }))\n\n // Single callbacks to keep history atomic\n const undoCallback = () => {\n const tasks: Promise<void>[] = []\n if (addedToRemove.length) tasks.push(removeMultipleLinks(addedToRemove, deleteLink))\n if (removedToAdd.length) tasks.push(addMultipleLinks(removedToAdd, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n const redoCallback = () => {\n const tasks: Promise<void>[] = []\n if (removedInPaste.length) tasks.push(removeMultipleLinks(removedInPaste, deleteLink))\n if (addedInPaste.length) tasks.push(addMultipleLinks(addedInPaste, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n history.pushHistory([undoCallback], [redoCallback])\n }\n } catch (error) {\n throw error\n }\n },\n [projectName, getEntityById, deleteLink, addLink, history],\n )\n\n return { pasteTableLinks }\n}\n\nexport default usePasteLinks\n"],"names":["usePasteLinks","props","contextProjectName","useProjectContext","getEntityById","useProjectTableContext","projectName","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","useCallback","linkUpdates","operationsToProcess","update","key","updatePromises","addedInPaste","removedInPaste","updates","sourceEntityId","targets","u","id","toast","firstUpdate","sourceEntityType","linkType","direction","targetEntityType","operation","allTargetEntityIds","linksToAdd","linksToRemove","entityData","currentLinks","link","targetEntityId","linkId","getEntityId","existingTargetIds","removeMultipleLinks","addMultipleLinks","addedToRemove","removedToAdd","undoCallback","tasks","redoCallback","error"],"mappings":"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"}
1
+ {"version":3,"file":"usePasteLinks.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/usePasteLinks.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '@shared/components/LinksManager/utils/linkUpdates'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { getEntityId } from '@shared/util'\nimport { PasteMethod } from '../context'\nimport { useCellEditing } from '@shared/containers'\nimport { toast } from 'react-toastify'\nimport { useProjectContext } from '@shared/context'\n\n/**\n * Represents a link update operation for table links\n */\nexport type LinkUpdate = {\n /** Row ID in the table */\n rowId: string\n /** ID of the source entity (the entity that will have links) */\n sourceEntityId: string\n /** Type of the source entity (e.g., 'folder', 'task') */\n sourceEntityType: string\n /** Type of link (e.g., 'workflow', 'dependency') */\n linkType: string\n /** Direction of the link from source entity perspective */\n direction: 'in' | 'out'\n /** Type of the target entities that will be linked */\n targetEntityType: string\n /**\n * Operation type:\n * - 'replace': Remove all existing links of this type and add new ones\n * - 'merge': Keep existing links and add new ones (skip duplicates)\n */\n operation: PasteMethod\n /** Array of target entity IDs to link to */\n targetEntityIds: string[]\n}\n\nexport type PasteTableLinks = (linkUpdates: LinkUpdate[]) => Promise<void>\n\ninterface usePasteLinksProps {\n projectName?: string\n}\n\nconst usePasteLinks = (props?: usePasteLinksProps) => {\n const { projectName: contextProjectName } = useProjectContext()\n const { getEntityById } = useProjectTableContext()\n const projectName = props?.projectName || contextProjectName\n const { history } = useCellEditing()\n\n // Add mutation hooks for link operations\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // Handle link updates using the utility functions\n const pasteTableLinks = useCallback<PasteTableLinks>(\n async (linkUpdates: LinkUpdate[]) => {\n if (!projectName || !linkUpdates.length) return\n\n // Group operations by entity and link type for processing\n const operationsToProcess = new Map<string, LinkUpdate[]>()\n\n for (const update of linkUpdates) {\n const key = `${update.sourceEntityId}-${update.linkType}-${update.direction}`\n if (!operationsToProcess.has(key)) {\n operationsToProcess.set(key, [])\n }\n operationsToProcess.get(key)!.push(update)\n }\n\n const updatePromises: Promise<void>[] = []\n // Collect all adds/removes across all operations to build a single history entry\n const addedInPaste: LinkToAdd[] = []\n const removedInPaste: LinkToRemove[] = []\n\n // Pre-flight validation: detect any self-referential links across the whole paste\n for (const [, updates] of operationsToProcess) {\n const { sourceEntityId } = updates[0]\n const targets = new Set<string>()\n updates.forEach((u) => u.targetEntityIds.forEach((id) => targets.add(id)))\n if (targets.has(sourceEntityId)) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n }\n // Process each unique entity-linkType-direction combination\n for (const [key, updates] of operationsToProcess) {\n const firstUpdate = updates[0]\n const {\n sourceEntityId,\n sourceEntityType,\n linkType,\n direction,\n targetEntityType,\n operation,\n } = firstUpdate\n\n // Collect all target entity IDs from all updates for this combination\n const allTargetEntityIds = new Set<string>()\n updates.forEach((update) => {\n update.targetEntityIds.forEach((id) => allTargetEntityIds.add(id))\n })\n\n const linksToAdd: LinkToAdd[] = []\n const linksToRemove: LinkToRemove[] = []\n\n // Get current links for this entity and link type\n const entityData = getEntityById(sourceEntityId)\n if (!entityData) {\n console.warn(`Entity not found: ${sourceEntityId}`)\n continue\n }\n\n // Get current links for this link type and direction\n const currentLinks = entityData.links\n\n if (operation === 'replace') {\n // Remove all current links of this (linkType + direction + targetEntityType) only.\n if (Array.isArray(currentLinks)) {\n for (const link of currentLinks) {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType.split('|')[0]\n ) {\n linksToRemove.push({\n id: link.id,\n target: {\n entityId: link.node.id,\n entityType: link.entityType,\n },\n source: { entityId: sourceEntityId, entityType: sourceEntityType },\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n // Add all new links\n for (const targetEntityId of allTargetEntityIds) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n } else if (operation === 'merge') {\n // Get existing target entity IDs for this (linkType + direction + targetEntityType)\n const existingTargetIds = new Set<string>()\n if (Array.isArray(currentLinks)) {\n currentLinks.forEach((link) => {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType\n ) {\n existingTargetIds.add(link.node.id)\n }\n })\n }\n\n console.log(existingTargetIds)\n\n // Only add links that don't already exist\n for (const targetEntityId of allTargetEntityIds) {\n if (!existingTargetIds.has(targetEntityId)) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n if (linksToRemove.length > 0) {\n updatePromises.push(removeMultipleLinks(linksToRemove, deleteLink))\n removedInPaste.push(...linksToRemove)\n }\n if (linksToAdd.length > 0) {\n updatePromises.push(addMultipleLinks(linksToAdd, addLink))\n addedInPaste.push(...linksToAdd)\n }\n }\n try {\n // Execute all link operations in parallel\n await Promise.all(updatePromises)\n\n // Push a single history entry that undoes BOTH: remove added links and re-add removed links\n if (history && (addedInPaste.length > 0 || removedInPaste.length > 0)) {\n // Prepare inverse operations for undo\n const addedToRemove: LinkToRemove[] = addedInPaste.map((link) => ({\n id: link.linkId,\n projectName: link.projectName,\n linkType: link.linkType,\n direction: link.direction,\n target: { entityId: link.targetEntityId, entityType: link.targetEntityType },\n source: { entityId: link.sourceEntityId, entityType: link.sourceEntityType },\n }))\n\n const removedToAdd: LinkToAdd[] = removedInPaste.map((link) => ({\n targetEntityId: link.target.entityId,\n linkId: link.id,\n sourceEntityId: link.source.entityId,\n sourceEntityType: link.source.entityType,\n targetEntityType: link.target.entityType,\n linkType: link.linkType,\n direction: link.direction,\n projectName: link.projectName,\n }))\n\n // Single callbacks to keep history atomic\n const undoCallback = () => {\n const tasks: Promise<void>[] = []\n if (addedToRemove.length) tasks.push(removeMultipleLinks(addedToRemove, deleteLink))\n if (removedToAdd.length) tasks.push(addMultipleLinks(removedToAdd, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n const redoCallback = () => {\n const tasks: Promise<void>[] = []\n if (removedInPaste.length) tasks.push(removeMultipleLinks(removedInPaste, deleteLink))\n if (addedInPaste.length) tasks.push(addMultipleLinks(addedInPaste, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n history.pushHistory([undoCallback], [redoCallback])\n }\n } catch (error) {\n throw error\n }\n },\n [projectName, getEntityById, deleteLink, addLink, history],\n )\n\n return { pasteTableLinks }\n}\n\nexport default usePasteLinks\n"],"names":["usePasteLinks","props","contextProjectName","useProjectContext","getEntityById","useProjectTableContext","projectName","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","useCallback","linkUpdates","operationsToProcess","update","key","updatePromises","addedInPaste","removedInPaste","updates","sourceEntityId","targets","u","id","toast","firstUpdate","sourceEntityType","linkType","direction","targetEntityType","operation","allTargetEntityIds","linksToAdd","linksToRemove","entityData","currentLinks","link","targetEntityId","linkId","getEntityId","existingTargetIds","removeMultipleLinks","addMultipleLinks","addedToRemove","removedToAdd","undoCallback","tasks","redoCallback","error"],"mappings":"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"}
@@ -135,59 +135,59 @@ import "../../Feed/components/ActivityStatus/ActivityStatus.es.js";
135
135
  import "../../Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
136
136
  import "../../Feed/components/ActivityDate.es.js";
137
137
  import "../../../components/AddonLoadingScreen/AddonLoadingScreen.es.js";
138
- import "../../../components/ThumbnailSimple/ThumbnailSimple.es.js";
139
- import "../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
140
- import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
138
+ import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
139
+ import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
140
+ import "../../../components/AccessUser/AccessUser.es.js";
141
+ import "../../../components/AttributeEditor/components/MinMaxField.es.js";
141
142
  import "@dnd-kit/core";
142
143
  import "@dnd-kit/sortable";
143
- import "../../../components/ReviewablesList/ReviewablesList.styled.es.js";
144
- import "../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
145
- import "axios";
146
- import "../../../components/ReviewableCard/ReviewableCard.es.js";
147
- import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
148
- import "../../../components/FileThumbnail/FileThumbnail.es.js";
149
- import "../../../components/Thumbnail/Thumbnail.styled.es.js";
150
- import "../../../components/Thumbnail/StackedThumbnails.es.js";
151
- import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
152
- import "../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
153
- import "../../../components/EntityPath/EntityPath.styled.es.js";
154
- import "../../../components/EntityPath/SegmentProvider.es.js";
144
+ import "../../../components/EnumEditor/EnumEditor.styled.es.js";
145
+ import "../../../components/Badge/Badge.es.js";
146
+ import "../../../components/Chips/Chips.es.js";
155
147
  import "../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
156
148
  import "../../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
157
149
  import "../../../components/DetailsPanelDetails/DetailsSection.es.js";
158
150
  import "../../../components/DetailsPanelDetails/FieldLabel.es.js";
159
- import "../../../components/Watchers/Watchers.es.js";
160
- import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
151
+ import "../../../components/EarlyPreview/EarlyPreview.es.js";
152
+ import "../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
153
+ import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
154
+ import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
155
+ import "axios";
156
+ import "../../../components/ReviewablesList/ReviewablesList.styled.es.js";
157
+ import "../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
158
+ import "../../../components/EntityPath/EntityPath.styled.es.js";
159
+ import "../../../components/EntityPath/SegmentProvider.es.js";
160
+ import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
161
+ import "../../../components/Feedback/FeedbackContext.es.js";
162
+ import "../../../components/Feedback/SupportBubble.es.js";
163
+ import "../../../components/FileThumbnail/FileThumbnail.es.js";
164
+ import "../../../components/LegacyBadge/LegacyBadge.es.js";
165
+ import "../../../components/LinksManager/LinksManager.styled.es.js";
166
+ import "../../EntityPickerDialog/EntityPickerDialog.es.js";
167
+ import "date-fns";
161
168
  import "../../../components/Powerpack/PowerpackButton.es.js";
162
169
  import "../../../components/Powerpack/PricingLink.es.js";
163
170
  import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
164
171
  import "../../../components/Powerpack/CTAButton.es.js";
165
172
  import "../../../components/Powerpack/RequiredAddonVersion.es.js";
173
+ import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
166
174
  import "../../../components/SizeSlider/SizeSlider.es.js";
175
+ import "../../../components/ReviewableCard/ReviewableCard.es.js";
176
+ import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
177
+ import "../../../components/SearchFilter/filterDates.es.js";
167
178
  import "../../../components/SettingsPanel/SettingsPanel.es.js";
168
179
  import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
169
- import "../../../components/AttributeEditor/components/MinMaxField.es.js";
170
- import "../../../components/EnumEditor/EnumEditor.styled.es.js";
171
- import "../../../components/SearchFilter/filterDates.es.js";
172
- import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
173
- import "../../../components/Badge/Badge.es.js";
174
- import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
175
- import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
176
- import "../../../components/Feedback/FeedbackContext.es.js";
177
- import "../../../components/Feedback/SupportBubble.es.js";
178
- import "../../../components/Chips/Chips.es.js";
179
- import "../../../components/LinksManager/LinksManager.styled.es.js";
180
- import "../../EntityPickerDialog/EntityPickerDialog.es.js";
181
- import "../../../components/StyledLink/StyledLink.es.js";
182
- import "date-fns";
183
180
  import "../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
184
- import "../../../components/AccessUser/AccessUser.es.js";
185
- import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
186
- import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
187
- import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
181
+ import "../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
188
182
  import "../../../components/SortingSetting/SortingSetting.styled.es.js";
189
- import "../../../components/EarlyPreview/EarlyPreview.es.js";
190
- import "../../../components/LegacyBadge/LegacyBadge.es.js";
183
+ import "../../../components/StyledLink/StyledLink.es.js";
184
+ import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
185
+ import "../../../components/Thumbnail/Thumbnail.styled.es.js";
186
+ import "../../../components/Thumbnail/StackedThumbnails.es.js";
187
+ import "../../../components/ThumbnailSimple/ThumbnailSimple.es.js";
188
+ import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
189
+ import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
190
+ import "../../../components/Watchers/Watchers.es.js";
191
191
  import "../../../components/Menu/Menu.styled.es.js";
192
192
  import "../../../components/Menu/MenuItem.es.js";
193
193
  import "../../Feed/components/ActivityCategorySelect/CategoryTag.es.js";
@@ -232,6 +232,13 @@ import "../components/RowSelectionHeader.es.js";
232
232
  import "../widgets/LoadMoreWidget.es.js";
233
233
  import "../components/HeaderActionButton.es.js";
234
234
  import "../components/ColumnHeaderMenu.es.js";
235
+ import "../../SimpleTable/SimpleTable.styled.es.js";
236
+ import "@tanstack/match-sorter-utils";
237
+ import "../../SimpleTable/context/SimpleTableContext.es.js";
238
+ import "../../SimpleTable/SimpleTableRowTemplate.es.js";
239
+ import "../../Slicer/hooks/useTableDataBySlice.es.js";
240
+ import "../../Slicer/components/SlicerSearch.es.js";
241
+ import "../../Slicer/context/SlicerContext.es.js";
235
242
  import "../../DetailsPanel/DetailsPanel.styled.es.js";
236
243
  import "../../DetailsPanel/FeedFilters/FeedFilters.styled.es.js";
237
244
  import "../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
@@ -247,7 +254,7 @@ import "../../Views/Views.styled.es.js";
247
254
  import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
248
255
  import "../../Views/ViewsMenu/ViewsMenu.es.js";
249
256
  import "uuid";
250
- const Ip = (H) => {
257
+ const Np = (H) => {
251
258
  const { projectName: A } = R(), { getEntityById: j } = S(), n = A, { history: E } = B(), [u] = M(), [l] = $();
252
259
  return { pasteTableLinks: x(
253
260
  async (w) => {
@@ -369,6 +376,6 @@ const Ip = (H) => {
369
376
  ) };
370
377
  };
371
378
  export {
372
- Ip as default
379
+ Np as default
373
380
  };
374
381
  //# sourceMappingURL=usePasteLinks.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePasteLinks.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/usePasteLinks.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '@shared/components/LinksManager/utils/linkUpdates'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { getEntityId } from '@shared/util'\nimport { PasteMethod } from '../context'\nimport { useCellEditing } from '@shared/containers'\nimport { toast } from 'react-toastify'\nimport { useProjectContext } from '@shared/context'\n\n/**\n * Represents a link update operation for table links\n */\nexport type LinkUpdate = {\n /** Row ID in the table */\n rowId: string\n /** ID of the source entity (the entity that will have links) */\n sourceEntityId: string\n /** Type of the source entity (e.g., 'folder', 'task') */\n sourceEntityType: string\n /** Type of link (e.g., 'workflow', 'dependency') */\n linkType: string\n /** Direction of the link from source entity perspective */\n direction: 'in' | 'out'\n /** Type of the target entities that will be linked */\n targetEntityType: string\n /**\n * Operation type:\n * - 'replace': Remove all existing links of this type and add new ones\n * - 'merge': Keep existing links and add new ones (skip duplicates)\n */\n operation: PasteMethod\n /** Array of target entity IDs to link to */\n targetEntityIds: string[]\n}\n\nexport type PasteTableLinks = (linkUpdates: LinkUpdate[]) => Promise<void>\n\ninterface usePasteLinksProps {\n projectName?: string\n}\n\nconst usePasteLinks = (props?: usePasteLinksProps) => {\n const { projectName: contextProjectName } = useProjectContext()\n const { getEntityById } = useProjectTableContext()\n const projectName = props?.projectName || contextProjectName\n const { history } = useCellEditing()\n\n // Add mutation hooks for link operations\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // Handle link updates using the utility functions\n const pasteTableLinks = useCallback<PasteTableLinks>(\n async (linkUpdates: LinkUpdate[]) => {\n if (!projectName || !linkUpdates.length) return\n\n // Group operations by entity and link type for processing\n const operationsToProcess = new Map<string, LinkUpdate[]>()\n\n for (const update of linkUpdates) {\n const key = `${update.sourceEntityId}-${update.linkType}-${update.direction}`\n if (!operationsToProcess.has(key)) {\n operationsToProcess.set(key, [])\n }\n operationsToProcess.get(key)!.push(update)\n }\n\n const updatePromises: Promise<void>[] = []\n // Collect all adds/removes across all operations to build a single history entry\n const addedInPaste: LinkToAdd[] = []\n const removedInPaste: LinkToRemove[] = []\n\n // Pre-flight validation: detect any self-referential links across the whole paste\n for (const [, updates] of operationsToProcess) {\n const { sourceEntityId } = updates[0]\n const targets = new Set<string>()\n updates.forEach((u) => u.targetEntityIds.forEach((id) => targets.add(id)))\n if (targets.has(sourceEntityId)) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n }\n // Process each unique entity-linkType-direction combination\n for (const [key, updates] of operationsToProcess) {\n const firstUpdate = updates[0]\n const {\n sourceEntityId,\n sourceEntityType,\n linkType,\n direction,\n targetEntityType,\n operation,\n } = firstUpdate\n\n // Collect all target entity IDs from all updates for this combination\n const allTargetEntityIds = new Set<string>()\n updates.forEach((update) => {\n update.targetEntityIds.forEach((id) => allTargetEntityIds.add(id))\n })\n\n const linksToAdd: LinkToAdd[] = []\n const linksToRemove: LinkToRemove[] = []\n\n // Get current links for this entity and link type\n const entityData = getEntityById(sourceEntityId)\n if (!entityData) {\n console.warn(`Entity not found: ${sourceEntityId}`)\n continue\n }\n\n // Get current links for this link type and direction\n const currentLinks = entityData.links\n\n if (operation === 'replace') {\n // Remove all current links of this (linkType + direction + targetEntityType) only.\n if (Array.isArray(currentLinks)) {\n for (const link of currentLinks) {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType.split('|')[0]\n ) {\n linksToRemove.push({\n id: link.id,\n target: {\n entityId: link.node.id,\n entityType: link.entityType,\n },\n source: { entityId: sourceEntityId, entityType: sourceEntityType },\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n // Add all new links\n for (const targetEntityId of allTargetEntityIds) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n } else if (operation === 'merge') {\n // Get existing target entity IDs for this (linkType + direction + targetEntityType)\n const existingTargetIds = new Set<string>()\n if (Array.isArray(currentLinks)) {\n currentLinks.forEach((link) => {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType\n ) {\n existingTargetIds.add(link.node.id)\n }\n })\n }\n\n console.log(existingTargetIds)\n\n // Only add links that don't already exist\n for (const targetEntityId of allTargetEntityIds) {\n if (!existingTargetIds.has(targetEntityId)) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n if (linksToRemove.length > 0) {\n updatePromises.push(removeMultipleLinks(linksToRemove, deleteLink))\n removedInPaste.push(...linksToRemove)\n }\n if (linksToAdd.length > 0) {\n updatePromises.push(addMultipleLinks(linksToAdd, addLink))\n addedInPaste.push(...linksToAdd)\n }\n }\n try {\n // Execute all link operations in parallel\n await Promise.all(updatePromises)\n\n // Push a single history entry that undoes BOTH: remove added links and re-add removed links\n if (history && (addedInPaste.length > 0 || removedInPaste.length > 0)) {\n // Prepare inverse operations for undo\n const addedToRemove: LinkToRemove[] = addedInPaste.map((link) => ({\n id: link.linkId,\n projectName: link.projectName,\n linkType: link.linkType,\n direction: link.direction,\n target: { entityId: link.targetEntityId, entityType: link.targetEntityType },\n source: { entityId: link.sourceEntityId, entityType: link.sourceEntityType },\n }))\n\n const removedToAdd: LinkToAdd[] = removedInPaste.map((link) => ({\n targetEntityId: link.target.entityId,\n linkId: link.id,\n sourceEntityId: link.source.entityId,\n sourceEntityType: link.source.entityType,\n targetEntityType: link.target.entityType,\n linkType: link.linkType,\n direction: link.direction,\n projectName: link.projectName,\n }))\n\n // Single callbacks to keep history atomic\n const undoCallback = () => {\n const tasks: Promise<void>[] = []\n if (addedToRemove.length) tasks.push(removeMultipleLinks(addedToRemove, deleteLink))\n if (removedToAdd.length) tasks.push(addMultipleLinks(removedToAdd, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n const redoCallback = () => {\n const tasks: Promise<void>[] = []\n if (removedInPaste.length) tasks.push(removeMultipleLinks(removedInPaste, deleteLink))\n if (addedInPaste.length) tasks.push(addMultipleLinks(addedInPaste, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n history.pushHistory([undoCallback], [redoCallback])\n }\n } catch (error) {\n throw error\n }\n },\n [projectName, getEntityById, deleteLink, addLink, history],\n )\n\n return { pasteTableLinks }\n}\n\nexport default usePasteLinks\n"],"names":["usePasteLinks","props","contextProjectName","useProjectContext","getEntityById","useProjectTableContext","projectName","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","useCallback","linkUpdates","operationsToProcess","update","key","updatePromises","addedInPaste","removedInPaste","updates","sourceEntityId","targets","u","id","toast","firstUpdate","sourceEntityType","linkType","direction","targetEntityType","operation","allTargetEntityIds","linksToAdd","linksToRemove","entityData","currentLinks","link","targetEntityId","linkId","getEntityId","existingTargetIds","removeMultipleLinks","addMultipleLinks","addedToRemove","removedToAdd","undoCallback","tasks","redoCallback","error"],"mappings":"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"}
1
+ {"version":3,"file":"usePasteLinks.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/usePasteLinks.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '@shared/components/LinksManager/utils/linkUpdates'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { getEntityId } from '@shared/util'\nimport { PasteMethod } from '../context'\nimport { useCellEditing } from '@shared/containers'\nimport { toast } from 'react-toastify'\nimport { useProjectContext } from '@shared/context'\n\n/**\n * Represents a link update operation for table links\n */\nexport type LinkUpdate = {\n /** Row ID in the table */\n rowId: string\n /** ID of the source entity (the entity that will have links) */\n sourceEntityId: string\n /** Type of the source entity (e.g., 'folder', 'task') */\n sourceEntityType: string\n /** Type of link (e.g., 'workflow', 'dependency') */\n linkType: string\n /** Direction of the link from source entity perspective */\n direction: 'in' | 'out'\n /** Type of the target entities that will be linked */\n targetEntityType: string\n /**\n * Operation type:\n * - 'replace': Remove all existing links of this type and add new ones\n * - 'merge': Keep existing links and add new ones (skip duplicates)\n */\n operation: PasteMethod\n /** Array of target entity IDs to link to */\n targetEntityIds: string[]\n}\n\nexport type PasteTableLinks = (linkUpdates: LinkUpdate[]) => Promise<void>\n\ninterface usePasteLinksProps {\n projectName?: string\n}\n\nconst usePasteLinks = (props?: usePasteLinksProps) => {\n const { projectName: contextProjectName } = useProjectContext()\n const { getEntityById } = useProjectTableContext()\n const projectName = props?.projectName || contextProjectName\n const { history } = useCellEditing()\n\n // Add mutation hooks for link operations\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // Handle link updates using the utility functions\n const pasteTableLinks = useCallback<PasteTableLinks>(\n async (linkUpdates: LinkUpdate[]) => {\n if (!projectName || !linkUpdates.length) return\n\n // Group operations by entity and link type for processing\n const operationsToProcess = new Map<string, LinkUpdate[]>()\n\n for (const update of linkUpdates) {\n const key = `${update.sourceEntityId}-${update.linkType}-${update.direction}`\n if (!operationsToProcess.has(key)) {\n operationsToProcess.set(key, [])\n }\n operationsToProcess.get(key)!.push(update)\n }\n\n const updatePromises: Promise<void>[] = []\n // Collect all adds/removes across all operations to build a single history entry\n const addedInPaste: LinkToAdd[] = []\n const removedInPaste: LinkToRemove[] = []\n\n // Pre-flight validation: detect any self-referential links across the whole paste\n for (const [, updates] of operationsToProcess) {\n const { sourceEntityId } = updates[0]\n const targets = new Set<string>()\n updates.forEach((u) => u.targetEntityIds.forEach((id) => targets.add(id)))\n if (targets.has(sourceEntityId)) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n }\n // Process each unique entity-linkType-direction combination\n for (const [key, updates] of operationsToProcess) {\n const firstUpdate = updates[0]\n const {\n sourceEntityId,\n sourceEntityType,\n linkType,\n direction,\n targetEntityType,\n operation,\n } = firstUpdate\n\n // Collect all target entity IDs from all updates for this combination\n const allTargetEntityIds = new Set<string>()\n updates.forEach((update) => {\n update.targetEntityIds.forEach((id) => allTargetEntityIds.add(id))\n })\n\n const linksToAdd: LinkToAdd[] = []\n const linksToRemove: LinkToRemove[] = []\n\n // Get current links for this entity and link type\n const entityData = getEntityById(sourceEntityId)\n if (!entityData) {\n console.warn(`Entity not found: ${sourceEntityId}`)\n continue\n }\n\n // Get current links for this link type and direction\n const currentLinks = entityData.links\n\n if (operation === 'replace') {\n // Remove all current links of this (linkType + direction + targetEntityType) only.\n if (Array.isArray(currentLinks)) {\n for (const link of currentLinks) {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType.split('|')[0]\n ) {\n linksToRemove.push({\n id: link.id,\n target: {\n entityId: link.node.id,\n entityType: link.entityType,\n },\n source: { entityId: sourceEntityId, entityType: sourceEntityType },\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n // Add all new links\n for (const targetEntityId of allTargetEntityIds) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n } else if (operation === 'merge') {\n // Get existing target entity IDs for this (linkType + direction + targetEntityType)\n const existingTargetIds = new Set<string>()\n if (Array.isArray(currentLinks)) {\n currentLinks.forEach((link) => {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType\n ) {\n existingTargetIds.add(link.node.id)\n }\n })\n }\n\n console.log(existingTargetIds)\n\n // Only add links that don't already exist\n for (const targetEntityId of allTargetEntityIds) {\n if (!existingTargetIds.has(targetEntityId)) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n if (linksToRemove.length > 0) {\n updatePromises.push(removeMultipleLinks(linksToRemove, deleteLink))\n removedInPaste.push(...linksToRemove)\n }\n if (linksToAdd.length > 0) {\n updatePromises.push(addMultipleLinks(linksToAdd, addLink))\n addedInPaste.push(...linksToAdd)\n }\n }\n try {\n // Execute all link operations in parallel\n await Promise.all(updatePromises)\n\n // Push a single history entry that undoes BOTH: remove added links and re-add removed links\n if (history && (addedInPaste.length > 0 || removedInPaste.length > 0)) {\n // Prepare inverse operations for undo\n const addedToRemove: LinkToRemove[] = addedInPaste.map((link) => ({\n id: link.linkId,\n projectName: link.projectName,\n linkType: link.linkType,\n direction: link.direction,\n target: { entityId: link.targetEntityId, entityType: link.targetEntityType },\n source: { entityId: link.sourceEntityId, entityType: link.sourceEntityType },\n }))\n\n const removedToAdd: LinkToAdd[] = removedInPaste.map((link) => ({\n targetEntityId: link.target.entityId,\n linkId: link.id,\n sourceEntityId: link.source.entityId,\n sourceEntityType: link.source.entityType,\n targetEntityType: link.target.entityType,\n linkType: link.linkType,\n direction: link.direction,\n projectName: link.projectName,\n }))\n\n // Single callbacks to keep history atomic\n const undoCallback = () => {\n const tasks: Promise<void>[] = []\n if (addedToRemove.length) tasks.push(removeMultipleLinks(addedToRemove, deleteLink))\n if (removedToAdd.length) tasks.push(addMultipleLinks(removedToAdd, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n const redoCallback = () => {\n const tasks: Promise<void>[] = []\n if (removedInPaste.length) tasks.push(removeMultipleLinks(removedInPaste, deleteLink))\n if (addedInPaste.length) tasks.push(addMultipleLinks(addedInPaste, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n history.pushHistory([undoCallback], [redoCallback])\n }\n } catch (error) {\n throw error\n }\n },\n [projectName, getEntityById, deleteLink, addLink, history],\n )\n\n return { pasteTableLinks }\n}\n\nexport default usePasteLinks\n"],"names":["usePasteLinks","props","contextProjectName","useProjectContext","getEntityById","useProjectTableContext","projectName","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","useCallback","linkUpdates","operationsToProcess","update","key","updatePromises","addedInPaste","removedInPaste","updates","sourceEntityId","targets","u","id","toast","firstUpdate","sourceEntityType","linkType","direction","targetEntityType","operation","allTargetEntityIds","linksToAdd","linksToRemove","entityData","currentLinks","link","targetEntityId","linkId","getEntityId","existingTargetIds","removeMultipleLinks","addMultipleLinks","addedToRemove","removedToAdd","undoCallback","tasks","redoCallback","error"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),d=require("@ynput/ayon-react-components"),g=require("../utils/clientFilterToQueryFilter.cjs.js");require("short-uuid");require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.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("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("@tanstack/react-virtual");require("clsx");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../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/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../../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("../../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("../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/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../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("../widgets/LoadMoreWidget.cjs.js");require("../context/ColumnSettingsContext.cjs.js");const y=({queryFilters:q,sliceFilter:t})=>a.useMemo(()=>{let e=q;if(t?.values?.length){const i=g.clientFilterToQueryFilter([t]);i.conditions?.length&&(e={conditions:[...e?.conditions||[],...i.conditions],operator:"and"})}let l=q,o="";if(e?.conditions?.length){const i=[],n=e.conditions.filter(c=>{const u=c;if(u.key===d.SEARCH_FILTER_ID){const r=u.value;return r!=null&&String(r).trim()!==""&&i.push(String(r)),!1}if(u.key==="name"||u.key?.endsWith("_name")){const r=u.value;if(r!=null){const s=String(r).replace(/%/g,"").trim();s&&i.push(s)}return!1}return!0});o=i.join(" "),e=n.length?{...e,conditions:n}:{...e,conditions:[]}}return{filterString:e?.conditions?.length?JSON.stringify(e):"",filter:e,search:o,combinedFilters:e,displayFilters:l}},[q,t]);exports.useQueryFilters=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react"),f=require("@ynput/ayon-react-components"),y=require("../utils/clientFilterToQueryFilter.cjs.js");require("short-uuid");require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.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("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("@tanstack/react-virtual");require("clsx");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.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/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../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/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */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("../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/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../Slicer/components/SlicerSearch.cjs.js");require("../../Slicer/context/SlicerContext.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("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.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/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.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("../widgets/LoadMoreWidget.cjs.js");require("../context/ColumnSettingsContext.cjs.js");const h=({queryFilters:t,sliceFilter:n,config:{searchKey:s}={}})=>g.useMemo(()=>{let e=t;if(n?.values?.length){const i=y.clientFilterToQueryFilter([n]);i.conditions?.length&&(e={conditions:[...e?.conditions||[],...i.conditions],operator:"and"})}let a=t,l="";if(e?.conditions?.length){const i=[],o=e.conditions.filter(d=>{const u=d;if(u.key===f.SEARCH_FILTER_ID){const r=u.value;return r!=null&&String(r).trim()!==""&&i.push(String(r)),!1}if(s&&u.key===s||u.key?.endsWith("_searchKey")){const r=u.value;if(r!=null)if(Array.isArray(r))r.forEach(q=>{const c=String(q).replace(/%/g,"").trim();c&&i.push(c)});else{const q=String(r).replace(/%/g,"").trim();q&&i.push(q)}return!1}return!0});l=i.join(" "),e=o.length?{...e,conditions:o}:{...e,conditions:[]}}return{filterString:e?.conditions?.length?JSON.stringify(e):"",filter:e,search:l,combinedFilters:e,displayFilters:a}},[t,n]);exports.useQueryFilters=h;
2
2
  //# sourceMappingURL=useQueryFilters.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQueryFilters.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\ninterface UseQueryFiltersProps {\n queryFilters: QueryFilter\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: QueryFilter // For data fetching (includes slice filters)\n displayFilters: QueryFilter // For SearchFilterWrapper (excludes slice filters, except hierarchy)\n}\n\nexport const useQueryFilters = ({\n queryFilters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n let combinedQueryFilter = queryFilters\n\n // If there's a slice filter, convert it and merge it with the query filters\n if (sliceFilter?.values?.length) {\n const sliceQueryFilter = clientFilterToQueryFilter([sliceFilter])\n\n // Merge the slice filter with existing query filters for data fetching\n if (sliceQueryFilter.conditions?.length) {\n const existingConditions = combinedQueryFilter?.conditions || []\n combinedQueryFilter = {\n conditions: [...existingConditions, ...sliceQueryFilter.conditions],\n operator: 'and',\n }\n }\n }\n\n // Create display filters (for SearchFilterWrapper)\n // This excludes slice filters, except for hierarchy when slice type changes\n let displayQueryFilter = queryFilters\n\n // extract text search and name filter conditions, remove them from combinedQueryFilter and merge to fuzzySearchFilter\n let fuzzySearchFilter = ''\n\n if (combinedQueryFilter?.conditions?.length) {\n const searchValues: string[] = []\n\n const remainingConditions = combinedQueryFilter.conditions.filter((condition) => {\n const queryCondition = condition as QueryCondition\n\n // Extract global text search filter\n if (queryCondition.key === SEARCH_FILTER_ID) {\n const val = queryCondition.value\n if (val !== undefined && val !== null && String(val).trim() !== '') {\n searchValues.push(String(val))\n }\n return false // remove search condition\n }\n\n // Extract name filter (can be scoped like 'task_name' or 'folder_name' or just 'name')\n if (queryCondition.key === 'name' || queryCondition.key?.endsWith('_name')) {\n const val = queryCondition.value\n // Name filters use 'like' operator with wildcards, extract the actual search term\n if (val !== undefined && val !== null) {\n const searchTerm = String(val).replace(/%/g, '').trim()\n if (searchTerm) {\n searchValues.push(searchTerm)\n }\n }\n return false // remove name condition\n }\n\n return true\n })\n\n // Join multiple search conditions into one space-separated fuzzy search string\n fuzzySearchFilter = searchValues.join(' ')\n\n // If there are remaining conditions, keep them; otherwise set empty conditions\n combinedQueryFilter = remainingConditions.length\n ? { ...combinedQueryFilter, conditions: remainingConditions }\n : { ...combinedQueryFilter, conditions: [] }\n }\n\n const queryFilterString = combinedQueryFilter?.conditions?.length\n ? JSON.stringify(combinedQueryFilter)\n : ''\n\n return {\n filterString: queryFilterString,\n filter: combinedQueryFilter,\n search: fuzzySearchFilter,\n combinedFilters: combinedQueryFilter,\n displayFilters: displayQueryFilter,\n }\n }, [queryFilters, sliceFilter])\n}\n"],"names":["useQueryFilters","queryFilters","sliceFilter","useMemo","combinedQueryFilter","sliceQueryFilter","clientFilterToQueryFilter","displayQueryFilter","fuzzySearchFilter","searchValues","remainingConditions","condition","queryCondition","SEARCH_FILTER_ID","val","searchTerm"],"mappings":"i3bAmBO,MAAMA,EAAkB,CAAC,CAC9B,aAAAC,EACA,YAAAC,CACF,IACSC,EAAAA,QAAQ,IAAM,CACnB,IAAIC,EAAsBH,EAG1B,GAAIC,GAAa,QAAQ,OAAQ,CAC/B,MAAMG,EAAmBC,EAAAA,0BAA0B,CAACJ,CAAW,CAAC,EAG5DG,EAAiB,YAAY,SAE/BD,EAAsB,CACpB,WAAY,CAAC,GAFYA,GAAqB,YAAc,CAAA,EAExB,GAAGC,EAAiB,UAAU,EAClE,SAAU,KAAA,EAGhB,CAIA,IAAIE,EAAqBN,EAGrBO,EAAoB,GAExB,GAAIJ,GAAqB,YAAY,OAAQ,CAC3C,MAAMK,EAAyB,CAAA,EAEzBC,EAAsBN,EAAoB,WAAW,OAAQO,GAAc,CAC/E,MAAMC,EAAiBD,EAGvB,GAAIC,EAAe,MAAQC,mBAAkB,CAC3C,MAAMC,EAAMF,EAAe,MAC3B,OAAyBE,GAAQ,MAAQ,OAAOA,CAAG,EAAE,KAAA,IAAW,IAC9DL,EAAa,KAAK,OAAOK,CAAG,CAAC,EAExB,EACT,CAGA,GAAIF,EAAe,MAAQ,QAAUA,EAAe,KAAK,SAAS,OAAO,EAAG,CAC1E,MAAME,EAAMF,EAAe,MAE3B,GAAyBE,GAAQ,KAAM,CACrC,MAAMC,EAAa,OAAOD,CAAG,EAAE,QAAQ,KAAM,EAAE,EAAE,KAAA,EAC7CC,GACFN,EAAa,KAAKM,CAAU,CAEhC,CACA,MAAO,EACT,CAEA,MAAO,EACT,CAAC,EAGDP,EAAoBC,EAAa,KAAK,GAAG,EAGzCL,EAAsBM,EAAoB,OACtC,CAAE,GAAGN,EAAqB,WAAYM,CAAA,EACtC,CAAE,GAAGN,EAAqB,WAAY,CAAA,CAAC,CAC7C,CAMA,MAAO,CACL,aALwBA,GAAqB,YAAY,OACvD,KAAK,UAAUA,CAAmB,EAClC,GAIF,OAAQA,EACR,OAAQI,EACR,gBAAiBJ,EACjB,eAAgBG,CAAA,CAEpB,EAAG,CAACN,EAAcC,CAAW,CAAC"}
1
+ {"version":3,"file":"useQueryFilters.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\ninterface UseQueryFiltersProps {\n queryFilters: QueryFilter\n sliceFilter?: Filter | null\n config?: {\n searchKey?: string\n }\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: QueryFilter // For data fetching (includes slice filters)\n displayFilters: QueryFilter // For SearchFilterWrapper (excludes slice filters, except hierarchy)\n}\n\nexport const useQueryFilters = ({\n queryFilters,\n sliceFilter,\n config: { searchKey } = {},\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n let combinedQueryFilter = queryFilters\n\n // If there's a slice filter, convert it and merge it with the query filters\n if (sliceFilter?.values?.length) {\n const sliceQueryFilter = clientFilterToQueryFilter([sliceFilter])\n\n // Merge the slice filter with existing query filters for data fetching\n if (sliceQueryFilter.conditions?.length) {\n const existingConditions = combinedQueryFilter?.conditions || []\n combinedQueryFilter = {\n conditions: [...existingConditions, ...sliceQueryFilter.conditions],\n operator: 'and',\n }\n }\n }\n\n // Create display filters (for SearchFilterWrapper)\n // This excludes slice filters, except for hierarchy when slice type changes\n let displayQueryFilter = queryFilters\n\n // extract text search and name filter conditions, remove them from combinedQueryFilter and merge to fuzzySearchFilter\n let fuzzySearchFilter = ''\n\n if (combinedQueryFilter?.conditions?.length) {\n const searchValues: string[] = []\n\n const remainingConditions = combinedQueryFilter.conditions.filter((condition) => {\n const queryCondition = condition as QueryCondition\n\n // Extract global text search filter\n if (queryCondition.key === SEARCH_FILTER_ID) {\n const val = queryCondition.value\n if (val !== undefined && val !== null && String(val).trim() !== '') {\n searchValues.push(String(val))\n }\n return false // remove search condition\n }\n\n // Extract name filter (can be scoped like 'task_name' or 'folder_name' or just 'name')\n if (\n (searchKey && queryCondition.key === searchKey) ||\n queryCondition.key?.endsWith('_' + 'searchKey')\n ) {\n const val = queryCondition.value\n // Name filters use 'like' operator with wildcards, extract the actual search term\n if (val !== undefined && val !== null) {\n if (Array.isArray(val)) {\n val.forEach((v) => {\n const searchTerm = String(v).replace(/%/g, '').trim()\n if (searchTerm) {\n searchValues.push(searchTerm)\n }\n })\n } else {\n const searchTerm = String(val).replace(/%/g, '').trim()\n if (searchTerm) {\n searchValues.push(searchTerm)\n }\n }\n }\n return false // remove name condition\n }\n\n return true\n })\n\n // Join multiple search conditions into one space-separated fuzzy search string\n fuzzySearchFilter = searchValues.join(' ')\n\n // If there are remaining conditions, keep them; otherwise set empty conditions\n combinedQueryFilter = remainingConditions.length\n ? { ...combinedQueryFilter, conditions: remainingConditions }\n : { ...combinedQueryFilter, conditions: [] }\n }\n\n const queryFilterString = combinedQueryFilter?.conditions?.length\n ? JSON.stringify(combinedQueryFilter)\n : ''\n\n return {\n filterString: queryFilterString,\n filter: combinedQueryFilter,\n search: fuzzySearchFilter,\n combinedFilters: combinedQueryFilter,\n displayFilters: displayQueryFilter,\n }\n }, [queryFilters, sliceFilter])\n}\n"],"names":["useQueryFilters","queryFilters","sliceFilter","searchKey","useMemo","combinedQueryFilter","sliceQueryFilter","clientFilterToQueryFilter","displayQueryFilter","fuzzySearchFilter","searchValues","remainingConditions","condition","queryCondition","SEARCH_FILTER_ID","val","v","searchTerm"],"mappings":"+ucAsBO,MAAMA,EAAkB,CAAC,CAC9B,aAAAC,EACA,YAAAC,EACA,OAAQ,CAAE,UAAAC,GAAc,CAAA,CAC1B,IACSC,EAAAA,QAAQ,IAAM,CACnB,IAAIC,EAAsBJ,EAG1B,GAAIC,GAAa,QAAQ,OAAQ,CAC/B,MAAMI,EAAmBC,EAAAA,0BAA0B,CAACL,CAAW,CAAC,EAG5DI,EAAiB,YAAY,SAE/BD,EAAsB,CACpB,WAAY,CAAC,GAFYA,GAAqB,YAAc,CAAA,EAExB,GAAGC,EAAiB,UAAU,EAClE,SAAU,KAAA,EAGhB,CAIA,IAAIE,EAAqBP,EAGrBQ,EAAoB,GAExB,GAAIJ,GAAqB,YAAY,OAAQ,CAC3C,MAAMK,EAAyB,CAAA,EAEzBC,EAAsBN,EAAoB,WAAW,OAAQO,GAAc,CAC/E,MAAMC,EAAiBD,EAGvB,GAAIC,EAAe,MAAQC,mBAAkB,CAC3C,MAAMC,EAAMF,EAAe,MAC3B,OAAyBE,GAAQ,MAAQ,OAAOA,CAAG,EAAE,KAAA,IAAW,IAC9DL,EAAa,KAAK,OAAOK,CAAG,CAAC,EAExB,EACT,CAGA,GACGZ,GAAaU,EAAe,MAAQV,GACrCU,EAAe,KAAK,SAAS,YAAiB,EAC9C,CACA,MAAME,EAAMF,EAAe,MAE3B,GAAyBE,GAAQ,KAC/B,GAAI,MAAM,QAAQA,CAAG,EACnBA,EAAI,QAASC,GAAM,CACjB,MAAMC,EAAa,OAAOD,CAAC,EAAE,QAAQ,KAAM,EAAE,EAAE,KAAA,EAC3CC,GACFP,EAAa,KAAKO,CAAU,CAEhC,CAAC,MACI,CACL,MAAMA,EAAa,OAAOF,CAAG,EAAE,QAAQ,KAAM,EAAE,EAAE,KAAA,EAC7CE,GACFP,EAAa,KAAKO,CAAU,CAEhC,CAEF,MAAO,EACT,CAEA,MAAO,EACT,CAAC,EAGDR,EAAoBC,EAAa,KAAK,GAAG,EAGzCL,EAAsBM,EAAoB,OACtC,CAAE,GAAGN,EAAqB,WAAYM,CAAA,EACtC,CAAE,GAAGN,EAAqB,WAAY,CAAA,CAAC,CAC7C,CAMA,MAAO,CACL,aALwBA,GAAqB,YAAY,OACvD,KAAK,UAAUA,CAAmB,EAClC,GAIF,OAAQA,EACR,OAAQI,EACR,gBAAiBJ,EACjB,eAAgBG,CAAA,CAEpB,EAAG,CAACP,EAAcC,CAAW,CAAC"}