@ynput/ayon-frontend-shared 0.2.45 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +72 -65
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +104 -102
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +113 -4
- package/dist/Slicer.es.js.map +1 -1
- package/dist/Views.cjs.js.map +1 -1
- package/dist/Views.es.js.map +1 -1
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.es4.js +2 -5
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +5 -2
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +141 -139
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +61 -54
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js +5 -5
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js +313 -305
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js.map +1 -1
- 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/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +95 -95
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.es.js +1 -1
- package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +57 -50
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +45 -38
- package/dist/shared/src/components/LinksManager/AddNewLinks.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.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +47 -40
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +49 -42
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +44 -37
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +48 -41
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +2 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +282 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +48 -41
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +64 -57
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +54 -47
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +53 -46
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +42 -41
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +52 -45
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +2 -2
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +56 -49
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +53 -46
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +54 -47
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +93 -86
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +49 -42
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +68 -61
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +93 -86
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +47 -40
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +46 -43
- 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.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +49 -46
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +49 -46
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +49 -46
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +50 -42
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +55 -48
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +70 -63
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +47 -40
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +483 -462
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +105 -98
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +47 -40
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +57 -50
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +54 -47
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +142 -146
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +63 -68
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +49 -41
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +74 -67
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +48 -41
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +55 -48
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +54 -47
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +51 -44
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- 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 +141 -132
- 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.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +51 -44
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +51 -44
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +54 -47
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +46 -39
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +46 -39
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +81 -67
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +62 -55
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js +11 -6
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +16 -13
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +342 -116
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js +47 -40
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +7 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +69 -62
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +51 -44
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +29 -33
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +118 -111
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- 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 +49 -46
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js +82 -0
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +27 -0
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +71 -0
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +10 -0
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +294 -0
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +215 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +25 -0
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +28 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +304 -0
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +99 -0
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +95 -88
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +32 -31
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +125 -121
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +47 -49
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +6 -5
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonContext.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +62 -49
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +51 -44
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.es.js +7 -7
- package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.es.js +69 -46
- package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.cjs.js +1 -1
- package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.es.js +4 -4
- package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
- package/dist/types/api/queries/activities/getActivities.d.ts +1 -1
- package/dist/types/api/queries/entityLists/getLists.d.ts +183 -183
- package/dist/types/api/queries/links/getLinks.d.ts +1 -1
- package/dist/types/api/queries/overview/getOverview.d.ts +2 -1
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +2 -2
- package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +29 -0
- package/dist/types/components/RemotePage/index.d.ts +1 -0
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -0
- package/dist/types/components/index.d.ts +31 -30
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -2
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -4
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +4 -1
- package/dist/types/containers/ProjectTreeTable/utils/restrictedEntity.d.ts +3 -3
- package/dist/types/containers/Slicer/components/Slicer.d.ts +9 -0
- package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +7 -0
- package/dist/types/containers/Slicer/components/SlicerSearch.d.ts +6 -0
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +48 -0
- package/dist/types/containers/Slicer/hooks/index.d.ts +5 -0
- package/dist/types/containers/Slicer/{useFiltersWithHierarchy.d.ts → hooks/useFiltersWithHierarchy.d.ts} +1 -1
- package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +51 -0
- package/dist/types/containers/Slicer/hooks/useSlicerAttributesData.d.ts +7 -0
- package/dist/types/containers/Slicer/hooks/useTableDataBySlice.d.ts +8 -0
- package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +10 -0
- package/dist/types/containers/Slicer/index.d.ts +4 -2
- package/dist/types/containers/Slicer/types.d.ts +35 -0
- package/dist/types/containers/Slicer/{createFilterFromSlicer.d.ts → util/createFilterFromSlicer.d.ts} +2 -2
- package/dist/types/containers/Slicer/util/index.d.ts +1 -0
- package/dist/types/containers/Views/ViewsMenuContainer/BaseViewsTags.d.ts +4 -1
- package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +7 -1
- package/dist/types/containers/Views/index.d.ts +1 -1
- package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +1 -1
- package/dist/types/context/AddonContext.d.ts +10 -1
- package/dist/types/context/AddonProjectContext.d.ts +7 -12
- package/dist/types/context/ProjectFoldersContext.d.ts +1 -0
- package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
- package/package.json +1 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js.map +0 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js.map +0 -1
- package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.cjs.js.map +0 -1
- package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.es.js.map +0 -1
- /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.cjs.js → hooks/useFiltersWithHierarchy.cjs.js} +0 -0
- /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.es.js → hooks/useFiltersWithHierarchy.es.js} +0 -0
- /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.cjs.js → util/createFilterFromSlicer.cjs.js} +0 -0
- /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.es.js → util/createFilterFromSlicer.es.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchOverviewData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetSearchFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type { FolderListItem, GetGroupedTasksListArgs, EntityGroup, QueryFilter } from '@shared/api'\nimport { useGroupedPagination } 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 } from '../types'\nimport { TasksByFolderMap } from '../utils'\nimport { TableGroupBy } from '../context'\nimport { isGroupId } from '../hooks/useBuildGroupByTableData'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from '@shared/hooks'\nimport { useGetEntityLinksQuery } from '@shared/api'\nimport { useProjectFoldersContext } from '@shared/context'\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 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 fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n}\n\ntype Params = {\n projectName: string\n selectedFolders: string[] // folders selected in the slicer (hierarchy)\n taskFilters: QueryFilterParams // filters for tasks\n folderFilters: QueryFilterParams // filters for folders\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n expanded: ExpandedState\n showHierarchy: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n taskFilters,\n folderFilters,\n sorting,\n groupBy,\n taskGroups = [],\n expanded,\n showHierarchy,\n attribFields,\n modules,\n}: Params): useFetchOverviewDataData => {\n const { getGroupQueries, isLoading: isLoadingModules } = modules\n\n const {\n folders,\n isLoading: isLoadingFolders,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useProjectFoldersContext()\n\n // console.log('Folder count:', folders.length)\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 {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n refetch: refetchExpandedFoldersTasks,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(\n {\n projectName,\n parentIds: expandedParentIds,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n },\n { skip: !expandedParentIds.length || !showHierarchy },\n )\n\n const skipFoldersByTaskFilter =\n (!taskFilters.filterString &&\n !folderFilters.filterString &&\n !taskFilters.search &&\n !folderFilters.search) ||\n !folders.length ||\n !showHierarchy\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isFetching: isFetchingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n refetch: refetchTasksFolders,\n } = useGetSearchFoldersQuery(\n {\n projectName,\n folderSearchRequest: {\n taskFilter: taskFilters.filter?.conditions?.length ? taskFilters.filter : undefined,\n taskSearch: taskFilters.search,\n folderFilter: folderFilters.filter?.conditions?.length ? folderFilters.filter : undefined,\n folderSearch: folderFilters.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 isSelectedInSlicer = selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isSelectedInSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [folders, foldersByTaskFilter, skipFoldersByTaskFilter, expanded, selectedFolders])\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n refetch: refetchFoldersLinks,\n isUninitialized: isUninitializedFoldersLinks,\n } = useGetEntityLinksQuery({\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder',\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 // Process each filtered folder to add its parents\n for (const folderId of foldersByTaskFilter) {\n addParents(folderId)\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) => map.get(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 // Include if it's a parent or the folder itself\n const folderPathParts = folderPath.split('/')\n let isParentOrSelf = false\n\n for (let i = 0; i < folderPathParts.length; i++) {\n const partialPath = folderPathParts.slice(0, i + 1).join('/')\n if (selectedPaths.some((p) => p === partialPath)) {\n isParentOrSelf = true\n break\n }\n }\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 (isParentOrSelf || isChild) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [folders, foldersByTaskFilter, isUninitialized, selectedFolders, foldersLinks])\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 ? Array.from(foldersMap.keys()) : undefined\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isLoading: isLoadingTasksList,\n isFetching: isFetchingTasksList,\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: tasksFolderIdsParams,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n },\n {\n skip: showHierarchy,\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 group queries from powerpack\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n return groupBy\n ? getGroupQueries?.({\n groups: taskGroups,\n taskGroups, // deprecated, but keep for backward compatibility\n filters: taskFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n : []\n }, [groupBy, taskGroups, groupPageCounts, groupByDataType, taskFilters.filter, getGroupQueries])\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isFetching: isFetchingGroups,\n isUninitialized: isUninitializedGroupedTasks,\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 },\n {\n skip: !groupBy || !groupQueries.length || isLoadingModules,\n },\n )\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n return new Set(allTasks.map((task) => task.id))\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, groupBy])\n\n // Get all links for visible tasks\n const {\n data: tasksLinks = [],\n refetch: refetchTasksLinks,\n isUninitialized: isUninitializedTasksLinks,\n } = useGetEntityLinksQuery(\n {\n projectName,\n entityIds: Array.from(visibleTasks),\n entityType: 'task',\n },\n {\n skip: visibleTasks.size === 0,\n },\n )\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n if (group && group in groupPageCounts) {\n console.log('fetching next page for group:', group)\n incrementPageCount(group)\n }\n } else if (hasNextPage) {\n console.log('fetching next page')\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 // either show the hierarchy or the flat list of tasks\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n for (const task of allTasks) {\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 tasksByFolderMap.get(folderId)!.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, tasksLinks])\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 return {\n foldersMap: foldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n isLoadingAll:\n isLoadingFolders ||\n isLoadingTasksList ||\n isFetchingTasksFolders ||\n isFetchingGroups ||\n isLoadingModules, // these all show a full loading state\n isLoadingMore: isFetchingNextPageTasksList,\n loadingTasks: loadingTasksForParents,\n fetchNextPage: handleFetchNextPage,\n reloadTableData,\n }\n}\n"],"names":["useFetchOverviewData","projectName","selectedFolders","taskFilters","folderFilters","sorting","groupBy","taskGroups","expanded","showHierarchy","attribFields","modules","getGroupQueries","isLoadingModules","folders","isLoadingFolders","isUninitializedFolders","refetchFolders","useProjectFoldersContext","expandedParentIds","isExpanded","id","isGroupId","expandedFoldersTasks","isFetchingExpandedFoldersTasks","refetchExpandedFoldersTasks","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","foldersByTaskFilter","isUninitialized","isFetchingTasksFolders","isUninitializedTasksFolders","refetchTasksFolders","useGetSearchFoldersQuery","visibleFolders","useMemo","visibleSet","folder","parentId","isSelectedInSlicer","foldersLinks","refetchFoldersLinks","isUninitializedFoldersLinks","useGetEntityLinksQuery","foldersMap","map","addExtraDataToFolder","link","relevantFolderIds","folderId","foldersByIdMap","addParents","selectedPaths","filteredMap","folderPath","folderPathParts","isParentOrSelf","i","partialPath","p","isChild","selectedPath","loadingTasksForParents","determineLoadingTaskFolders","tasksListCursor","setTasksListCursor","useState","useEffect","singleSort","sortId","tasksFolderIdsParams","tasksListInfiniteData","isLoadingTasksList","isFetchingTasksList","fetchNextPage","hasNextPage","isFetchingNextPageTasksList","isUninitializedTasksList","refetchTasksList","useGetTasksListInfiniteInfiniteQuery","tasksList","page","groupPageCounts","incrementPageCount","useGroupedPagination","groupByDataType","getGroupByDataType","groupQueries","groupTasks","isFetchingGroups","isUninitializedGroupedTasks","refetchGroupedTasks","useGetGroupedTasksListQuery","visibleTasks","allTasks","task","tasksLinks","refetchTasksLinks","isUninitializedTasksLinks","handleFetchNextPage","group","tasksMap","tasksByFolderMap","addExtraDataToTask","taskId","existingTask","currentTask","mergedTask"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useFetchOverviewData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetSearchFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type { FolderListItem, GetGroupedTasksListArgs, EntityGroup, QueryFilter } from '@shared/api'\nimport { useGroupedPagination } 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 } from '../types'\nimport { TasksByFolderMap } from '../utils'\nimport { TableGroupBy } from '../context'\nimport { isGroupId, GROUP_BY_ID } from '../hooks/useBuildGroupByTableData'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from '@shared/hooks'\nimport { useGetEntityLinksQuery } from '@shared/api'\nimport { useProjectFoldersContext } from '@shared/context'\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 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 fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n}\n\ntype Params = {\n projectName: string\n selectedFolders: string[] // folders selected in the slicer (hierarchy)\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 attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n taskFilters,\n folderFilters,\n sorting,\n groupBy,\n taskGroups = [],\n taskGroupsCount,\n expanded,\n showHierarchy,\n attribFields,\n modules,\n}: Params): useFetchOverviewDataData => {\n const { getGroupQueries, isLoading: isLoadingModules } = modules\n\n const {\n folders,\n isLoading: isLoadingFolders,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useProjectFoldersContext()\n\n // console.log('Folder count:', folders.length)\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 {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n refetch: refetchExpandedFoldersTasks,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(\n {\n projectName,\n parentIds: expandedParentIds,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n },\n { skip: !expandedParentIds.length || !showHierarchy },\n )\n\n const skipFoldersByTaskFilter =\n (!taskFilters.filterString &&\n !folderFilters.filterString &&\n !taskFilters.search &&\n !folderFilters.search) ||\n !folders.length ||\n !showHierarchy\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isFetching: isFetchingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n refetch: refetchTasksFolders,\n } = useGetSearchFoldersQuery(\n {\n projectName,\n folderSearchRequest: {\n taskFilter: taskFilters.filter?.conditions?.length ? taskFilters.filter : undefined,\n taskSearch: taskFilters.search,\n folderFilter: folderFilters.filter?.conditions?.length ? folderFilters.filter : undefined,\n folderSearch: folderFilters.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 isSelectedInSlicer = selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isSelectedInSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [folders, foldersByTaskFilter, skipFoldersByTaskFilter, expanded, selectedFolders])\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n refetch: refetchFoldersLinks,\n isUninitialized: isUninitializedFoldersLinks,\n } = useGetEntityLinksQuery({\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder',\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 // Process each filtered folder to add its parents\n for (const folderId of foldersByTaskFilter) {\n addParents(folderId)\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) => map.get(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 // Include if it's a parent or the folder itself\n const folderPathParts = folderPath.split('/')\n let isParentOrSelf = false\n\n for (let i = 0; i < folderPathParts.length; i++) {\n const partialPath = folderPathParts.slice(0, i + 1).join('/')\n if (selectedPaths.some((p) => p === partialPath)) {\n isParentOrSelf = true\n break\n }\n }\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 (isParentOrSelf || isChild) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [folders, foldersByTaskFilter, isUninitialized, selectedFolders, foldersLinks])\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 ? Array.from(foldersMap.keys()) : undefined\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isLoading: isLoadingTasksList,\n isFetching: isFetchingTasksList,\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: tasksFolderIdsParams,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n },\n {\n skip: showHierarchy,\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 // get group queries from powerpack, filtered to only include expanded groups\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n if (!groupBy) return []\n\n const allGroupQueries =\n getGroupQueries?.({\n groups: taskGroups,\n taskGroups, // deprecated, but keep for backward compatibility\n filters: taskFilters.filter,\n groupBy,\n groupPageCounts,\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 getGroupQueries,\n expandedGroupValues,\n ])\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isUninitialized: isUninitializedGroupedTasks,\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 },\n {\n skip: !groupBy || !groupQueries.length || isLoadingModules,\n },\n )\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n return new Set(allTasks.map((task) => task.id))\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, groupBy])\n\n // Get all links for visible tasks\n const {\n data: tasksLinks = [],\n refetch: refetchTasksLinks,\n isUninitialized: isUninitializedTasksLinks,\n } = useGetEntityLinksQuery(\n {\n projectName,\n entityIds: Array.from(visibleTasks),\n entityType: 'task',\n },\n {\n skip: visibleTasks.size === 0,\n },\n )\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n if (group && group in groupPageCounts) {\n console.log('fetching next page for group:', group)\n incrementPageCount(group)\n }\n } else if (hasNextPage) {\n console.log('fetching next page')\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 // either show the hierarchy or the flat list of tasks\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n for (const task of allTasks) {\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 tasksByFolderMap.get(folderId)!.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, tasksLinks])\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 return {\n foldersMap: foldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n isLoadingAll:\n isLoadingFolders || isLoadingTasksList || isFetchingTasksFolders || isLoadingModules, // these all show a full loading state\n isLoadingMore: isFetchingNextPageTasksList,\n loadingTasks: loadingTasksForParents,\n fetchNextPage: handleFetchNextPage,\n reloadTableData,\n }\n}\n"],"names":["useFetchOverviewData","projectName","selectedFolders","taskFilters","folderFilters","sorting","groupBy","taskGroups","taskGroupsCount","expanded","showHierarchy","attribFields","modules","getGroupQueries","isLoadingModules","folders","isLoadingFolders","isUninitializedFolders","refetchFolders","useProjectFoldersContext","expandedParentIds","isExpanded","id","isGroupId","expandedFoldersTasks","isFetchingExpandedFoldersTasks","refetchExpandedFoldersTasks","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","foldersByTaskFilter","isUninitialized","isFetchingTasksFolders","isUninitializedTasksFolders","refetchTasksFolders","useGetSearchFoldersQuery","visibleFolders","useMemo","visibleSet","folder","parentId","isSelectedInSlicer","foldersLinks","refetchFoldersLinks","isUninitializedFoldersLinks","useGetEntityLinksQuery","foldersMap","map","addExtraDataToFolder","link","relevantFolderIds","folderId","foldersByIdMap","addParents","selectedPaths","filteredMap","folderPath","folderPathParts","isParentOrSelf","i","partialPath","p","isChild","selectedPath","loadingTasksForParents","determineLoadingTaskFolders","tasksListCursor","setTasksListCursor","useState","useEffect","singleSort","sortId","tasksFolderIdsParams","tasksListInfiniteData","isLoadingTasksList","isFetchingTasksList","fetchNextPage","hasNextPage","isFetchingNextPageTasksList","isUninitializedTasksList","refetchTasksList","useGetTasksListInfiniteInfiniteQuery","tasksList","page","groupPageCounts","incrementPageCount","useGroupedPagination","groupByDataType","getGroupByDataType","expandedGroupValues","GROUP_BY_ID","groupQueries","group","groupTasks","isUninitializedGroupedTasks","refetchGroupedTasks","useGetGroupedTasksListQuery","visibleTasks","allTasks","task","tasksLinks","refetchTasksLinks","isUninitializedTasksLinks","handleFetchNextPage","tasksMap","tasksByFolderMap","addExtraDataToTask","taskId","existingTask","currentTask","mergedTask"],"mappings":"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"}
|
|
@@ -63,7 +63,7 @@ import "../../../api/queries/grouping/getGrouping.es.js";
|
|
|
63
63
|
import "../../../api/queries/links/updateLinks.es.js";
|
|
64
64
|
import "../../../api/queries/links/getLinks.es.js";
|
|
65
65
|
import { useGetEntityLinksQuery as N } from "../../../api/queries/links/getEntityLinks.es.js";
|
|
66
|
-
import { useGetOverviewTasksByFoldersQuery as
|
|
66
|
+
import { useGetOverviewTasksByFoldersQuery as xt, useGetSearchFoldersQuery as Ft, useGetTasksListInfiniteInfiniteQuery as zt, useGetGroupedTasksListQuery as Ut } from "../../../api/queries/overview/getOverview.es.js";
|
|
67
67
|
import "../../../api/queries/overview/updateOverview.es.js";
|
|
68
68
|
import "../../../api/queries/versions/getVersionsProducts.es.js";
|
|
69
69
|
import "../../../api/queries/permissions/getPermissions.es.js";
|
|
@@ -83,7 +83,7 @@ import "../../../api/queries/views/getViews.es.js";
|
|
|
83
83
|
import "../../../api/queries/views/updateViews.es.js";
|
|
84
84
|
import "../../../api/queries/watchers/getWatchers.es.js";
|
|
85
85
|
import "../../../api/queries/uris/getUris.es.js";
|
|
86
|
-
import { useMemo as
|
|
86
|
+
import { useMemo as c, useState as vt, useEffect as Gt } from "react";
|
|
87
87
|
import "../../../context/RemoteModulesContext.es.js";
|
|
88
88
|
import "../../../../../_virtual/runtime.es.js";
|
|
89
89
|
import "../../../../../_virtual/semver.es.js";
|
|
@@ -103,19 +103,19 @@ import "../../../context/MenuContext.es.js";
|
|
|
103
103
|
import "../../../context/WebsocketContext.es.js";
|
|
104
104
|
import "../../../context/GlobalContext.es.js";
|
|
105
105
|
import "../../../context/ProjectContext.es.js";
|
|
106
|
-
import { useProjectFoldersContext as
|
|
106
|
+
import { useProjectFoldersContext as Dt } from "../../../context/ProjectFoldersContext.es.js";
|
|
107
107
|
import "../../../context/UriContext.es.js";
|
|
108
108
|
import "react-redux";
|
|
109
109
|
import "custom-protocol-check";
|
|
110
110
|
import { useGroupedPagination as Et } from "../../../hooks/useGroupedPagination.es.js";
|
|
111
111
|
import "../components/GroupSettingsFallback.es.js";
|
|
112
112
|
import "uuid";
|
|
113
|
-
import { getGroupByDataType as
|
|
113
|
+
import { getGroupByDataType as bt } from "../../../util/getGroupByDataType.es.js";
|
|
114
114
|
import "../../../util/pubsub.es.js";
|
|
115
|
-
import { determineLoadingTaskFolders as
|
|
116
|
-
import { isGroupId as
|
|
115
|
+
import { determineLoadingTaskFolders as Qt } from "../utils/loadingUtils.es.js";
|
|
116
|
+
import { isGroupId as V, GROUP_BY_ID as Ct } from "./useBuildGroupByTableData.es.js";
|
|
117
117
|
const Je = ({
|
|
118
|
-
projectName:
|
|
118
|
+
projectName: f,
|
|
119
119
|
selectedFolders: g,
|
|
120
120
|
// comes from the slicer
|
|
121
121
|
taskFilters: o,
|
|
@@ -123,39 +123,40 @@ const Je = ({
|
|
|
123
123
|
sorting: D,
|
|
124
124
|
groupBy: p,
|
|
125
125
|
taskGroups: y = [],
|
|
126
|
-
|
|
126
|
+
taskGroupsCount: Y,
|
|
127
|
+
expanded: k,
|
|
127
128
|
showHierarchy: m,
|
|
128
|
-
attribFields:
|
|
129
|
-
modules:
|
|
129
|
+
attribFields: J,
|
|
130
|
+
modules: K
|
|
130
131
|
}) => {
|
|
131
|
-
const { getGroupQueries:
|
|
132
|
-
folders:
|
|
133
|
-
isLoading:
|
|
134
|
-
isUninitialized:
|
|
135
|
-
refetch:
|
|
136
|
-
} =
|
|
137
|
-
data:
|
|
138
|
-
isFetching:
|
|
139
|
-
refetch:
|
|
140
|
-
isUninitialized:
|
|
141
|
-
} =
|
|
132
|
+
const { getGroupQueries: E, isLoading: b } = K, {
|
|
133
|
+
folders: l,
|
|
134
|
+
isLoading: X,
|
|
135
|
+
isUninitialized: Z,
|
|
136
|
+
refetch: $
|
|
137
|
+
} = Dt(), M = Object.entries(k).filter(([, t]) => t).filter(([t]) => !V(t)).map(([t]) => t), {
|
|
138
|
+
data: u = [],
|
|
139
|
+
isFetching: Q,
|
|
140
|
+
refetch: j,
|
|
141
|
+
isUninitialized: H
|
|
142
|
+
} = xt(
|
|
142
143
|
{
|
|
143
|
-
projectName:
|
|
144
|
-
parentIds:
|
|
144
|
+
projectName: f,
|
|
145
|
+
parentIds: M,
|
|
145
146
|
filter: o.filterString,
|
|
146
147
|
folderFilter: d.filterString,
|
|
147
148
|
search: o.search
|
|
148
149
|
},
|
|
149
|
-
{ skip: !
|
|
150
|
-
),
|
|
151
|
-
data:
|
|
150
|
+
{ skip: !M.length || !m }
|
|
151
|
+
), C = !o.filterString && !d.filterString && !o.search && !d.search || !l.length || !m, {
|
|
152
|
+
data: T,
|
|
152
153
|
isUninitialized: B,
|
|
153
|
-
isFetching:
|
|
154
|
-
isUninitialized:
|
|
155
|
-
refetch:
|
|
156
|
-
} =
|
|
154
|
+
isFetching: tt,
|
|
155
|
+
isUninitialized: it,
|
|
156
|
+
refetch: et
|
|
157
|
+
} = Ft(
|
|
157
158
|
{
|
|
158
|
-
projectName:
|
|
159
|
+
projectName: f,
|
|
159
160
|
folderSearchRequest: {
|
|
160
161
|
taskFilter: o.filter?.conditions?.length ? o.filter : void 0,
|
|
161
162
|
taskSearch: o.search,
|
|
@@ -164,182 +165,190 @@ const Je = ({
|
|
|
164
165
|
}
|
|
165
166
|
},
|
|
166
167
|
{
|
|
167
|
-
skip:
|
|
168
|
+
skip: C
|
|
168
169
|
}
|
|
169
|
-
),
|
|
170
|
+
), rt = c(() => {
|
|
170
171
|
const t = /* @__PURE__ */ new Set();
|
|
171
|
-
return
|
|
172
|
-
if (!
|
|
173
|
-
t.add(
|
|
172
|
+
return l.forEach((r) => {
|
|
173
|
+
if (!r.parentId) {
|
|
174
|
+
t.add(r.id);
|
|
174
175
|
return;
|
|
175
176
|
}
|
|
176
|
-
const
|
|
177
|
-
(
|
|
177
|
+
const s = r.parentId, a = g.includes(r.id);
|
|
178
|
+
(k[s] === !0 || a) && t.add(r.id);
|
|
178
179
|
}), t;
|
|
179
|
-
}, [
|
|
180
|
-
data:
|
|
181
|
-
refetch:
|
|
182
|
-
isUninitialized:
|
|
180
|
+
}, [l, T, C, k, g]), {
|
|
181
|
+
data: O = [],
|
|
182
|
+
refetch: st,
|
|
183
|
+
isUninitialized: ot
|
|
183
184
|
} = N({
|
|
184
|
-
projectName:
|
|
185
|
-
entityIds: Array.from(
|
|
185
|
+
projectName: f,
|
|
186
|
+
entityIds: Array.from(rt),
|
|
186
187
|
entityType: "folder"
|
|
187
|
-
}),
|
|
188
|
-
const t = /* @__PURE__ */ new Map(),
|
|
189
|
-
...
|
|
190
|
-
entityId:
|
|
188
|
+
}), S = c(() => {
|
|
189
|
+
const t = /* @__PURE__ */ new Map(), r = (s) => ({
|
|
190
|
+
...s,
|
|
191
|
+
entityId: s.id,
|
|
191
192
|
entityType: "folder",
|
|
192
|
-
links:
|
|
193
|
+
links: O?.find((e) => e.id === s.id)?.links || []
|
|
193
194
|
});
|
|
194
|
-
if (!B &&
|
|
195
|
-
const
|
|
196
|
-
for (const i of
|
|
197
|
-
|
|
195
|
+
if (!B && T && l.length) {
|
|
196
|
+
const s = /* @__PURE__ */ new Set();
|
|
197
|
+
for (const i of T)
|
|
198
|
+
s.add(i);
|
|
198
199
|
const a = /* @__PURE__ */ new Map();
|
|
199
|
-
for (const i of
|
|
200
|
+
for (const i of l)
|
|
200
201
|
a.set(i.id, i);
|
|
201
202
|
const e = (i) => {
|
|
202
203
|
const n = a.get(i);
|
|
203
|
-
n && n.parentId && (
|
|
204
|
+
n && n.parentId && (s.add(n.parentId), e(n.parentId));
|
|
204
205
|
};
|
|
205
|
-
for (const i of
|
|
206
|
+
for (const i of T)
|
|
206
207
|
e(i);
|
|
207
|
-
for (const i of
|
|
208
|
-
|
|
208
|
+
for (const i of l)
|
|
209
|
+
s.has(i.id) && t.set(i.id, r(i));
|
|
209
210
|
} else
|
|
210
|
-
for (const
|
|
211
|
-
t.set(
|
|
211
|
+
for (const s of l)
|
|
212
|
+
t.set(s.id, r(s));
|
|
212
213
|
if (g.length) {
|
|
213
|
-
const
|
|
214
|
+
const s = g.map((e) => t.get(e)?.path).filter(Boolean), a = /* @__PURE__ */ new Map();
|
|
214
215
|
return t.forEach((e, i) => {
|
|
215
|
-
const n = e.path,
|
|
216
|
-
let
|
|
217
|
-
for (let
|
|
218
|
-
const
|
|
219
|
-
if (
|
|
220
|
-
|
|
216
|
+
const n = e.path, I = n.split("/");
|
|
217
|
+
let L = !1;
|
|
218
|
+
for (let P = 0; P < I.length; P++) {
|
|
219
|
+
const Mt = I.slice(0, P + 1).join("/");
|
|
220
|
+
if (s.some((St) => St === Mt)) {
|
|
221
|
+
L = !0;
|
|
221
222
|
break;
|
|
222
223
|
}
|
|
223
224
|
}
|
|
224
|
-
const
|
|
225
|
-
(
|
|
225
|
+
const G = s.some(
|
|
226
|
+
(P) => n.startsWith(P + "/")
|
|
226
227
|
);
|
|
227
|
-
(
|
|
228
|
+
(L || G) && a.set(i, r(e));
|
|
228
229
|
}), a;
|
|
229
230
|
}
|
|
230
231
|
return t;
|
|
231
|
-
}, [
|
|
232
|
-
expandedFoldersTasks:
|
|
233
|
-
expandedParentIds:
|
|
234
|
-
foldersMap:
|
|
235
|
-
}) : {}, [
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
}, [D,
|
|
239
|
-
const
|
|
232
|
+
}, [l, T, B, g, O]), nt = c(() => Q ? Qt({
|
|
233
|
+
expandedFoldersTasks: u,
|
|
234
|
+
expandedParentIds: M,
|
|
235
|
+
foldersMap: S
|
|
236
|
+
}) : {}, [Q, u, M, S]), [A, at] = vt("");
|
|
237
|
+
Gt(() => {
|
|
238
|
+
A && at("");
|
|
239
|
+
}, [D, A]);
|
|
240
|
+
const h = { ...D[0] }, x = h?.id === "name" && !m ? "path" : h?.id === "subType" ? "taskType" : h?.id, _ = g.length ? Array.from(S.keys()) : void 0, {
|
|
240
241
|
data: U,
|
|
241
|
-
isLoading:
|
|
242
|
-
isFetching:
|
|
243
|
-
fetchNextPage:
|
|
244
|
-
hasNextPage:
|
|
245
|
-
isFetchingNextPage:
|
|
246
|
-
isUninitialized:
|
|
247
|
-
refetch:
|
|
248
|
-
} =
|
|
242
|
+
isLoading: pt,
|
|
243
|
+
isFetching: Ot,
|
|
244
|
+
fetchNextPage: dt,
|
|
245
|
+
hasNextPage: mt,
|
|
246
|
+
isFetchingNextPage: lt,
|
|
247
|
+
isUninitialized: ct,
|
|
248
|
+
refetch: ft
|
|
249
|
+
} = zt(
|
|
249
250
|
{
|
|
250
|
-
projectName:
|
|
251
|
+
projectName: f,
|
|
251
252
|
filter: o.filterString,
|
|
252
253
|
folderFilter: d.filterString,
|
|
253
254
|
search: o.search,
|
|
254
|
-
folderIds:
|
|
255
|
+
folderIds: _,
|
|
255
256
|
sortBy: x ? x.replace("_", ".") : void 0,
|
|
256
|
-
desc: !!
|
|
257
|
+
desc: !!h?.desc
|
|
257
258
|
},
|
|
258
259
|
{
|
|
259
260
|
skip: m,
|
|
260
261
|
initialPageParam: {
|
|
261
262
|
cursor: "",
|
|
262
|
-
desc: !!
|
|
263
|
+
desc: !!h?.desc
|
|
263
264
|
}
|
|
264
265
|
}
|
|
265
|
-
),
|
|
266
|
+
), F = c(() => U?.pages ? U.pages.flatMap((t) => t.tasks || []) : [], [U?.pages]), { pageCounts: v, incrementPageCount: gt } = Et({
|
|
266
267
|
groups: y
|
|
267
|
-
}),
|
|
268
|
+
}), ut = bt(p, J), w = c(() => Object.entries(k).filter(([, t]) => t).filter(([t]) => V(t)).map(([t]) => t.slice(Ct.length)), [k]), W = c(() => p ? (E?.({
|
|
268
269
|
groups: y,
|
|
269
270
|
taskGroups: y,
|
|
270
271
|
// deprecated, but keep for backward compatibility
|
|
271
272
|
filters: o.filter,
|
|
272
273
|
groupBy: p,
|
|
273
274
|
groupPageCounts: v
|
|
274
|
-
}) ?? [] : [], [
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
275
|
+
}) ?? []).filter((r) => w.includes(r.value)) : [], [
|
|
276
|
+
p,
|
|
277
|
+
y,
|
|
278
|
+
v,
|
|
279
|
+
ut,
|
|
280
|
+
o.filter,
|
|
281
|
+
E,
|
|
282
|
+
w
|
|
283
|
+
]), {
|
|
284
|
+
data: { tasks: z = [] } = {},
|
|
285
|
+
isUninitialized: ht,
|
|
286
|
+
refetch: kt
|
|
287
|
+
} = Ut(
|
|
280
288
|
{
|
|
281
|
-
projectName:
|
|
289
|
+
projectName: f,
|
|
282
290
|
groups: W,
|
|
283
291
|
sortBy: x ? x.replace("_", ".") : void 0,
|
|
284
|
-
desc: !!
|
|
292
|
+
desc: !!h?.desc,
|
|
285
293
|
search: o.search,
|
|
286
294
|
folderFilter: d.filterString,
|
|
287
|
-
folderIds:
|
|
295
|
+
folderIds: _,
|
|
296
|
+
groupCount: Y
|
|
288
297
|
},
|
|
289
298
|
{
|
|
290
299
|
skip: !p || !W.length || b
|
|
291
300
|
}
|
|
292
|
-
),
|
|
293
|
-
const t = m ?
|
|
294
|
-
return new Set(t.map((
|
|
295
|
-
}, [
|
|
301
|
+
), R = c(() => {
|
|
302
|
+
const t = m ? u : p ? z : F;
|
|
303
|
+
return new Set(t.map((r) => r.id));
|
|
304
|
+
}, [u, m, F, z, p]), {
|
|
296
305
|
data: q = [],
|
|
297
|
-
refetch:
|
|
298
|
-
isUninitialized:
|
|
306
|
+
refetch: Tt,
|
|
307
|
+
isUninitialized: It
|
|
299
308
|
} = N(
|
|
300
309
|
{
|
|
301
|
-
projectName:
|
|
302
|
-
entityIds: Array.from(
|
|
310
|
+
projectName: f,
|
|
311
|
+
entityIds: Array.from(R),
|
|
303
312
|
entityType: "task"
|
|
304
313
|
},
|
|
305
314
|
{
|
|
306
|
-
skip:
|
|
315
|
+
skip: R.size === 0
|
|
307
316
|
}
|
|
308
|
-
),
|
|
309
|
-
p ? t && t in v && (console.log("fetching next page for group:", t),
|
|
310
|
-
}, { tasksMap:
|
|
311
|
-
const t = /* @__PURE__ */ new Map(),
|
|
317
|
+
), Lt = (t) => {
|
|
318
|
+
p ? t && t in v && (console.log("fetching next page for group:", t), gt(t)) : mt && (console.log("fetching next page"), dt());
|
|
319
|
+
}, { tasksMap: Pt, tasksByFolderMap: yt } = c(() => {
|
|
320
|
+
const t = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), s = (e) => ({
|
|
312
321
|
...e,
|
|
313
322
|
entityId: e.id,
|
|
314
323
|
entityType: "task",
|
|
315
324
|
links: q?.find((i) => i.id === e.id)?.links || []
|
|
316
|
-
}), a = m ?
|
|
325
|
+
}), a = m ? u : p ? z : F;
|
|
317
326
|
for (const e of a) {
|
|
318
327
|
const i = e.id, n = e.folderId;
|
|
319
328
|
if (t.has(i)) {
|
|
320
|
-
const
|
|
321
|
-
...T,
|
|
329
|
+
const I = t.get(i), L = s(e), G = {
|
|
322
330
|
...I,
|
|
323
|
-
|
|
331
|
+
...L,
|
|
332
|
+
groups: [...I.groups || [], ...L.groups || []]
|
|
324
333
|
};
|
|
325
|
-
t.set(i,
|
|
334
|
+
t.set(i, G);
|
|
326
335
|
} else
|
|
327
|
-
t.set(i,
|
|
328
|
-
|
|
336
|
+
t.set(i, s(e));
|
|
337
|
+
r.has(n) ? r.get(n).push(i) : r.set(n, [i]);
|
|
329
338
|
}
|
|
330
|
-
return { tasksMap: t, tasksByFolderMap:
|
|
331
|
-
}, [
|
|
339
|
+
return { tasksMap: t, tasksByFolderMap: r };
|
|
340
|
+
}, [u, m, F, z, q]);
|
|
332
341
|
return {
|
|
333
|
-
foldersMap:
|
|
334
|
-
tasksMap:
|
|
335
|
-
tasksByFolderMap:
|
|
336
|
-
isLoadingAll:
|
|
342
|
+
foldersMap: S,
|
|
343
|
+
tasksMap: Pt,
|
|
344
|
+
tasksByFolderMap: yt,
|
|
345
|
+
isLoadingAll: X || pt || tt || b,
|
|
337
346
|
// these all show a full loading state
|
|
338
|
-
isLoadingMore:
|
|
339
|
-
loadingTasks:
|
|
340
|
-
fetchNextPage:
|
|
347
|
+
isLoadingMore: lt,
|
|
348
|
+
loadingTasks: nt,
|
|
349
|
+
fetchNextPage: Lt,
|
|
341
350
|
reloadTableData: () => {
|
|
342
|
-
|
|
351
|
+
Z || $(), H || j(), it || et(), ct || ft(), ht || kt(), ot || st(), It || Tt();
|
|
343
352
|
}
|
|
344
353
|
};
|
|
345
354
|
};
|