@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.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +4 -4
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +4 -4
- package/dist/_virtual/index.cjs15.js +1 -1
- package/dist/_virtual/index.cjs19.js +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.es15.js +2 -2
- package/dist/_virtual/index.es16.js +2 -2
- package/dist/_virtual/index.es17.js +2 -2
- package/dist/_virtual/index.es18.js +2 -2
- package/dist/_virtual/index.es19.js +2 -2
- package/dist/_virtual/index.es6.js +2 -2
- package/dist/_virtual/index.es8.js +2 -2
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +4 -4
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
- package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.es.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -4
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -4
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +4 -4
- package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js +20 -20
- package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -4
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +4 -4
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +4 -4
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +5 -5
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -4
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -4
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +4 -4
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -4
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +84 -69
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +4 -4
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +4 -4
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +4 -4
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -4
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +4 -4
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -4
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +4 -4
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +4 -4
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +15 -15
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -4
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +4 -4
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -4
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +4 -4
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +4 -4
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -4
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +4 -4
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -4
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.es.js +4 -4
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js +4 -4
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +83 -86
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +31 -23
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js +23 -13
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +4 -4
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -4
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +169 -169
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js +13 -13
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +4 -4
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +55 -54
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +14 -14
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +3 -3
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +4 -4
- package/dist/types/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.d.ts +8 -1
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +6 -1
- package/package.json +2 -2
|
@@ -236,10 +236,6 @@ import "../context/SelectedRowsContext.es.js";
|
|
|
236
236
|
import "../context/DetailsPanelEntityContext.es.js";
|
|
237
237
|
import "../../EntityPickerDialog/EntityPickerDialog.es.js";
|
|
238
238
|
import "../../Slicer/components/Slicer.es.js";
|
|
239
|
-
import "../../Views/ViewsMenu/ViewsMenu.es.js";
|
|
240
|
-
import "../../Views/context/ViewsContextInstance.es.js";
|
|
241
|
-
import "../../Views/Views.styled.es.js";
|
|
242
|
-
import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
243
239
|
import "../../Slicer/context/SlicerContextInstance.es.js";
|
|
244
240
|
import "../../Slicer/components/SlicerDropdownFallback.es.js";
|
|
245
241
|
import "../../Slicer/hooks/useTableDataBySlice.es.js";
|
|
@@ -257,6 +253,10 @@ import "../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.
|
|
|
257
253
|
import "../../Actions/Actions.styled.es.js";
|
|
258
254
|
import "../../Actions/ActionsDropdown/ActionsDropdown.es.js";
|
|
259
255
|
import "../../Actions/ActionIcon.es.js";
|
|
256
|
+
import "../../Views/ViewsMenu/ViewsMenu.es.js";
|
|
257
|
+
import "../../Views/context/ViewsContextInstance.es.js";
|
|
258
|
+
import "../../Views/Views.styled.es.js";
|
|
259
|
+
import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
260
260
|
import "../../ListTable/ListTableRow.es.js";
|
|
261
261
|
import "../../ListTable/ListTable.styled.es.js";
|
|
262
262
|
import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
|
|
@@ -312,8 +312,8 @@ const ei = 300, Ws = ({
|
|
|
312
312
|
taskGroups: B = [],
|
|
313
313
|
taskGroupsCount: dt,
|
|
314
314
|
expanded: k,
|
|
315
|
-
showHierarchy:
|
|
316
|
-
isFlatFolderView:
|
|
315
|
+
showHierarchy: d,
|
|
316
|
+
isFlatFolderView: f = !1,
|
|
317
317
|
attribFields: ft,
|
|
318
318
|
modules: ct,
|
|
319
319
|
skipLinks: M,
|
|
@@ -328,25 +328,33 @@ const ei = 300, Ws = ({
|
|
|
328
328
|
refetch: gt,
|
|
329
329
|
getFolderById: J
|
|
330
330
|
} = ii(), P = Object.entries(k).filter(([, t]) => t).filter(([t]) => !at(t)).map(([t]) => t), R = e(
|
|
331
|
-
() => si(
|
|
331
|
+
() => si({
|
|
332
|
+
expanded: k,
|
|
333
|
+
expandedParentIds: P,
|
|
334
|
+
selectedFolders: n,
|
|
335
|
+
excludeSelectedFolders: l,
|
|
336
|
+
getFolderById: J,
|
|
337
|
+
showHierarchy: d
|
|
338
|
+
}),
|
|
339
|
+
[
|
|
332
340
|
k,
|
|
333
341
|
P,
|
|
334
342
|
n,
|
|
335
343
|
l,
|
|
336
|
-
J
|
|
337
|
-
|
|
338
|
-
|
|
344
|
+
J,
|
|
345
|
+
d
|
|
346
|
+
]
|
|
339
347
|
), [K, ht] = et(O), A = e(
|
|
340
348
|
() => Ht((t) => ht(t), ei),
|
|
341
349
|
[]
|
|
342
350
|
);
|
|
343
351
|
nt(() => (A(O), () => A.cancel()), [O, A]);
|
|
344
352
|
const X = e(() => {
|
|
345
|
-
if (!
|
|
353
|
+
if (!d || f)
|
|
346
354
|
return R;
|
|
347
355
|
const t = new Set(K);
|
|
348
356
|
return R.filter((p) => t.has(p));
|
|
349
|
-
}, [R,
|
|
357
|
+
}, [R, d, f, K]), {
|
|
350
358
|
data: y = [],
|
|
351
359
|
isFetching: Z,
|
|
352
360
|
error: W,
|
|
@@ -361,8 +369,8 @@ const ei = 300, Ws = ({
|
|
|
361
369
|
search: a.search,
|
|
362
370
|
showComments: C
|
|
363
371
|
},
|
|
364
|
-
{ skip: !X.length || !
|
|
365
|
-
), $ = !a.filterString && !h.filterString && !a.search && !h.search || !c.length || !
|
|
372
|
+
{ skip: !X.length || !d && !f }
|
|
373
|
+
), $ = !a.filterString && !h.filterString && !a.search && !h.search || !c.length || !d && !f, {
|
|
366
374
|
data: S,
|
|
367
375
|
isUninitialized: j,
|
|
368
376
|
isLoading: It,
|
|
@@ -428,7 +436,7 @@ const ei = 300, Ws = ({
|
|
|
428
436
|
const s = r.get(m);
|
|
429
437
|
s && s.parentId && (i.add(s.parentId), o(s.parentId));
|
|
430
438
|
};
|
|
431
|
-
if (!
|
|
439
|
+
if (!f) {
|
|
432
440
|
const m = [...i];
|
|
433
441
|
for (const s of m)
|
|
434
442
|
o(s);
|
|
@@ -444,7 +452,7 @@ const ei = 300, Ws = ({
|
|
|
444
452
|
const s = o.path, x = i.includes(s);
|
|
445
453
|
(i.some(
|
|
446
454
|
(Zt) => s.startsWith(Zt + "/")
|
|
447
|
-
) || x && (!l ||
|
|
455
|
+
) || x && (!l || f)) && r.set(m, p(o));
|
|
448
456
|
}), r;
|
|
449
457
|
}
|
|
450
458
|
return t;
|
|
@@ -455,7 +463,7 @@ const ei = 300, Ws = ({
|
|
|
455
463
|
n,
|
|
456
464
|
l,
|
|
457
465
|
v,
|
|
458
|
-
|
|
466
|
+
f
|
|
459
467
|
]), St = e(() => Z ? oi({
|
|
460
468
|
expandedFoldersTasks: y,
|
|
461
469
|
expandedParentIds: P,
|
|
@@ -464,9 +472,9 @@ const ei = 300, Ws = ({
|
|
|
464
472
|
nt(() => {
|
|
465
473
|
V && vt("");
|
|
466
474
|
}, [F, V]);
|
|
467
|
-
const L = { ...F[0] }, z = L?.id === "name" && !
|
|
475
|
+
const L = { ...F[0] }, z = L?.id === "name" && !d ? "path" : L?.id === "subType" ? "taskType" : L?.id, zt = n.length ? Array.from(
|
|
468
476
|
/* @__PURE__ */ new Set([...T.keys(), ...l ? n : []])
|
|
469
|
-
) : void 0, E =
|
|
477
|
+
) : void 0, E = d && l && n.length ? n : void 0, {
|
|
470
478
|
data: q,
|
|
471
479
|
isLoading: Ut,
|
|
472
480
|
error: bt,
|
|
@@ -493,7 +501,7 @@ const ei = 300, Ws = ({
|
|
|
493
501
|
// Skip flat task list for flat folder view (tasks loaded on folder expand).
|
|
494
502
|
// In hierarchy+slicer mode, run it to fetch tasks under selected-but-hidden folders.
|
|
495
503
|
// Always run it when entity list provides specific task IDs.
|
|
496
|
-
skip: (
|
|
504
|
+
skip: (d && !E || f) && !u?.length,
|
|
497
505
|
initialPageParam: {
|
|
498
506
|
cursor: "",
|
|
499
507
|
desc: !!L?.desc
|
|
@@ -535,11 +543,11 @@ const ei = 300, Ws = ({
|
|
|
535
543
|
{
|
|
536
544
|
skip: !g || !rt.length || Y
|
|
537
545
|
}
|
|
538
|
-
), b = e(() => u?.length ? U :
|
|
546
|
+
), b = e(() => u?.length ? U : f ? y : d ? E ? [...y, ...U] : y : g ? ot : U, [
|
|
539
547
|
u,
|
|
540
|
-
f,
|
|
541
|
-
E,
|
|
542
548
|
d,
|
|
549
|
+
E,
|
|
550
|
+
f,
|
|
543
551
|
g,
|
|
544
552
|
U,
|
|
545
553
|
y,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchOverviewData.es.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.es.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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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react");require("react-toastify");require("lodash");const u=require("../../../util/getAttributeIcon.cjs.js");require("uuid");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");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("../../../util/pubsub.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");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("@ynput/ayon-react-components");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("react-dom");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("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("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.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");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContextInstance.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.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 p=require("../context/ProjectTableContext.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("../../../components/SearchFilter/filterDates.cjs.js");require("short-uuid");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");require("../components/TableFooterRow.cjs.js");require("../context/SelectedRowsContext.cjs.js");const b=require("../context/ColumnSettingsContext.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 a=["string","integer","float"],l=(r,q,i,t)=>(i||a).includes(r.data.type)&&(!q||r.scope?.includes(q))?t?!!r.data.enum&&r.data.enum.length>0:!0:!1,g=({allowedTypes:r,enumOnly:q,scope:i})=>{const{columnOrder:t}=b.useColumnSettingsContext(),{attribFields:s}=p.useProjectTableContext();return d.useMemo(()=>[{value:"folderType",label:"Folder type",icon:u.getAttributeIcon("folder"),scopes:["folder","task"]},{value:"taskType",label:"Task type",icon:u.getAttributeIcon("task"),scopes:["task","version"]},{value:"productType",label:"Product type",icon:u.getAttributeIcon("product"),scopes:["product","version"]},{value:"assignees",label:"Assignee",icon:u.getAttributeIcon("assignees"),scopes:["task"]},{value:"status",label:"Status",icon:u.getAttributeIcon("status"),scopes:["task","version","folder","product"]},{value:"tags",label:"Tags",icon:u.getAttributeIcon("tags"),scopes:["task","version","folder","product"]},...s.filter(e=>l(e,i,r,q)).map(e=>({value:"attrib."+e.name,label:e.data.title||e.name,icon:u.getAttributeIcon(e.name)}))].filter(e=>!i||("scopes"in e?e.scopes.includes(i):!0)).sort((e,c)=>{const o=t.indexOf(e.value),n=t.indexOf(c.value);return o===-1&&n===-1?0:o===-1?1:n===-1?-1:o-n}),[s,t,r,q,i])};exports.allowedGroupByFields=a;exports.isAttribGroupable=l;exports.useGetGroupedFields=g;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react");require("react-toastify");require("lodash");const u=require("../../../util/getAttributeIcon.cjs.js");require("uuid");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");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("../../../util/pubsub.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");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("@ynput/ayon-react-components");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("react-dom");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("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("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.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");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContextInstance.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.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 p=require("../context/ProjectTableContext.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("../../../components/SearchFilter/filterDates.cjs.js");require("short-uuid");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");require("../components/TableFooterRow.cjs.js");require("../context/SelectedRowsContext.cjs.js");const b=require("../context/ColumnSettingsContext.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 a=["string","integer","float"],l=(r,q,i,t)=>(i||a).includes(r.data.type)&&(!q||r.scope?.includes(q))?t?!!r.data.enum&&r.data.enum.length>0:!0:!1,g=({allowedTypes:r,enumOnly:q,scope:i})=>{const{columnOrder:t}=b.useColumnSettingsContext(),{attribFields:s}=p.useProjectTableContext();return d.useMemo(()=>[{value:"folderType",label:"Folder type",icon:u.getAttributeIcon("folder"),scopes:["folder","task"]},{value:"taskType",label:"Task type",icon:u.getAttributeIcon("task"),scopes:["task","version"]},{value:"productType",label:"Product type",icon:u.getAttributeIcon("product"),scopes:["product","version"]},{value:"assignees",label:"Assignee",icon:u.getAttributeIcon("assignees"),scopes:["task"]},{value:"status",label:"Status",icon:u.getAttributeIcon("status"),scopes:["task","version","folder","product"]},{value:"tags",label:"Tags",icon:u.getAttributeIcon("tags"),scopes:["task","version","folder","product"]},...s.filter(e=>l(e,i,r,q)).map(e=>({value:"attrib."+e.name,label:e.data.title||e.name,icon:u.getAttributeIcon(e.name)}))].filter(e=>!i||("scopes"in e?e.scopes.includes(i):!0)).sort((e,c)=>{const o=t.indexOf(e.value),n=t.indexOf(c.value);return o===-1&&n===-1?0:o===-1?1:n===-1?-1:o-n}),[s,t,r,q,i])};exports.allowedGroupByFields=a;exports.isAttribGroupable=l;exports.useGetGroupedFields=g;
|
|
2
2
|
//# sourceMappingURL=useGetGroupedFields.cjs.js.map
|
|
@@ -233,10 +233,6 @@ import { useColumnSettingsContext as c } from "../context/ColumnSettingsContext.
|
|
|
233
233
|
import "../context/DetailsPanelEntityContext.es.js";
|
|
234
234
|
import "../../EntityPickerDialog/EntityPickerDialog.es.js";
|
|
235
235
|
import "../../Slicer/components/Slicer.es.js";
|
|
236
|
-
import "../../Views/ViewsMenu/ViewsMenu.es.js";
|
|
237
|
-
import "../../Views/context/ViewsContextInstance.es.js";
|
|
238
|
-
import "../../Views/Views.styled.es.js";
|
|
239
|
-
import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
240
236
|
import "../../Slicer/context/SlicerContextInstance.es.js";
|
|
241
237
|
import "../../Slicer/components/SlicerDropdownFallback.es.js";
|
|
242
238
|
import "../../Slicer/hooks/useTableDataBySlice.es.js";
|
|
@@ -254,6 +250,10 @@ import "../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.
|
|
|
254
250
|
import "../../Actions/Actions.styled.es.js";
|
|
255
251
|
import "../../Actions/ActionsDropdown/ActionsDropdown.es.js";
|
|
256
252
|
import "../../Actions/ActionIcon.es.js";
|
|
253
|
+
import "../../Views/ViewsMenu/ViewsMenu.es.js";
|
|
254
|
+
import "../../Views/context/ViewsContextInstance.es.js";
|
|
255
|
+
import "../../Views/Views.styled.es.js";
|
|
256
|
+
import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
257
257
|
import "../../ListTable/ListTableRow.es.js";
|
|
258
258
|
import "../../ListTable/ListTable.styled.es.js";
|
|
259
259
|
import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
|