@ynput/ayon-frontend-shared 0.3.44 → 0.3.46

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 (220) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +4 -4
  3. package/dist/ProjectTreeTable.cjs.js +1 -1
  4. package/dist/ProjectTreeTable.es.js +4 -4
  5. package/dist/_virtual/index.cjs15.js +1 -1
  6. package/dist/_virtual/index.cjs19.js +1 -1
  7. package/dist/_virtual/index.cjs6.js +1 -1
  8. package/dist/_virtual/index.cjs8.js +1 -1
  9. package/dist/_virtual/index.es15.js +2 -2
  10. package/dist/_virtual/index.es16.js +2 -2
  11. package/dist/_virtual/index.es17.js +2 -2
  12. package/dist/_virtual/index.es18.js +2 -2
  13. package/dist/_virtual/index.es19.js +2 -2
  14. package/dist/_virtual/index.es6.js +2 -2
  15. package/dist/_virtual/index.es8.js +2 -2
  16. package/dist/index.cjs.js +1 -1
  17. package/dist/index.es.js +4 -4
  18. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  19. package/dist/node_modules/remove-accents/index.es.js +1 -1
  20. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  21. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  22. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  23. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  24. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  25. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
  26. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  27. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
  28. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  29. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
  30. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
  31. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
  32. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  33. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  34. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  35. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -4
  36. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  37. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -4
  38. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  39. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +4 -4
  40. package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js +1 -1
  41. package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js.map +1 -1
  42. package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js +20 -20
  43. package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js.map +1 -1
  44. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  45. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -4
  46. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  47. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +4 -4
  48. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  49. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +4 -4
  50. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  51. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +5 -5
  52. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  53. package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -4
  54. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  55. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -4
  56. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  57. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +4 -4
  58. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  59. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -4
  60. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  61. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  62. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +84 -69
  63. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  64. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  65. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +4 -4
  66. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  67. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +4 -4
  68. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  69. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +4 -4
  70. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  71. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -4
  72. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  73. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +4 -4
  74. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  75. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -4
  76. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  77. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -4
  78. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  79. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -4
  80. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  81. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -4
  82. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  83. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +4 -4
  84. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  85. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -4
  86. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  87. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +4 -4
  88. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  89. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +4 -4
  90. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  91. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +4 -4
  92. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  93. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +4 -4
  94. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  95. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +4 -4
  96. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
  97. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  98. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +15 -15
  99. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  100. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  101. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -4
  102. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  103. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -4
  104. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  105. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -4
  106. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  107. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +4 -4
  108. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  109. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -4
  110. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  111. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +4 -4
  112. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  113. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +4 -4
  114. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  115. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -4
  116. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  117. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +4 -4
  118. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  119. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -4
  120. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  121. package/dist/shared/src/containers/ListTable/ListTable.es.js +4 -4
  122. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  123. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +4 -4
  124. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  125. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +4 -4
  126. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  127. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +4 -4
  128. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  129. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -4
  130. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  131. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +4 -4
  132. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  133. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -4
  134. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  135. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -4
  136. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  137. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +4 -4
  138. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
  139. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  140. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +83 -86
  141. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  142. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  143. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +4 -4
  144. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  145. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +4 -4
  146. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  147. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +4 -4
  148. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  149. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +4 -4
  150. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  151. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -4
  152. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  153. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -4
  154. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  155. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -4
  156. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  157. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +4 -4
  158. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  159. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  160. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +31 -23
  161. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  162. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  163. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -4
  164. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  165. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +4 -4
  166. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  167. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -4
  168. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  169. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -4
  170. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  171. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -5
  172. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  173. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -4
  174. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  175. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +4 -4
  176. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  177. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +4 -4
  178. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js +1 -1
  179. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js.map +1 -1
  180. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js +23 -13
  181. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js.map +1 -1
  182. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  183. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +4 -4
  184. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  185. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +4 -4
  186. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  187. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +4 -4
  188. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  189. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +4 -4
  190. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  191. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -4
  192. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  193. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +4 -4
  194. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  195. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -4
  196. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  197. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  198. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +169 -169
  199. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  200. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js +1 -1
  201. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js.map +1 -1
  202. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js +13 -13
  203. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js.map +1 -1
  204. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  205. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +4 -4
  206. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  207. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  208. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +55 -54
  209. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  210. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  211. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  212. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +14 -14
  213. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  214. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  215. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +3 -3
  216. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  217. package/dist/shared/src/context/WebsocketContext.es.js +4 -4
  218. package/dist/types/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.d.ts +8 -1
  219. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +6 -1
  220. package/package.json +2 -2
@@ -1,2 +1,2 @@
1
- "use strict";const T=require("../../../../../_virtual/jsx-runtime.cjs.js"),b=require("react");require("../../ContextMenu/ContextMenuContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.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/dataImport.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/projectFolders.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/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/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.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/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");const g=require("../../../api/queries/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("lodash");const D=require("react-toastify");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");const k=require("../../../util/confirmDelete.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.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/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const w=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContextInstance.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("../../../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/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("rehype-raw");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../components/InfoMessage/InfoMessage.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.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/FeedbackContextInstance.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/FreeTrialLink.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("react-router-dom");require("../../Slicer/components/Slicer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Slicer/context/SlicerContextInstance.cjs.js");require("../../Slicer/components/SlicerDropdownFallback.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.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/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/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");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/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.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/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.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("../widgets/LinksWidget.cjs.js");const j=require("../context/ProjectTableContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../context/CellEditingContext.cjs.js");require("short-uuid");require("../context/SelectionCellsContext.cjs.js");const x=require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");const s=require("../components/DeleteConfirmContent.cjs.js");require("../context/ProjectDataContextInstance.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/TableFooterRow.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");const I=(o,c)=>{if(o.length===0)return[];const a=new Map(c.map(i=>[i.id,i])),d=o.length>1,n=[];for(const i of o){const r=a.get(i.id),l=d?`"${i.label||i.name}" contains `:"Contains ";if(r&&(r.totalFolderCount>0||r.totalTaskCount>0||r.totalProductCount>0||r.totalVersionCount>0)){const t=[];r.totalFolderCount>0&&t.push(s.pluralize(r.totalFolderCount,"child folder")),r.totalTaskCount>0&&t.push(s.pluralize(r.totalTaskCount,"task")),r.totalProductCount>0&&t.push(s.pluralize(r.totalProductCount,"product")),r.totalVersionCount>0&&t.push(s.pluralize(r.totalVersionCount,"version")),n.push(`${l}${t.join(", ")}`)}else"hasChildren"in i&&i.hasChildren&&n.push(`${l}child folders`),"taskNames"in i&&i.taskNames&&i.taskNames.length>0&&n.push(`${l}${s.pluralize(i.taskNames.length,"task")}`)}return n},F=({onSuccess:o})=>{const{updateEntities:c}=x.useProjectTableQueriesContext(),{projectName:a}=w.useProjectContext(),{getEntityById:d}=j.useProjectTableContext(),[n]=g.useLazyGetFolderDeleteInfoQuery();return b.useCallback(async i=>{if(!i||i.length===0){D.toast.error("No entities selected");return}const r=[],l=new Set;for(const e of i){const q=d(e);q&&!l.has(q.id)&&(r.push(q),l.add(q.id))}if(r.length===0){D.toast.error("No entities found");return}const C=new Set(r.map(e=>e.id)),t=r.filter(e=>e.entityType==="folder"&&"parentId"in e&&e.parentId?!C.has(e.parentId):"folderId"in e&&e.folderId?!C.has(e.folderId):!0),m=async(e=!1)=>{const q=[];for(const u of r)u&&q.push({entityType:"folderId"in u?"task":"folder",type:"delete",entityId:u.id,rowId:u.rowId,force:e});try{await c?.({operations:q}),o&&o()}catch(u){const E=u?.error||"Failed to delete entities";throw console.error("Failed to delete entities:",u),{message:E,...u}}},f={};for(const e of t)f[e.entityType]=(f[e.entityType]||0)+1;let p;if(t.length===1){const e=t[0];p=`"${e.label||e.name}"`}else p=["folder","task","product","version"].filter(u=>f[u]>0).map(u=>s.pluralize(f[u],u)).join(", ");const h=t.filter(e=>e.entityType==="folder");let y=[];if(h.length>0&&a)try{const e=await n({projectName:a,folderIds:h.map(q=>q.id)}).unwrap();y=I(h,e)}catch(e){console.warn("Failed to fetch folder delete info, falling back to local data",e),y=I(h,[])}k.confirmDelete({label:"folders and tasks",message:T.jsxRuntimeExports.jsx(s.DeleteConfirmContent,{entityLabel:p,childrenDetails:y}),accept:m,onError:e=>{e?.errorCodes?.includes("delete-folder-with-children")&&(window.confirm(`Are you really sure you want to delete ${p} and all of its dependencies? This cannot be undone. (NOT RECOMMENDED)`)?m(!0):console.log("User cancelled forced delete"))},deleteLabel:"Delete forever"})},[d,c,o,a,n])};module.exports=F;
1
+ "use strict";const T=require("../../../../../_virtual/jsx-runtime.cjs.js"),b=require("react");require("../../ContextMenu/ContextMenuContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.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/dataImport.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/projectFolders.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/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/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.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/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");const g=require("../../../api/queries/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("lodash");const D=require("react-toastify");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");const k=require("../../../util/confirmDelete.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.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/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const w=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContextInstance.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("../../../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/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("rehype-raw");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../components/InfoMessage/InfoMessage.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.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/FeedbackContextInstance.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/FreeTrialLink.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("react-router-dom");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContextInstance.cjs.js");require("../../Slicer/components/SlicerDropdownFallback.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.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/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/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");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/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.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/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.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("../widgets/LinksWidget.cjs.js");const j=require("../context/ProjectTableContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../context/CellEditingContext.cjs.js");require("short-uuid");require("../context/SelectionCellsContext.cjs.js");const x=require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");const s=require("../components/DeleteConfirmContent.cjs.js");require("../context/ProjectDataContextInstance.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/TableFooterRow.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");const I=(o,c)=>{if(o.length===0)return[];const a=new Map(c.map(i=>[i.id,i])),d=o.length>1,n=[];for(const i of o){const r=a.get(i.id),l=d?`"${i.label||i.name}" contains `:"Contains ";if(r&&(r.totalFolderCount>0||r.totalTaskCount>0||r.totalProductCount>0||r.totalVersionCount>0)){const t=[];r.totalFolderCount>0&&t.push(s.pluralize(r.totalFolderCount,"child folder")),r.totalTaskCount>0&&t.push(s.pluralize(r.totalTaskCount,"task")),r.totalProductCount>0&&t.push(s.pluralize(r.totalProductCount,"product")),r.totalVersionCount>0&&t.push(s.pluralize(r.totalVersionCount,"version")),n.push(`${l}${t.join(", ")}`)}else"hasChildren"in i&&i.hasChildren&&n.push(`${l}child folders`),"taskNames"in i&&i.taskNames&&i.taskNames.length>0&&n.push(`${l}${s.pluralize(i.taskNames.length,"task")}`)}return n},F=({onSuccess:o})=>{const{updateEntities:c}=x.useProjectTableQueriesContext(),{projectName:a}=w.useProjectContext(),{getEntityById:d}=j.useProjectTableContext(),[n]=g.useLazyGetFolderDeleteInfoQuery();return b.useCallback(async i=>{if(!i||i.length===0){D.toast.error("No entities selected");return}const r=[],l=new Set;for(const e of i){const q=d(e);q&&!l.has(q.id)&&(r.push(q),l.add(q.id))}if(r.length===0){D.toast.error("No entities found");return}const C=new Set(r.map(e=>e.id)),t=r.filter(e=>e.entityType==="folder"&&"parentId"in e&&e.parentId?!C.has(e.parentId):"folderId"in e&&e.folderId?!C.has(e.folderId):!0),m=async(e=!1)=>{const q=[];for(const u of r)u&&q.push({entityType:"folderId"in u?"task":"folder",type:"delete",entityId:u.id,rowId:u.rowId,force:e});try{await c?.({operations:q}),o&&o()}catch(u){const E=u?.error||"Failed to delete entities";throw console.error("Failed to delete entities:",u),{message:E,...u}}},f={};for(const e of t)f[e.entityType]=(f[e.entityType]||0)+1;let p;if(t.length===1){const e=t[0];p=`"${e.label||e.name}"`}else p=["folder","task","product","version"].filter(u=>f[u]>0).map(u=>s.pluralize(f[u],u)).join(", ");const h=t.filter(e=>e.entityType==="folder");let y=[];if(h.length>0&&a)try{const e=await n({projectName:a,folderIds:h.map(q=>q.id)}).unwrap();y=I(h,e)}catch(e){console.warn("Failed to fetch folder delete info, falling back to local data",e),y=I(h,[])}k.confirmDelete({label:"folders and tasks",message:T.jsxRuntimeExports.jsx(s.DeleteConfirmContent,{entityLabel:p,childrenDetails:y}),accept:m,onError:e=>{e?.errorCodes?.includes("delete-folder-with-children")&&(window.confirm(`Are you really sure you want to delete ${p} and all of its dependencies? This cannot be undone. (NOT RECOMMENDED)`)?m(!0):console.log("User cancelled forced delete"))},deleteLabel:"Delete forever"})},[d,c,o,a,n])};module.exports=F;
2
2
  //# sourceMappingURL=useDeleteEntities.cjs.js.map
@@ -204,10 +204,6 @@ import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
204
204
  import "../../../components/SizeSlider/SizeSlider.es.js";
205
205
  import "react-router-dom";
206
206
  import "../../Slicer/components/Slicer.es.js";
207
- import "../../Views/ViewsMenu/ViewsMenu.es.js";
208
- import "../../Views/context/ViewsContextInstance.es.js";
209
- import "../../Views/Views.styled.es.js";
210
- import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
211
207
  import "../../Slicer/context/SlicerContextInstance.es.js";
212
208
  import "../../Slicer/components/SlicerDropdownFallback.es.js";
213
209
  import "../../Slicer/hooks/useTableDataBySlice.es.js";
@@ -292,6 +288,10 @@ import "../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.
292
288
  import "../../Actions/Actions.styled.es.js";
293
289
  import "../../Actions/ActionsDropdown/ActionsDropdown.es.js";
294
290
  import "../../Actions/ActionIcon.es.js";
291
+ import "../../Views/ViewsMenu/ViewsMenu.es.js";
292
+ import "../../Views/context/ViewsContextInstance.es.js";
293
+ import "../../Views/Views.styled.es.js";
294
+ import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
295
295
  import "../../ListTable/ListTableRow.es.js";
296
296
  import "../../ListTable/ListTable.styled.es.js";
297
297
  const E = (e, d) => {
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});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/dataImport.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/projectFolders.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/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/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.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");const B=require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");const oe=require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.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/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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 n=require("react");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");const Ke=require("lodash");require("react-toastify");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("uuid");const Xe=require("../../../util/getGroupByDataType.cjs.js");require("../../../util/pubsub.cjs.js");require("../../../context/SubtasksModulesContextInstance.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/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");const Ze=require("../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");const $e=require("../../../hooks/useGroupedPagination.cjs.js");require("../components/GroupSettingsFallback.cjs.js");const Ve=require("../utils/loadingUtils.cjs.js");require("@ynput/ayon-react-components");require("../../../components/SearchFilter/filterDates.cjs.js");require("date-fns");require("clsx");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.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/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../components/InfoMessage/InfoMessage.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.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("remark-emoji");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/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.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/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.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/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.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("../widgets/LinksWidget.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");const Y=require("./useBuildGroupByTableData.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectTableContextInstance.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../components/DeleteConfirmContent.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectDataContextInstance.cjs.js");require("../context/CellEditingContext.cjs.js");const He=require("../utils/getGroupQueries.cjs.js");require("../components/TableFooterRow.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Slicer/context/SlicerContextInstance.cjs.js");require("../../Slicer/components/SlicerDropdownFallback.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.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/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.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("react-router-dom");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.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/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/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");const er=require("../utils/getFolderIdsToQueryFromExpanded.cjs.js"),rr=300,ir=({projectName:I,selectedFolders:o,excludeSelectedFolders:l=!1,taskIds:g,taskFilters:a,folderFilters:h,sorting:j,groupBy:p,taskGroups:x=[],taskGroupsCount:ae,expanded:T,showHierarchy:c,isFlatFolderView:d=!1,attribFields:de,modules:ce,skipLinks:L,showComments:O=!1,onCollapseAll:C,visibleEntityIds:_=[]})=>{const{isLoading:w}=ce,{folders:f,isLoading:fe,isUninitialized:le,refetch:ge,getFolderById:J}=Ze.useProjectFoldersContext(),E=Object.entries(T).filter(([,e])=>e).filter(([e])=>!Y.isGroupId(e)).map(([e])=>e),F=n.useMemo(()=>er.getFolderIdsToQueryFromExpanded(T,E,o,l,J),[T,E,o,l,J]),[K,pe]=n.useState(_),R=n.useMemo(()=>Ke.debounce(e=>pe(e),rr),[]);n.useEffect(()=>(R(_),()=>R.cancel()),[_,R]);const X=n.useMemo(()=>{if(!c||d)return F;const e=new Set(K);return F.filter(t=>e.has(t))},[F,c,d,K]),{data:y=[],isFetching:Z,error:A,refetch:he,isUninitialized:Te}=B.useGetOverviewTasksByFoldersQuery({projectName:I,parentIds:X,filter:a.filterString,folderFilter:h.filterString,search:a.search,showComments:O},{skip:!X.length||!c&&!d}),$=!a.filterString&&!h.filterString&&!a.search&&!h.search||!f.length||!c&&!d,{data:v,isUninitialized:V,isLoading:ke,isUninitialized:Ie,error:ye,refetch:Me}=B.useGetSearchFoldersQuery({projectName:I,folderSearchRequest:{taskFilter:a.filter?.conditions?.length?a.filter:void 0,folderFilter:h.filter?.conditions?.length?h.filter:void 0,search:a.search}},{skip:$}),W=n.useMemo(()=>{const e=new Set;return f.forEach(t=>{if(!t.parentId){e.add(t.id);return}const r=t.parentId,i=l?o.includes(r):o.includes(t.id);(T[r]===!0||i)&&e.add(t.id)}),e},[f,v,$,T,o,l]),{data:P=[],refetch:Le,isUninitialized:me,isFetching:H}=oe.useGetEntityLinksQuery({projectName:I,entityIds:Array.from(W),entityType:"folder"},{skip:L}),k=n.useMemo(()=>{const e=new Map,t=r=>({...r,entityId:r.id,entityType:"folder",links:P?.find(u=>u.id===r.id)?.links||[]});if(!V&&v&&f.length){const r=new Set;for(const s of v)r.add(s);const i=new Map;for(const s of f)i.set(s.id,s);const u=s=>{const q=i.get(s);q&&q.parentId&&(r.add(q.parentId),u(q.parentId))};if(!d){const s=[...r];for(const q of s)u(q)}for(const s of f)r.has(s.id)&&e.set(s.id,t(s))}else for(const r of f)e.set(r.id,t(r));if(o.length){const r=o.map(u=>f.find(s=>s.id===u)?.path).filter(Boolean),i=new Map;return e.forEach((u,s)=>{const q=u.path,Q=r.includes(q);(r.some(Je=>q.startsWith(Je+"/"))||Q&&(!l||d))&&i.set(s,t(u))}),i}return e},[f,v,V,o,l,P,d]),Ee=n.useMemo(()=>Z?Ve.determineLoadingTaskFolders({expandedFoldersTasks:y,expandedParentIds:E,foldersMap:k}):{},[Z,y,E,k]),[ee,ve]=n.useState("");n.useEffect(()=>{ee&&ve("")},[j,ee]);const M={...j[0]},S=M?.id==="name"&&!c?"path":M?.id==="subType"?"taskType":M?.id,Pe=o.length?Array.from(new Set([...k.keys(),...l?o:[]])):void 0,m=c&&l&&o.length?o:void 0,{data:N,isLoading:Se,error:Ge,fetchNextPage:be,hasNextPage:Ue,isFetchingNextPage:ze,isUninitialized:De,refetch:Qe}=B.useGetTasksListInfiniteInfiniteQuery({projectName:I,filter:a.filterString,folderFilter:h.filterString,search:a.search,folderIds:g?.length?void 0:m??(o?.length?o:void 0),taskIds:g?.length?g:void 0,sortBy:S?S.replace("_","."):void 0,desc:!!M?.desc,showComments:O,includeFolderChildren:!m},{skip:(c&&!m||d)&&!g?.length,initialPageParam:{cursor:"",desc:!!M?.desc}}),G=n.useMemo(()=>N?.pages?N.pages.flatMap(e=>e.tasks||[]):[],[N?.pages]),{pageCounts:re,incrementPageCount:Be}=$e.useGroupedPagination({groups:x}),ie=Xe.getGroupByDataType(p,de),ue=n.useMemo(()=>Object.entries(T).filter(([,e])=>e).filter(([e])=>Y.isGroupId(e)).map(([e])=>e.slice(Y.GROUP_BY_ID.length)),[T]),te=n.useMemo(()=>p?He.getGroupQueries({groups:x,filters:a.filter,groupBy:p,groupPageCounts:re,dataType:ie}).filter(t=>ue.includes(t.value)):[],[p,x,re,ie,a.filter,ue]),{data:{tasks:se=[]}={},isUninitialized:xe,error:Oe,refetch:Ce}=B.useGetGroupedTasksListQuery({projectName:I,groups:te,sortBy:S?S.replace("_","."):void 0,desc:!!M?.desc,search:a.search,folderFilter:h.filterString,folderIds:Pe,groupCount:ae,showComments:O},{skip:!p||!te.length||w}),b=n.useMemo(()=>g?.length?G:d?y:c?m?[...y,...G]:y:p?se:G,[g,c,m,d,p,G,y,se]),U=n.useMemo(()=>new Set(b.map(e=>e.id)),[b]),{data:z=[],refetch:_e,isUninitialized:Fe,isFetching:ne}=oe.useGetEntityLinksQuery({projectName:I,entityIds:Array.from(U),entityType:"task"},{skip:U.size===0||L}),Re=n.useMemo(()=>{const e=new Set;if(H&&!L){const t=new Set(P.map(r=>r.id));for(const r of W)t.has(r)||e.add(r)}if(ne&&!L){const t=new Set(z.map(r=>r.id));for(const r of U)t.has(r)||e.add(r)}return e},[H,ne,P,z,W,U,L]),Ae=e=>{p?e&&Be(e):Ue&&be()},{tasksMap:We,tasksByFolderMap:D}=n.useMemo(()=>{const e=new Map,t=new Map,r=i=>({...i,entityId:i.id,entityType:"task",links:z?.find(u=>u.id===i.id)?.links||[]});for(const i of b){const u=i.id,s=i.folderId;if(e.has(u)){const q=e.get(u),Q=r(i),qe={...q,...Q,groups:[...q.groups||[],...Q.groups||[]]};e.set(u,qe)}else e.set(u,r(i));if(t.has(s)){const q=t.get(s);q.includes(u)||q.push(u)}else t.set(s,[u])}return{tasksMap:e,tasksByFolderMap:t}},[b,z]),Ne=n.useMemo(()=>{if(!g?.length||!D.size)return k;const e=new Set;for(const i of D.keys())e.add(i);const t=i=>{const u=k.get(i);if(u&&u.parentId){const s=u.parentId;e.has(s)||(e.add(s),t(s))}};for(const i of e)t(i);const r=new Map;for(const[i,u]of k)e.has(i)&&r.set(i,u);return r},[k,D,g]),Ye=()=>{le||ge(),Te||he(),Ie||Me(),De||Qe(),xe||Ce(),me||Le(),Fe||_e()},je=Ge||ye||Oe,we=n.useMemo(()=>{if(A&&C)return{label:"Collapse all folders",icon:"restart_alt",callback:C}},[A,C]);return{foldersMap:Ne,tasksMap:We,tasksByFolderMap:D,error:je,softError:A?.error,softErrorAction:we,isLoadingAll:fe||Se||ke||w,isLoadingMore:ze,loadingTasks:Ee,loadingLinksEntityIds:Re,fetchNextPage:Ae,reloadTableData:Ye}};exports.useFetchOverviewData=ir;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});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/dataImport.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/projectFolders.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/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/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.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");const B=require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");const oe=require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.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/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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 n=require("react");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");const Xe=require("lodash");require("react-toastify");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("uuid");const Ze=require("../../../util/getGroupByDataType.cjs.js");require("../../../util/pubsub.cjs.js");require("../../../context/SubtasksModulesContextInstance.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/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");const $e=require("../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");const we=require("../../../hooks/useGroupedPagination.cjs.js");require("../components/GroupSettingsFallback.cjs.js");const Ve=require("../utils/loadingUtils.cjs.js");require("@ynput/ayon-react-components");require("../../../components/SearchFilter/filterDates.cjs.js");require("date-fns");require("clsx");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.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/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../components/InfoMessage/InfoMessage.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.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("remark-emoji");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/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.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/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.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/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.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("../widgets/LinksWidget.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");const Y=require("./useBuildGroupByTableData.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectTableContextInstance.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../components/DeleteConfirmContent.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectDataContextInstance.cjs.js");require("../context/CellEditingContext.cjs.js");const He=require("../utils/getGroupQueries.cjs.js");require("../components/TableFooterRow.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContextInstance.cjs.js");require("../../Slicer/components/SlicerDropdownFallback.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.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/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.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("react-router-dom");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.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/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/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");const er=require("../utils/getFolderIdsToQueryFromExpanded.cjs.js"),rr=300,ir=({projectName:I,selectedFolders:o,excludeSelectedFolders:l=!1,taskIds:g,taskFilters:a,folderFilters:h,sorting:j,groupBy:p,taskGroups:x=[],taskGroupsCount:ae,expanded:T,showHierarchy:d,isFlatFolderView:c=!1,attribFields:de,modules:ce,skipLinks:L,showComments:O=!1,onCollapseAll:C,visibleEntityIds:_=[]})=>{const{isLoading:J}=ce,{folders:f,isLoading:fe,isUninitialized:le,refetch:ge,getFolderById:K}=$e.useProjectFoldersContext(),E=Object.entries(T).filter(([,e])=>e).filter(([e])=>!Y.isGroupId(e)).map(([e])=>e),F=n.useMemo(()=>er.getFolderIdsToQueryFromExpanded({expanded:T,expandedParentIds:E,selectedFolders:o,excludeSelectedFolders:l,getFolderById:K,showHierarchy:d}),[T,E,o,l,K,d]),[X,pe]=n.useState(_),R=n.useMemo(()=>Xe.debounce(e=>pe(e),rr),[]);n.useEffect(()=>(R(_),()=>R.cancel()),[_,R]);const Z=n.useMemo(()=>{if(!d||c)return F;const e=new Set(X);return F.filter(t=>e.has(t))},[F,d,c,X]),{data:y=[],isFetching:$,error:A,refetch:he,isUninitialized:Te}=B.useGetOverviewTasksByFoldersQuery({projectName:I,parentIds:Z,filter:a.filterString,folderFilter:h.filterString,search:a.search,showComments:O},{skip:!Z.length||!d&&!c}),w=!a.filterString&&!h.filterString&&!a.search&&!h.search||!f.length||!d&&!c,{data:v,isUninitialized:V,isLoading:ke,isUninitialized:Ie,error:ye,refetch:Me}=B.useGetSearchFoldersQuery({projectName:I,folderSearchRequest:{taskFilter:a.filter?.conditions?.length?a.filter:void 0,folderFilter:h.filter?.conditions?.length?h.filter:void 0,search:a.search}},{skip:w}),W=n.useMemo(()=>{const e=new Set;return f.forEach(t=>{if(!t.parentId){e.add(t.id);return}const r=t.parentId,i=l?o.includes(r):o.includes(t.id);(T[r]===!0||i)&&e.add(t.id)}),e},[f,v,w,T,o,l]),{data:P=[],refetch:Le,isUninitialized:me,isFetching:H}=oe.useGetEntityLinksQuery({projectName:I,entityIds:Array.from(W),entityType:"folder"},{skip:L}),k=n.useMemo(()=>{const e=new Map,t=r=>({...r,entityId:r.id,entityType:"folder",links:P?.find(u=>u.id===r.id)?.links||[]});if(!V&&v&&f.length){const r=new Set;for(const s of v)r.add(s);const i=new Map;for(const s of f)i.set(s.id,s);const u=s=>{const q=i.get(s);q&&q.parentId&&(r.add(q.parentId),u(q.parentId))};if(!c){const s=[...r];for(const q of s)u(q)}for(const s of f)r.has(s.id)&&e.set(s.id,t(s))}else for(const r of f)e.set(r.id,t(r));if(o.length){const r=o.map(u=>f.find(s=>s.id===u)?.path).filter(Boolean),i=new Map;return e.forEach((u,s)=>{const q=u.path,Q=r.includes(q);(r.some(Ke=>q.startsWith(Ke+"/"))||Q&&(!l||c))&&i.set(s,t(u))}),i}return e},[f,v,V,o,l,P,c]),Ee=n.useMemo(()=>$?Ve.determineLoadingTaskFolders({expandedFoldersTasks:y,expandedParentIds:E,foldersMap:k}):{},[$,y,E,k]),[ee,ve]=n.useState("");n.useEffect(()=>{ee&&ve("")},[j,ee]);const M={...j[0]},S=M?.id==="name"&&!d?"path":M?.id==="subType"?"taskType":M?.id,Pe=o.length?Array.from(new Set([...k.keys(),...l?o:[]])):void 0,m=d&&l&&o.length?o:void 0,{data:N,isLoading:Se,error:Ge,fetchNextPage:be,hasNextPage:Ue,isFetchingNextPage:ze,isUninitialized:De,refetch:Qe}=B.useGetTasksListInfiniteInfiniteQuery({projectName:I,filter:a.filterString,folderFilter:h.filterString,search:a.search,folderIds:g?.length?void 0:m??(o?.length?o:void 0),taskIds:g?.length?g:void 0,sortBy:S?S.replace("_","."):void 0,desc:!!M?.desc,showComments:O,includeFolderChildren:!m},{skip:(d&&!m||c)&&!g?.length,initialPageParam:{cursor:"",desc:!!M?.desc}}),G=n.useMemo(()=>N?.pages?N.pages.flatMap(e=>e.tasks||[]):[],[N?.pages]),{pageCounts:re,incrementPageCount:Be}=we.useGroupedPagination({groups:x}),ie=Ze.getGroupByDataType(p,de),ue=n.useMemo(()=>Object.entries(T).filter(([,e])=>e).filter(([e])=>Y.isGroupId(e)).map(([e])=>e.slice(Y.GROUP_BY_ID.length)),[T]),te=n.useMemo(()=>p?He.getGroupQueries({groups:x,filters:a.filter,groupBy:p,groupPageCounts:re,dataType:ie}).filter(t=>ue.includes(t.value)):[],[p,x,re,ie,a.filter,ue]),{data:{tasks:se=[]}={},isUninitialized:xe,error:Oe,refetch:Ce}=B.useGetGroupedTasksListQuery({projectName:I,groups:te,sortBy:S?S.replace("_","."):void 0,desc:!!M?.desc,search:a.search,folderFilter:h.filterString,folderIds:Pe,groupCount:ae,showComments:O},{skip:!p||!te.length||J}),b=n.useMemo(()=>g?.length?G:c?y:d?m?[...y,...G]:y:p?se:G,[g,d,m,c,p,G,y,se]),U=n.useMemo(()=>new Set(b.map(e=>e.id)),[b]),{data:z=[],refetch:_e,isUninitialized:Fe,isFetching:ne}=oe.useGetEntityLinksQuery({projectName:I,entityIds:Array.from(U),entityType:"task"},{skip:U.size===0||L}),Re=n.useMemo(()=>{const e=new Set;if(H&&!L){const t=new Set(P.map(r=>r.id));for(const r of W)t.has(r)||e.add(r)}if(ne&&!L){const t=new Set(z.map(r=>r.id));for(const r of U)t.has(r)||e.add(r)}return e},[H,ne,P,z,W,U,L]),Ae=e=>{p?e&&Be(e):Ue&&be()},{tasksMap:We,tasksByFolderMap:D}=n.useMemo(()=>{const e=new Map,t=new Map,r=i=>({...i,entityId:i.id,entityType:"task",links:z?.find(u=>u.id===i.id)?.links||[]});for(const i of b){const u=i.id,s=i.folderId;if(e.has(u)){const q=e.get(u),Q=r(i),qe={...q,...Q,groups:[...q.groups||[],...Q.groups||[]]};e.set(u,qe)}else e.set(u,r(i));if(t.has(s)){const q=t.get(s);q.includes(u)||q.push(u)}else t.set(s,[u])}return{tasksMap:e,tasksByFolderMap:t}},[b,z]),Ne=n.useMemo(()=>{if(!g?.length||!D.size)return k;const e=new Set;for(const i of D.keys())e.add(i);const t=i=>{const u=k.get(i);if(u&&u.parentId){const s=u.parentId;e.has(s)||(e.add(s),t(s))}};for(const i of e)t(i);const r=new Map;for(const[i,u]of k)e.has(i)&&r.set(i,u);return r},[k,D,g]),Ye=()=>{le||ge(),Te||he(),Ie||Me(),De||Qe(),xe||Ce(),me||Le(),Fe||_e()},je=Ge||ye||Oe,Je=n.useMemo(()=>{if(A&&C)return{label:"Collapse all folders",icon:"restart_alt",callback:C}},[A,C]);return{foldersMap:Ne,tasksMap:We,tasksByFolderMap:D,error:je,softError:A?.error,softErrorAction:Je,isLoadingAll:fe||Se||ke||J,isLoadingMore:ze,loadingTasks:Ee,loadingLinksEntityIds:Re,fetchNextPage:Ae,reloadTableData:Ye}};exports.useFetchOverviewData=ir;
2
2
  //# sourceMappingURL=useFetchOverviewData.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchOverviewData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetSearchFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type { FolderListItem, GetGroupedTasksListArgs, EntityGroup, QueryFilter } from '@shared/api'\nimport { useGroupedPagination, useQueryArgumentChangeLoading } from '@shared/hooks'\nimport { getGroupByDataType } from '@shared/util'\nimport { EditorTaskNode, FolderNodeMap, MatchingFolder, TaskNodeMap } from '../types/table'\nimport { useEffect, useMemo, useState } from 'react'\nimport { ExpandedState, SortingState } from '@tanstack/react-table'\nimport { determineLoadingTaskFolders } from '../utils/loadingUtils'\nimport { LoadingTasks, SoftErrorAction } from '../types'\nimport { getFolderIdsToQueryFromExpanded, TasksByFolderMap } from '../utils'\nimport { TableGroupBy } from '../context'\nimport { isGroupId, GROUP_BY_ID } from '../hooks/useBuildGroupByTableData'\nimport { getGroupQueries } from '../utils/getGroupQueries'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from '@shared/hooks'\nimport { useGetEntityLinksQuery } from '@shared/api'\nimport { useProjectFoldersContext } from '@shared/context'\nimport { debounce } from 'lodash'\n\n// how long a folder must stay rendered in the viewport before its tasks are fetched.\n// prevents firing a request per folder while the user is quickly scrolling past them.\nconst VISIBLE_FOLDERS_DEBOUNCE_MS = 300\n\ntype QueryFilterParams = {\n filter: QueryFilter | undefined\n filterString?: string\n search?: string\n}\n\ntype useFetchOverviewDataData = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n error?: unknown // first task/folder load failure (e.g. corrupt filter), if any\n softError?: string // error for fetching tasks for expanded folders, if any\n softErrorAction?: SoftErrorAction\n isLoadingAll: boolean // the whole table is a loading state\n isLoadingMore: boolean // loading more tasks\n loadingTasks: LoadingTasks // show number of loading tasks per folder or root\n loadingLinksEntityIds: Set<string> // entity IDs whose links are currently being fetched (not yet cached)\n fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n}\n\ntype Params = {\n projectName: string\n selectedFolders: string[] // folders selected in the slicer (hierarchy)\n excludeSelectedFolders?: boolean\n taskIds?: string[] // specific task IDs to filter by (from entity list slicer)\n taskFilters: QueryFilterParams // filters for tasks\n folderFilters: QueryFilterParams // filters for folders\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n taskGroupsCount?: number // override for number of items per group\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n skipLinks?: boolean\n showComments?: boolean // only fetch latestComments when the comments column is visible\n onCollapseAll?: () => void\n // entity ids currently rendered in the table's viewport (hierarchy mode only) - used to\n // scope task fetching to folders actually on screen, rather than every expanded folder\n visibleEntityIds?: string[]\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n excludeSelectedFolders = false,\n taskIds, // specific task IDs from entity list slicer\n taskFilters,\n folderFilters,\n sorting,\n groupBy,\n taskGroups = [],\n taskGroupsCount,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n attribFields,\n modules,\n skipLinks,\n showComments = false,\n onCollapseAll,\n visibleEntityIds = [],\n}: Params): useFetchOverviewDataData => {\n const { isLoading: isLoadingModules } = modules\n\n const {\n folders,\n isLoading: isLoadingFolders,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n getFolderById,\n } = useProjectFoldersContext()\n\n const expandedParentIds = Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => !isGroupId(id)) // filter out the root folder\n .map(([id]) => id)\n\n const expandedFolderIdsToQuery = useMemo(\n () =>\n getFolderIdsToQueryFromExpanded(\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n ),\n [expanded, expandedParentIds, selectedFolders, excludeSelectedFolders, getFolderById],\n )\n\n // Debounce the rendered viewport rows so fast scrolling doesn't fire a new\n // request for every folder scrolled past - only once it's settled on screen.\n const [debouncedVisibleEntityIds, setDebouncedVisibleEntityIds] =\n useState<string[]>(visibleEntityIds)\n\n const debouncedSetVisible = useMemo(\n () =>\n debounce((ids: string[]) => setDebouncedVisibleEntityIds(ids), VISIBLE_FOLDERS_DEBOUNCE_MS),\n [],\n )\n\n useEffect(() => {\n debouncedSetVisible(visibleEntityIds)\n return () => debouncedSetVisible.cancel()\n }, [visibleEntityIds, debouncedSetVisible])\n\n // In hierarchy mode, only fetch tasks for expanded folders that are currently\n // rendered in the viewport, instead of every expanded folder in the tree.\n // Not applied to flat folder view: rows there are top-level folders, not\n // nested paths, so there's no \"off screen ancestor\" case to guard against,\n // and filtering there would delay every row's expand-to-reveal-tasks interaction.\n const taskFolderIdsToQuery = useMemo(() => {\n if (!showHierarchy || isFlatFolderView) {\n return expandedFolderIdsToQuery\n }\n const visibleIdsSet = new Set(debouncedVisibleEntityIds)\n return expandedFolderIdsToQuery.filter((id) => visibleIdsSet.has(id))\n }, [expandedFolderIdsToQuery, showHierarchy, isFlatFolderView, debouncedVisibleEntityIds])\n\n const {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n error: expandedFoldersTasksError,\n refetch: refetchExpandedFoldersTasks,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(\n {\n projectName,\n parentIds: taskFolderIdsToQuery,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n showComments,\n },\n { skip: !taskFolderIdsToQuery.length || (!showHierarchy && !isFlatFolderView) },\n )\n\n const skipFoldersByTaskFilter =\n (!taskFilters.filterString &&\n !folderFilters.filterString &&\n !taskFilters.search &&\n !folderFilters.search) ||\n !folders.length ||\n (!showHierarchy && !isFlatFolderView)\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isLoading: isLoadingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n error: searchFoldersError,\n refetch: refetchTasksFolders,\n } = useGetSearchFoldersQuery(\n {\n projectName,\n folderSearchRequest: {\n taskFilter: taskFilters.filter?.conditions?.length ? taskFilters.filter : undefined,\n folderFilter: folderFilters.filter?.conditions?.length ? folderFilters.filter : undefined,\n search: taskFilters.search,\n },\n },\n {\n skip: skipFoldersByTaskFilter,\n },\n )\n\n // create a list of folders that are current visible in the table\n // root folders are always visible\n // then a folder is visible if it's parent is expanded\n const visibleFolders = useMemo(() => {\n const visibleSet = new Set<string>()\n\n // Check each folder in the map\n folders.forEach((folder) => {\n // Root folders are always visible\n if (!folder.parentId) {\n visibleSet.add(folder.id)\n return\n }\n\n // Check if parent is expanded\n const parentId = folder.parentId as string\n const isRootFromSlicer = excludeSelectedFolders\n ? selectedFolders.includes(parentId)\n : selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isRootFromSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [\n folders,\n foldersByTaskFilter,\n skipFoldersByTaskFilter,\n expanded,\n selectedFolders,\n excludeSelectedFolders,\n ])\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n refetch: refetchFoldersLinks,\n isUninitialized: isUninitializedFoldersLinks,\n isFetching: isFetchingFoldersLinks,\n } = useGetEntityLinksQuery(\n {\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder',\n },\n { skip: skipLinks },\n )\n\n // create a map of folders by id for efficient lookups\n const foldersMap: FolderNodeMap = useMemo(() => {\n const map = new Map()\n\n const addExtraDataToFolder = (folder: FolderListItem) => {\n // add any extra data to folder\n const folderWithExtraData: MatchingFolder = {\n ...folder,\n entityId: folder.id,\n entityType: 'folder',\n links: foldersLinks?.find((link) => link.id === folder.id)?.links || [],\n }\n return folderWithExtraData\n }\n\n // If we have task filters and folders to filter\n if (!isUninitialized && foldersByTaskFilter && folders.length) {\n // Create a set for efficient lookups of filtered folder IDs\n const relevantFolderIds = new Set<string>()\n\n // First pass: Add all folders from the task filter\n for (const folderId of foldersByTaskFilter) {\n relevantFolderIds.add(folderId)\n }\n\n // Create a map of folders by ID for parentId lookups\n const foldersByIdMap = new Map<string, (typeof folders)[0]>()\n for (const folder of folders) {\n foldersByIdMap.set(folder.id as string, folder)\n }\n\n // Second pass: Add all parent folders of filtered folders\n const addParents = (folderId: string) => {\n const folder = foldersByIdMap.get(folderId)\n if (folder && folder.parentId) {\n relevantFolderIds.add(folder.parentId as string)\n addParents(folder.parentId as string)\n }\n }\n\n // In flat folder view folders are shown as top-level rows — ancestors are\n // not needed and would bring in unrelated subtrees (e.g. showing the root\n // \"assets\" node which then exposes all its children).\n // In hierarchy mode ancestors ARE needed so the tree path is navigable.\n if (!isFlatFolderView) {\n const matchedIds = [...relevantFolderIds]\n for (const folderId of matchedIds) {\n addParents(folderId)\n }\n }\n\n // Third pass: Build the final map using only relevant folders\n for (const folder of folders) {\n if (relevantFolderIds.has(folder.id as string)) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n } else {\n // No filtering, include all folders\n for (const folder of folders) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n\n // Filter by selected folders if needed\n if (selectedFolders.length) {\n const selectedPaths = selectedFolders\n .map((id) => folders.find((folder) => folder.id === id)?.path)\n .filter(Boolean) as string[]\n\n // Create a new map that only contains selected folders and their children\n const filteredMap = new Map()\n\n // For each folder, check if it should be included\n map.forEach((folder, folderId) => {\n const folderPath = folder.path as string\n\n const isSelected = selectedPaths.includes(folderPath)\n\n // Include if it's a child of any selected folder\n const isChild = selectedPaths.some((selectedPath) =>\n folderPath.startsWith(selectedPath + '/'),\n )\n\n if (isChild || (isSelected && (!excludeSelectedFolders || isFlatFolderView))) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [\n folders,\n foldersByTaskFilter,\n isUninitialized,\n selectedFolders,\n excludeSelectedFolders,\n foldersLinks,\n isFlatFolderView,\n ])\n\n // calculate partial loading states\n const loadingTasksForParents = useMemo(() => {\n if (isFetchingExpandedFoldersTasks) {\n return determineLoadingTaskFolders({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n })\n } else return {}\n }, [isFetchingExpandedFoldersTasks, expandedFoldersTasks, expandedParentIds, foldersMap])\n\n const [tasksListCursor, setTasksListCursor] = useState('')\n\n // every time the sorting changes, reset the cursor\n useEffect(() => {\n if (tasksListCursor) setTasksListCursor('')\n }, [sorting, tasksListCursor])\n\n // Create sort params for infinite query\n const singleSort = { ...sorting[0] }\n // if task list and sorting by name, sort by path instead\n const sortByPath = singleSort?.id === 'name' && !showHierarchy\n const sortId = sortByPath ? 'path' : singleSort?.id === 'subType' ? 'taskType' : singleSort?.id\n const tasksFolderIdsParams = selectedFolders.length\n ? Array.from(\n new Set([...foldersMap.keys(), ...(excludeSelectedFolders ? selectedFolders : [])]),\n )\n : undefined\n\n // In hierarchy mode with slicer-selected folders, use GetTasksList with folderIds to fetch\n // tasks directly under those folders in a single paginated request, rather than firing one\n // request per folder via getOverviewTasksByFolders.\n const hierarchySlicerFolderIds =\n showHierarchy && excludeSelectedFolders && selectedFolders.length ? selectedFolders : undefined\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isLoading: isLoadingTasksList,\n error: tasksListError,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n refetch: refetchTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(\n {\n projectName,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n folderIds: taskIds?.length\n ? undefined\n : hierarchySlicerFolderIds ?? (selectedFolders?.length ? selectedFolders : undefined),\n taskIds: taskIds?.length ? taskIds : undefined,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n showComments,\n includeFolderChildren: !hierarchySlicerFolderIds, // Disable recursive task fetch for hierarchy+slicer mode\n },\n {\n // Skip flat task list for flat folder view (tasks loaded on folder expand).\n // In hierarchy+slicer mode, run it to fetch tasks under selected-but-hidden folders.\n // Always run it when entity list provides specific task IDs.\n skip: ((showHierarchy && !hierarchySlicerFolderIds) || isFlatFolderView) && !taskIds?.length,\n initialPageParam: {\n cursor: '',\n desc: !!singleSort?.desc,\n },\n },\n )\n\n // Extract tasks from infinite query data correctly\n const tasksList = useMemo(() => {\n if (!tasksListInfiniteData?.pages) return []\n return tasksListInfiniteData.pages.flatMap((page) => page.tasks || [])\n }, [tasksListInfiniteData?.pages])\n\n const { pageCounts: groupPageCounts, incrementPageCount } = useGroupedPagination({\n groups: taskGroups,\n })\n\n // for grouped tasks, we fetch all tasks for each group\n // we do this by building a list of groups with filters for that group\n const groupByDataType = getGroupByDataType(groupBy, attribFields)\n\n // get expanded group values from the expanded state\n // group IDs are formatted as `_GROUP_<value>` so we extract the values\n const expandedGroupValues = useMemo(() => {\n return Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => isGroupId(id))\n .map(([id]) => id.slice(GROUP_BY_ID.length))\n }, [expanded])\n\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n if (!groupBy) return []\n\n const allGroupQueries = getGroupQueries({\n groups: taskGroups,\n // @ts-expect-error: filter is the same\n filters: taskFilters.filter,\n groupBy,\n groupPageCounts,\n dataType: groupByDataType,\n })\n\n // Only fetch tasks for groups that are expanded\n return allGroupQueries.filter((group) => expandedGroupValues.includes(group.value))\n }, [\n groupBy,\n taskGroups,\n groupPageCounts,\n groupByDataType,\n taskFilters.filter,\n expandedGroupValues,\n ])\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isUninitialized: isUninitializedGroupedTasks,\n error: groupedTasksError,\n refetch: refetchGroupedTasks,\n } = useGetGroupedTasksListQuery(\n {\n projectName,\n groups: groupQueries,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n search: taskFilters.search,\n folderFilter: folderFilters.filterString,\n folderIds: tasksFolderIdsParams,\n groupCount: taskGroupsCount,\n showComments,\n },\n {\n skip: !groupBy || !groupQueries.length || isLoadingModules,\n },\n )\n\n // Resolve which task source to use based on current mode\n // When entity list provides specific task IDs, use flat task list even in hierarchy mode\n const resolvedTasks = useMemo(() => {\n if (taskIds?.length) return tasksList\n if (isFlatFolderView) return expandedFoldersTasks\n if (showHierarchy) {\n // In hierarchy+slicer mode, merge per-folder expanded tasks with tasks fetched via\n // GetTasksList for the slicer-selected (but not displayed) folders.\n if (hierarchySlicerFolderIds) return [...expandedFoldersTasks, ...tasksList]\n return expandedFoldersTasks\n }\n if (groupBy) return groupTasks\n return tasksList\n }, [\n taskIds,\n showHierarchy,\n hierarchySlicerFolderIds,\n isFlatFolderView,\n groupBy,\n tasksList,\n expandedFoldersTasks,\n groupTasks,\n ])\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n return new Set(resolvedTasks.map((task) => task.id))\n }, [resolvedTasks])\n\n // Get all links for visible tasks\n const {\n data: tasksLinks = [],\n refetch: refetchTasksLinks,\n isUninitialized: isUninitializedTasksLinks,\n isFetching: isFetchingTasksLinks,\n } = useGetEntityLinksQuery(\n {\n projectName,\n entityIds: Array.from(visibleTasks),\n entityType: 'task',\n },\n {\n skip: visibleTasks.size === 0 || skipLinks,\n },\n )\n\n // Compute entity IDs whose links are currently loading (in query but not yet in the cache result)\n const loadingLinksEntityIds = useMemo(() => {\n const ids = new Set<string>()\n\n if (isFetchingFoldersLinks && !skipLinks) {\n const cachedIds = new Set(foldersLinks.map((l) => l.id))\n for (const id of visibleFolders) {\n if (!cachedIds.has(id)) ids.add(id)\n }\n }\n\n if (isFetchingTasksLinks && !skipLinks) {\n const cachedIds = new Set(tasksLinks.map((l) => l.id))\n for (const id of visibleTasks) {\n if (!cachedIds.has(id)) ids.add(id)\n }\n }\n\n return ids\n }, [\n isFetchingFoldersLinks,\n isFetchingTasksLinks,\n foldersLinks,\n tasksLinks,\n visibleFolders,\n visibleTasks,\n skipLinks,\n ])\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n // Ungrouped is never seeded into pageCounts, so don't gate on key presence\n if (group) {\n incrementPageCount(group)\n }\n } else if (hasNextPage) {\n fetchNextPage()\n }\n }\n\n // tasksMaps is a map of tasks by task ID\n // tasksByFolderMap is a map of tasks by folder ID\n const { tasksMap, tasksByFolderMap } = useMemo(() => {\n const tasksMap: TaskNodeMap = new Map()\n const tasksByFolderMap: TasksByFolderMap = new Map()\n\n const addExtraDataToTask = (task: EditorTaskNode) => ({\n ...task,\n entityId: task.id,\n entityType: 'task' as const,\n links: tasksLinks?.find((link) => link.id === task.id)?.links || [],\n })\n\n for (const task of resolvedTasks) {\n const taskId = task.id as string\n const folderId = task.folderId as string\n\n if (tasksMap.has(taskId)) {\n // merge specific data if the task already exists\n const existingTask = tasksMap.get(taskId) as EditorTaskNode\n const currentTask = addExtraDataToTask(task)\n const mergedTask = {\n ...existingTask,\n ...currentTask,\n groups: [...(existingTask.groups || []), ...(currentTask.groups || [])],\n }\n\n tasksMap.set(taskId, mergedTask)\n } else {\n tasksMap.set(taskId, addExtraDataToTask(task))\n }\n\n if (tasksByFolderMap.has(folderId)) {\n // dedup like tasksMap — resolvedTasks can contain the same task twice\n // (overlapping infinite-query pages, or a task in multiple groups)\n const folderTaskIds = tasksByFolderMap.get(folderId)!\n if (!folderTaskIds.includes(taskId)) folderTaskIds.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [resolvedTasks, tasksLinks])\n\n // When entity list provides specific task IDs, filter folders to only those containing tasks\n const filteredFoldersMap: FolderNodeMap = useMemo(() => {\n if (!taskIds?.length || !tasksByFolderMap.size) return foldersMap\n\n const relevantFolderIds = new Set<string>()\n\n // Add all folders that contain selected tasks\n for (const folderId of tasksByFolderMap.keys()) {\n relevantFolderIds.add(folderId)\n }\n\n // Add parent folders for proper tree display\n const addParents = (folderId: string) => {\n const folder = foldersMap.get(folderId)\n if (folder && folder.parentId) {\n const parentId = folder.parentId as string\n if (!relevantFolderIds.has(parentId)) {\n relevantFolderIds.add(parentId)\n addParents(parentId)\n }\n }\n }\n\n for (const folderId of relevantFolderIds) {\n addParents(folderId)\n }\n\n const filtered = new Map() as FolderNodeMap\n for (const [id, folder] of foldersMap) {\n if (relevantFolderIds.has(id)) {\n filtered.set(id, folder)\n }\n }\n\n return filtered\n }, [foldersMap, tasksByFolderMap, taskIds])\n\n // reload all data for all queries\n const reloadTableData = () => {\n // only reload if there is data\n if (!isUninitializedFolders) refetchFolders()\n if (!isUninitializedExpandedFoldersTasks) refetchExpandedFoldersTasks()\n if (!isUninitializedTasksFolders) refetchTasksFolders()\n if (!isUninitializedTasksList) refetchTasksList()\n if (!isUninitializedGroupedTasks) refetchGroupedTasks()\n if (!isUninitializedFoldersLinks) refetchFoldersLinks()\n if (!isUninitializedTasksLinks) refetchTasksLinks()\n }\n\n const error = tasksListError || searchFoldersError || groupedTasksError\n\n const softErrorAction = useMemo<SoftErrorAction | undefined>(() => {\n if (expandedFoldersTasksError && onCollapseAll) {\n return {\n label: 'Collapse all folders',\n icon: 'restart_alt',\n callback: onCollapseAll,\n }\n }\n return undefined\n }, [expandedFoldersTasksError, onCollapseAll])\n\n return {\n foldersMap: filteredFoldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n error,\n // @ts-expect-error: error does exist on it\n softError: expandedFoldersTasksError?.error, // this is separate as we should still show the folders table so the user can make changes\n softErrorAction,\n isLoadingAll:\n isLoadingFolders || isLoadingTasksList || isLoadingTasksFolders || isLoadingModules, // these all show a full loading state\n isLoadingMore: isFetchingNextPageTasksList,\n loadingTasks: loadingTasksForParents,\n loadingLinksEntityIds,\n fetchNextPage: handleFetchNextPage,\n reloadTableData,\n }\n}\n"],"names":["VISIBLE_FOLDERS_DEBOUNCE_MS","useFetchOverviewData","projectName","selectedFolders","excludeSelectedFolders","taskIds","taskFilters","folderFilters","sorting","groupBy","taskGroups","taskGroupsCount","expanded","showHierarchy","isFlatFolderView","attribFields","modules","skipLinks","showComments","onCollapseAll","visibleEntityIds","isLoadingModules","folders","isLoadingFolders","isUninitializedFolders","refetchFolders","getFolderById","useProjectFoldersContext","expandedParentIds","isExpanded","id","isGroupId","expandedFolderIdsToQuery","useMemo","getFolderIdsToQueryFromExpanded","debouncedVisibleEntityIds","setDebouncedVisibleEntityIds","useState","debouncedSetVisible","debounce","ids","useEffect","taskFolderIdsToQuery","visibleIdsSet","expandedFoldersTasks","isFetchingExpandedFoldersTasks","expandedFoldersTasksError","refetchExpandedFoldersTasks","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","foldersByTaskFilter","isUninitialized","isLoadingTasksFolders","isUninitializedTasksFolders","searchFoldersError","refetchTasksFolders","useGetSearchFoldersQuery","visibleFolders","visibleSet","folder","parentId","isRootFromSlicer","foldersLinks","refetchFoldersLinks","isUninitializedFoldersLinks","isFetchingFoldersLinks","useGetEntityLinksQuery","foldersMap","map","addExtraDataToFolder","link","relevantFolderIds","folderId","foldersByIdMap","addParents","matchedIds","selectedPaths","filteredMap","folderPath","isSelected","selectedPath","loadingTasksForParents","determineLoadingTaskFolders","tasksListCursor","setTasksListCursor","singleSort","sortId","tasksFolderIdsParams","hierarchySlicerFolderIds","tasksListInfiniteData","isLoadingTasksList","tasksListError","fetchNextPage","hasNextPage","isFetchingNextPageTasksList","isUninitializedTasksList","refetchTasksList","useGetTasksListInfiniteInfiniteQuery","tasksList","page","groupPageCounts","incrementPageCount","useGroupedPagination","groupByDataType","getGroupByDataType","expandedGroupValues","GROUP_BY_ID","groupQueries","getGroupQueries","group","groupTasks","isUninitializedGroupedTasks","groupedTasksError","refetchGroupedTasks","useGetGroupedTasksListQuery","resolvedTasks","visibleTasks","task","tasksLinks","refetchTasksLinks","isUninitializedTasksLinks","isFetchingTasksLinks","loadingLinksEntityIds","cachedIds","l","handleFetchNextPage","tasksMap","tasksByFolderMap","addExtraDataToTask","taskId","existingTask","currentTask","mergedTask","folderTaskIds","filteredFoldersMap","filtered","reloadTableData","error","softErrorAction"],"mappings":"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"}
1
+ {"version":3,"file":"useFetchOverviewData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetSearchFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type { FolderListItem, GetGroupedTasksListArgs, EntityGroup, QueryFilter } from '@shared/api'\nimport { useGroupedPagination, useQueryArgumentChangeLoading } from '@shared/hooks'\nimport { getGroupByDataType } from '@shared/util'\nimport { EditorTaskNode, FolderNodeMap, MatchingFolder, TaskNodeMap } from '../types/table'\nimport { useEffect, useMemo, useState } from 'react'\nimport { ExpandedState, SortingState } from '@tanstack/react-table'\nimport { determineLoadingTaskFolders } from '../utils/loadingUtils'\nimport { LoadingTasks, SoftErrorAction } from '../types'\nimport { getFolderIdsToQueryFromExpanded, TasksByFolderMap } from '../utils'\nimport { TableGroupBy } from '../context'\nimport { isGroupId, GROUP_BY_ID } from '../hooks/useBuildGroupByTableData'\nimport { getGroupQueries } from '../utils/getGroupQueries'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from '@shared/hooks'\nimport { useGetEntityLinksQuery } from '@shared/api'\nimport { useProjectFoldersContext } from '@shared/context'\nimport { debounce } from 'lodash'\n\n// how long a folder must stay rendered in the viewport before its tasks are fetched.\n// prevents firing a request per folder while the user is quickly scrolling past them.\nconst VISIBLE_FOLDERS_DEBOUNCE_MS = 300\n\ntype QueryFilterParams = {\n filter: QueryFilter | undefined\n filterString?: string\n search?: string\n}\n\ntype useFetchOverviewDataData = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n error?: unknown // first task/folder load failure (e.g. corrupt filter), if any\n softError?: string // error for fetching tasks for expanded folders, if any\n softErrorAction?: SoftErrorAction\n isLoadingAll: boolean // the whole table is a loading state\n isLoadingMore: boolean // loading more tasks\n loadingTasks: LoadingTasks // show number of loading tasks per folder or root\n loadingLinksEntityIds: Set<string> // entity IDs whose links are currently being fetched (not yet cached)\n fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n}\n\ntype Params = {\n projectName: string\n selectedFolders: string[] // folders selected in the slicer (hierarchy)\n excludeSelectedFolders?: boolean\n taskIds?: string[] // specific task IDs to filter by (from entity list slicer)\n taskFilters: QueryFilterParams // filters for tasks\n folderFilters: QueryFilterParams // filters for folders\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n taskGroupsCount?: number // override for number of items per group\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n skipLinks?: boolean\n showComments?: boolean // only fetch latestComments when the comments column is visible\n onCollapseAll?: () => void\n // entity ids currently rendered in the table's viewport (hierarchy mode only) - used to\n // scope task fetching to folders actually on screen, rather than every expanded folder\n visibleEntityIds?: string[]\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n excludeSelectedFolders = false,\n taskIds, // specific task IDs from entity list slicer\n taskFilters,\n folderFilters,\n sorting,\n groupBy,\n taskGroups = [],\n taskGroupsCount,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n attribFields,\n modules,\n skipLinks,\n showComments = false,\n onCollapseAll,\n visibleEntityIds = [],\n}: Params): useFetchOverviewDataData => {\n const { isLoading: isLoadingModules } = modules\n\n const {\n folders,\n isLoading: isLoadingFolders,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n getFolderById,\n } = useProjectFoldersContext()\n\n const expandedParentIds = Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => !isGroupId(id)) // filter out the root folder\n .map(([id]) => id)\n\n const expandedFolderIdsToQuery = useMemo(\n () =>\n getFolderIdsToQueryFromExpanded({\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n showHierarchy,\n }),\n [\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n showHierarchy,\n ],\n )\n\n // Debounce the rendered viewport rows so fast scrolling doesn't fire a new\n // request for every folder scrolled past - only once it's settled on screen.\n const [debouncedVisibleEntityIds, setDebouncedVisibleEntityIds] =\n useState<string[]>(visibleEntityIds)\n\n const debouncedSetVisible = useMemo(\n () =>\n debounce((ids: string[]) => setDebouncedVisibleEntityIds(ids), VISIBLE_FOLDERS_DEBOUNCE_MS),\n [],\n )\n\n useEffect(() => {\n debouncedSetVisible(visibleEntityIds)\n return () => debouncedSetVisible.cancel()\n }, [visibleEntityIds, debouncedSetVisible])\n\n // In hierarchy mode, only fetch tasks for expanded folders that are currently\n // rendered in the viewport, instead of every expanded folder in the tree.\n // Not applied to flat folder view: rows there are top-level folders, not\n // nested paths, so there's no \"off screen ancestor\" case to guard against,\n // and filtering there would delay every row's expand-to-reveal-tasks interaction.\n const visibleFolderIdsToQuery = useMemo(() => {\n if (!showHierarchy || isFlatFolderView) {\n return expandedFolderIdsToQuery\n }\n const visibleIdsSet = new Set(debouncedVisibleEntityIds)\n return expandedFolderIdsToQuery.filter((id) => visibleIdsSet.has(id))\n }, [expandedFolderIdsToQuery, showHierarchy, isFlatFolderView, debouncedVisibleEntityIds])\n\n const {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n error: expandedFoldersTasksError,\n refetch: refetchExpandedFoldersTasks,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(\n {\n projectName,\n parentIds: visibleFolderIdsToQuery,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n showComments,\n },\n { skip: !visibleFolderIdsToQuery.length || (!showHierarchy && !isFlatFolderView) },\n )\n\n const skipFoldersByTaskFilter =\n (!taskFilters.filterString &&\n !folderFilters.filterString &&\n !taskFilters.search &&\n !folderFilters.search) ||\n !folders.length ||\n (!showHierarchy && !isFlatFolderView)\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isLoading: isLoadingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n error: searchFoldersError,\n refetch: refetchTasksFolders,\n } = useGetSearchFoldersQuery(\n {\n projectName,\n folderSearchRequest: {\n taskFilter: taskFilters.filter?.conditions?.length ? taskFilters.filter : undefined,\n folderFilter: folderFilters.filter?.conditions?.length ? folderFilters.filter : undefined,\n search: taskFilters.search,\n },\n },\n {\n skip: skipFoldersByTaskFilter,\n },\n )\n\n // create a list of folders that are current visible in the table\n // root folders are always visible\n // then a folder is visible if it's parent is expanded\n const visibleFolders = useMemo(() => {\n const visibleSet = new Set<string>()\n\n // Check each folder in the map\n folders.forEach((folder) => {\n // Root folders are always visible\n if (!folder.parentId) {\n visibleSet.add(folder.id)\n return\n }\n\n // Check if parent is expanded\n const parentId = folder.parentId as string\n const isRootFromSlicer = excludeSelectedFolders\n ? selectedFolders.includes(parentId)\n : selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isRootFromSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [\n folders,\n foldersByTaskFilter,\n skipFoldersByTaskFilter,\n expanded,\n selectedFolders,\n excludeSelectedFolders,\n ])\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n refetch: refetchFoldersLinks,\n isUninitialized: isUninitializedFoldersLinks,\n isFetching: isFetchingFoldersLinks,\n } = useGetEntityLinksQuery(\n {\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder',\n },\n { skip: skipLinks },\n )\n\n // create a map of folders by id for efficient lookups\n const foldersMap: FolderNodeMap = useMemo(() => {\n const map = new Map()\n\n const addExtraDataToFolder = (folder: FolderListItem) => {\n // add any extra data to folder\n const folderWithExtraData: MatchingFolder = {\n ...folder,\n entityId: folder.id,\n entityType: 'folder',\n links: foldersLinks?.find((link) => link.id === folder.id)?.links || [],\n }\n return folderWithExtraData\n }\n\n // If we have task filters and folders to filter\n if (!isUninitialized && foldersByTaskFilter && folders.length) {\n // Create a set for efficient lookups of filtered folder IDs\n const relevantFolderIds = new Set<string>()\n\n // First pass: Add all folders from the task filter\n for (const folderId of foldersByTaskFilter) {\n relevantFolderIds.add(folderId)\n }\n\n // Create a map of folders by ID for parentId lookups\n const foldersByIdMap = new Map<string, (typeof folders)[0]>()\n for (const folder of folders) {\n foldersByIdMap.set(folder.id as string, folder)\n }\n\n // Second pass: Add all parent folders of filtered folders\n const addParents = (folderId: string) => {\n const folder = foldersByIdMap.get(folderId)\n if (folder && folder.parentId) {\n relevantFolderIds.add(folder.parentId as string)\n addParents(folder.parentId as string)\n }\n }\n\n // In flat folder view folders are shown as top-level rows — ancestors are\n // not needed and would bring in unrelated subtrees (e.g. showing the root\n // \"assets\" node which then exposes all its children).\n // In hierarchy mode ancestors ARE needed so the tree path is navigable.\n if (!isFlatFolderView) {\n const matchedIds = [...relevantFolderIds]\n for (const folderId of matchedIds) {\n addParents(folderId)\n }\n }\n\n // Third pass: Build the final map using only relevant folders\n for (const folder of folders) {\n if (relevantFolderIds.has(folder.id as string)) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n } else {\n // No filtering, include all folders\n for (const folder of folders) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n\n // Filter by selected folders if needed\n if (selectedFolders.length) {\n const selectedPaths = selectedFolders\n .map((id) => folders.find((folder) => folder.id === id)?.path)\n .filter(Boolean) as string[]\n\n // Create a new map that only contains selected folders and their children\n const filteredMap = new Map()\n\n // For each folder, check if it should be included\n map.forEach((folder, folderId) => {\n const folderPath = folder.path as string\n\n const isSelected = selectedPaths.includes(folderPath)\n\n // Include if it's a child of any selected folder\n const isChild = selectedPaths.some((selectedPath) =>\n folderPath.startsWith(selectedPath + '/'),\n )\n\n if (isChild || (isSelected && (!excludeSelectedFolders || isFlatFolderView))) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [\n folders,\n foldersByTaskFilter,\n isUninitialized,\n selectedFolders,\n excludeSelectedFolders,\n foldersLinks,\n isFlatFolderView,\n ])\n\n // calculate partial loading states\n const loadingTasksForParents = useMemo(() => {\n if (isFetchingExpandedFoldersTasks) {\n return determineLoadingTaskFolders({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n })\n } else return {}\n }, [isFetchingExpandedFoldersTasks, expandedFoldersTasks, expandedParentIds, foldersMap])\n\n const [tasksListCursor, setTasksListCursor] = useState('')\n\n // every time the sorting changes, reset the cursor\n useEffect(() => {\n if (tasksListCursor) setTasksListCursor('')\n }, [sorting, tasksListCursor])\n\n // Create sort params for infinite query\n const singleSort = { ...sorting[0] }\n // if task list and sorting by name, sort by path instead\n const sortByPath = singleSort?.id === 'name' && !showHierarchy\n const sortId = sortByPath ? 'path' : singleSort?.id === 'subType' ? 'taskType' : singleSort?.id\n const tasksFolderIdsParams = selectedFolders.length\n ? Array.from(\n new Set([...foldersMap.keys(), ...(excludeSelectedFolders ? selectedFolders : [])]),\n )\n : undefined\n\n // In hierarchy mode with slicer-selected folders, use GetTasksList with folderIds to fetch\n // tasks directly under those folders in a single paginated request, rather than firing one\n // request per folder via getOverviewTasksByFolders.\n const hierarchySlicerFolderIds =\n showHierarchy && excludeSelectedFolders && selectedFolders.length ? selectedFolders : undefined\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isLoading: isLoadingTasksList,\n error: tasksListError,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n refetch: refetchTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(\n {\n projectName,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n folderIds: taskIds?.length\n ? undefined\n : hierarchySlicerFolderIds ?? (selectedFolders?.length ? selectedFolders : undefined),\n taskIds: taskIds?.length ? taskIds : undefined,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n showComments,\n includeFolderChildren: !hierarchySlicerFolderIds, // Disable recursive task fetch for hierarchy+slicer mode\n },\n {\n // Skip flat task list for flat folder view (tasks loaded on folder expand).\n // In hierarchy+slicer mode, run it to fetch tasks under selected-but-hidden folders.\n // Always run it when entity list provides specific task IDs.\n skip: ((showHierarchy && !hierarchySlicerFolderIds) || isFlatFolderView) && !taskIds?.length,\n initialPageParam: {\n cursor: '',\n desc: !!singleSort?.desc,\n },\n },\n )\n\n // Extract tasks from infinite query data correctly\n const tasksList = useMemo(() => {\n if (!tasksListInfiniteData?.pages) return []\n return tasksListInfiniteData.pages.flatMap((page) => page.tasks || [])\n }, [tasksListInfiniteData?.pages])\n\n const { pageCounts: groupPageCounts, incrementPageCount } = useGroupedPagination({\n groups: taskGroups,\n })\n\n // for grouped tasks, we fetch all tasks for each group\n // we do this by building a list of groups with filters for that group\n const groupByDataType = getGroupByDataType(groupBy, attribFields)\n\n // get expanded group values from the expanded state\n // group IDs are formatted as `_GROUP_<value>` so we extract the values\n const expandedGroupValues = useMemo(() => {\n return Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => isGroupId(id))\n .map(([id]) => id.slice(GROUP_BY_ID.length))\n }, [expanded])\n\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n if (!groupBy) return []\n\n const allGroupQueries = getGroupQueries({\n groups: taskGroups,\n // @ts-expect-error: filter is the same\n filters: taskFilters.filter,\n groupBy,\n groupPageCounts,\n dataType: groupByDataType,\n })\n\n // Only fetch tasks for groups that are expanded\n return allGroupQueries.filter((group) => expandedGroupValues.includes(group.value))\n }, [\n groupBy,\n taskGroups,\n groupPageCounts,\n groupByDataType,\n taskFilters.filter,\n expandedGroupValues,\n ])\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isUninitialized: isUninitializedGroupedTasks,\n error: groupedTasksError,\n refetch: refetchGroupedTasks,\n } = useGetGroupedTasksListQuery(\n {\n projectName,\n groups: groupQueries,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n search: taskFilters.search,\n folderFilter: folderFilters.filterString,\n folderIds: tasksFolderIdsParams,\n groupCount: taskGroupsCount,\n showComments,\n },\n {\n skip: !groupBy || !groupQueries.length || isLoadingModules,\n },\n )\n\n // Resolve which task source to use based on current mode\n // When entity list provides specific task IDs, use flat task list even in hierarchy mode\n const resolvedTasks = useMemo(() => {\n if (taskIds?.length) return tasksList\n if (isFlatFolderView) return expandedFoldersTasks\n if (showHierarchy) {\n // In hierarchy+slicer mode, merge per-folder expanded tasks with tasks fetched via\n // GetTasksList for the slicer-selected (but not displayed) folders.\n if (hierarchySlicerFolderIds) return [...expandedFoldersTasks, ...tasksList]\n return expandedFoldersTasks\n }\n if (groupBy) return groupTasks\n return tasksList\n }, [\n taskIds,\n showHierarchy,\n hierarchySlicerFolderIds,\n isFlatFolderView,\n groupBy,\n tasksList,\n expandedFoldersTasks,\n groupTasks,\n ])\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n return new Set(resolvedTasks.map((task) => task.id))\n }, [resolvedTasks])\n\n // Get all links for visible tasks\n const {\n data: tasksLinks = [],\n refetch: refetchTasksLinks,\n isUninitialized: isUninitializedTasksLinks,\n isFetching: isFetchingTasksLinks,\n } = useGetEntityLinksQuery(\n {\n projectName,\n entityIds: Array.from(visibleTasks),\n entityType: 'task',\n },\n {\n skip: visibleTasks.size === 0 || skipLinks,\n },\n )\n\n // Compute entity IDs whose links are currently loading (in query but not yet in the cache result)\n const loadingLinksEntityIds = useMemo(() => {\n const ids = new Set<string>()\n\n if (isFetchingFoldersLinks && !skipLinks) {\n const cachedIds = new Set(foldersLinks.map((l) => l.id))\n for (const id of visibleFolders) {\n if (!cachedIds.has(id)) ids.add(id)\n }\n }\n\n if (isFetchingTasksLinks && !skipLinks) {\n const cachedIds = new Set(tasksLinks.map((l) => l.id))\n for (const id of visibleTasks) {\n if (!cachedIds.has(id)) ids.add(id)\n }\n }\n\n return ids\n }, [\n isFetchingFoldersLinks,\n isFetchingTasksLinks,\n foldersLinks,\n tasksLinks,\n visibleFolders,\n visibleTasks,\n skipLinks,\n ])\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n // Ungrouped is never seeded into pageCounts, so don't gate on key presence\n if (group) {\n incrementPageCount(group)\n }\n } else if (hasNextPage) {\n fetchNextPage()\n }\n }\n\n // tasksMaps is a map of tasks by task ID\n // tasksByFolderMap is a map of tasks by folder ID\n const { tasksMap, tasksByFolderMap } = useMemo(() => {\n const tasksMap: TaskNodeMap = new Map()\n const tasksByFolderMap: TasksByFolderMap = new Map()\n\n const addExtraDataToTask = (task: EditorTaskNode) => ({\n ...task,\n entityId: task.id,\n entityType: 'task' as const,\n links: tasksLinks?.find((link) => link.id === task.id)?.links || [],\n })\n\n for (const task of resolvedTasks) {\n const taskId = task.id as string\n const folderId = task.folderId as string\n\n if (tasksMap.has(taskId)) {\n // merge specific data if the task already exists\n const existingTask = tasksMap.get(taskId) as EditorTaskNode\n const currentTask = addExtraDataToTask(task)\n const mergedTask = {\n ...existingTask,\n ...currentTask,\n groups: [...(existingTask.groups || []), ...(currentTask.groups || [])],\n }\n\n tasksMap.set(taskId, mergedTask)\n } else {\n tasksMap.set(taskId, addExtraDataToTask(task))\n }\n\n if (tasksByFolderMap.has(folderId)) {\n // dedup like tasksMap — resolvedTasks can contain the same task twice\n // (overlapping infinite-query pages, or a task in multiple groups)\n const folderTaskIds = tasksByFolderMap.get(folderId)!\n if (!folderTaskIds.includes(taskId)) folderTaskIds.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [resolvedTasks, tasksLinks])\n\n // When entity list provides specific task IDs, filter folders to only those containing tasks\n const filteredFoldersMap: FolderNodeMap = useMemo(() => {\n if (!taskIds?.length || !tasksByFolderMap.size) return foldersMap\n\n const relevantFolderIds = new Set<string>()\n\n // Add all folders that contain selected tasks\n for (const folderId of tasksByFolderMap.keys()) {\n relevantFolderIds.add(folderId)\n }\n\n // Add parent folders for proper tree display\n const addParents = (folderId: string) => {\n const folder = foldersMap.get(folderId)\n if (folder && folder.parentId) {\n const parentId = folder.parentId as string\n if (!relevantFolderIds.has(parentId)) {\n relevantFolderIds.add(parentId)\n addParents(parentId)\n }\n }\n }\n\n for (const folderId of relevantFolderIds) {\n addParents(folderId)\n }\n\n const filtered = new Map() as FolderNodeMap\n for (const [id, folder] of foldersMap) {\n if (relevantFolderIds.has(id)) {\n filtered.set(id, folder)\n }\n }\n\n return filtered\n }, [foldersMap, tasksByFolderMap, taskIds])\n\n // reload all data for all queries\n const reloadTableData = () => {\n // only reload if there is data\n if (!isUninitializedFolders) refetchFolders()\n if (!isUninitializedExpandedFoldersTasks) refetchExpandedFoldersTasks()\n if (!isUninitializedTasksFolders) refetchTasksFolders()\n if (!isUninitializedTasksList) refetchTasksList()\n if (!isUninitializedGroupedTasks) refetchGroupedTasks()\n if (!isUninitializedFoldersLinks) refetchFoldersLinks()\n if (!isUninitializedTasksLinks) refetchTasksLinks()\n }\n\n const error = tasksListError || searchFoldersError || groupedTasksError\n\n const softErrorAction = useMemo<SoftErrorAction | undefined>(() => {\n if (expandedFoldersTasksError && onCollapseAll) {\n return {\n label: 'Collapse all folders',\n icon: 'restart_alt',\n callback: onCollapseAll,\n }\n }\n return undefined\n }, [expandedFoldersTasksError, onCollapseAll])\n\n return {\n foldersMap: filteredFoldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n error,\n // @ts-expect-error: error does exist on it\n softError: expandedFoldersTasksError?.error, // this is separate as we should still show the folders table so the user can make changes\n softErrorAction,\n isLoadingAll:\n isLoadingFolders || isLoadingTasksList || isLoadingTasksFolders || isLoadingModules, // these all show a full loading state\n isLoadingMore: isFetchingNextPageTasksList,\n loadingTasks: loadingTasksForParents,\n loadingLinksEntityIds,\n fetchNextPage: handleFetchNextPage,\n reloadTableData,\n }\n}\n"],"names":["VISIBLE_FOLDERS_DEBOUNCE_MS","useFetchOverviewData","projectName","selectedFolders","excludeSelectedFolders","taskIds","taskFilters","folderFilters","sorting","groupBy","taskGroups","taskGroupsCount","expanded","showHierarchy","isFlatFolderView","attribFields","modules","skipLinks","showComments","onCollapseAll","visibleEntityIds","isLoadingModules","folders","isLoadingFolders","isUninitializedFolders","refetchFolders","getFolderById","useProjectFoldersContext","expandedParentIds","isExpanded","id","isGroupId","expandedFolderIdsToQuery","useMemo","getFolderIdsToQueryFromExpanded","debouncedVisibleEntityIds","setDebouncedVisibleEntityIds","useState","debouncedSetVisible","debounce","ids","useEffect","visibleFolderIdsToQuery","visibleIdsSet","expandedFoldersTasks","isFetchingExpandedFoldersTasks","expandedFoldersTasksError","refetchExpandedFoldersTasks","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","foldersByTaskFilter","isUninitialized","isLoadingTasksFolders","isUninitializedTasksFolders","searchFoldersError","refetchTasksFolders","useGetSearchFoldersQuery","visibleFolders","visibleSet","folder","parentId","isRootFromSlicer","foldersLinks","refetchFoldersLinks","isUninitializedFoldersLinks","isFetchingFoldersLinks","useGetEntityLinksQuery","foldersMap","map","addExtraDataToFolder","link","relevantFolderIds","folderId","foldersByIdMap","addParents","matchedIds","selectedPaths","filteredMap","folderPath","isSelected","selectedPath","loadingTasksForParents","determineLoadingTaskFolders","tasksListCursor","setTasksListCursor","singleSort","sortId","tasksFolderIdsParams","hierarchySlicerFolderIds","tasksListInfiniteData","isLoadingTasksList","tasksListError","fetchNextPage","hasNextPage","isFetchingNextPageTasksList","isUninitializedTasksList","refetchTasksList","useGetTasksListInfiniteInfiniteQuery","tasksList","page","groupPageCounts","incrementPageCount","useGroupedPagination","groupByDataType","getGroupByDataType","expandedGroupValues","GROUP_BY_ID","groupQueries","getGroupQueries","group","groupTasks","isUninitializedGroupedTasks","groupedTasksError","refetchGroupedTasks","useGetGroupedTasksListQuery","resolvedTasks","visibleTasks","task","tasksLinks","refetchTasksLinks","isUninitializedTasksLinks","isFetchingTasksLinks","loadingLinksEntityIds","cachedIds","l","handleFetchNextPage","tasksMap","tasksByFolderMap","addExtraDataToTask","taskId","existingTask","currentTask","mergedTask","folderTaskIds","filteredFoldersMap","filtered","reloadTableData","error","softErrorAction"],"mappings":"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"}