@ynput/ayon-frontend-shared 0.2.36 → 0.2.38
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 +68 -66
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +182 -167
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Views.cjs.js +1 -1
- package/dist/Views.cjs.js.map +1 -1
- package/dist/Views.es.js +25 -24
- package/dist/Views.es.js.map +1 -1
- package/dist/_virtual/index.cjs10.js +1 -1
- package/dist/_virtual/index.cjs11.js +1 -1
- package/dist/_virtual/index.cjs12.js +1 -1
- package/dist/_virtual/index.cjs2.js +1 -1
- package/dist/_virtual/index.cjs3.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.es10.js +3 -3
- package/dist/_virtual/index.es11.js +5 -5
- package/dist/_virtual/index.es12.js +5 -5
- package/dist/_virtual/index.es2.js +2 -5
- package/dist/_virtual/index.es2.js.map +1 -1
- package/dist/_virtual/index.es3.js +5 -2
- package/dist/_virtual/index.es3.js.map +1 -1
- package/dist/_virtual/index.es4.js +2 -2
- package/dist/_virtual/index.es5.js +2 -2
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +107 -106
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +135 -133
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +1 -1
- package/dist/context.es.js +32 -26
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +54 -52
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/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/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/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/generated/actions.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/actions.es.js.map +1 -1
- package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
- package/dist/shared/src/api/generated/authentication.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/authentication.es.js.map +1 -1
- package/dist/shared/src/api/generated/configuration.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/configuration.es.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.es.js +88 -84
- package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +22 -20
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +34 -32
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/generated/onboarding.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/onboarding.es.js.map +1 -1
- package/dist/shared/src/api/generated/products.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/products.es.js.map +1 -1
- package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/projects.es.js.map +1 -1
- package/dist/shared/src/api/generated/system.cjs.js +1 -1
- package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/system.es.js +3 -0
- package/dist/shared/src/api/generated/system.es.js.map +1 -1
- package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/users.es.js.map +1 -1
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/generated/ynputCloud.cjs.js +1 -1
- package/dist/shared/src/api/generated/ynputCloud.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/ynputCloud.es.js +6 -1
- package/dist/shared/src/api/generated/ynputCloud.es.js.map +1 -1
- package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -1
- package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/project/getProject.es.js +7 -1
- package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +73 -67
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +131 -114
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +129 -122
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -2
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +61 -50
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +6 -4
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.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 +70 -68
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +7 -5
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +119 -112
- package/dist/shared/src/components/Feedback/FeedbackContext.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 +106 -105
- 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 +54 -52
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +58 -46
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +11 -9
- package/dist/shared/src/components/Powerpack/PowerpackButton.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 +45 -43
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +79 -77
- 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 +44 -42
- 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 +263 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +2 -2
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +66 -64
- 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 +140 -142
- 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 +50 -48
- 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 +49 -47
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.es.js +19 -27
- package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.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 +321 -258
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +27 -25
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.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 +48 -46
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +9 -7
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +6 -6
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +109 -112
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +22 -23
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.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 +49 -47
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
- package/dist/shared/src/containers/Actions/Actions.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 +50 -48
- 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 +162 -160
- 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 +58 -56
- 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 +112 -103
- 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 +88 -86
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.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 +19 -17
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +36 -32
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js +25 -22
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +17 -15
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.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 +45 -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 -47
- 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 -47
- 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 -47
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +45 -46
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +5 -3
- package/dist/shared/src/containers/Feed/Feed.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 +4 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +9 -7
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.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 +110 -108
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +10 -8
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +13 -11
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.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 +42 -41
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +46 -42
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +11 -9
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.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 +335 -329
- 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 +54 -52
- 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 +43 -41
- 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 +53 -51
- 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 +51 -49
- 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 +235 -214
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +45 -40
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.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 +160 -156
- 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 +59 -57
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +26 -90
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.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 +69 -69
- 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 +111 -111
- 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 +58 -57
- 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 +51 -49
- 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 +60 -53
- 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 +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +15 -20
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.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 +68 -66
- 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 +63 -59
- 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 +51 -49
- 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 +52 -50
- 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 +67 -65
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.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 +55 -53
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +130 -116
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.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 +58 -56
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +26 -34
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.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 +122 -233
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.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 +64 -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 +47 -45
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +58 -62
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.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 +114 -112
- 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 -47
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.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 +8 -6
- 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 +100 -94
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +9 -9
- package/dist/shared/src/containers/Views/hooks/useSelectedView.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 +40 -35
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +8 -7
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +76 -76
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js +2 -0
- package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -0
- package/dist/shared/src/context/GlobalContext.es.js +123 -0
- package/dist/shared/src/context/GlobalContext.es.js.map +1 -0
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +8 -6
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js +2 -0
- package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -0
- package/dist/shared/src/context/ProjectContext.es.js +182 -0
- package/dist/shared/src/context/ProjectContext.es.js.map +1 -0
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +35 -34
- package/dist/shared/src/context/RemoteModulesContext.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 +48 -46
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.es.js +6 -5
- package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +27 -12
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/versionUploadHelpers.cjs.js +1 -1
- package/dist/shared/src/util/versionUploadHelpers.cjs.js.map +1 -1
- package/dist/shared/src/util/versionUploadHelpers.es.js +24 -34
- package/dist/shared/src/util/versionUploadHelpers.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.es.js +4 -2
- package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +7 -5
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js +18 -16
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
- package/dist/types/api/generated/actions.d.ts +2 -0
- package/dist/types/api/generated/attributes.d.ts +20 -5
- package/dist/types/api/generated/authentication.d.ts +2 -0
- package/dist/types/api/generated/configuration.d.ts +3 -1
- package/dist/types/api/generated/entityLists.d.ts +22 -5
- package/dist/types/api/generated/enums.d.ts +36 -0
- package/dist/types/api/generated/graphql.d.ts +9 -2
- package/dist/types/api/generated/graphqlLinks.d.ts +3 -0
- package/dist/types/api/generated/onboarding.d.ts +1 -0
- package/dist/types/api/generated/products.d.ts +9 -3
- package/dist/types/api/generated/projects.d.ts +4 -4
- package/dist/types/api/generated/system.d.ts +27 -5
- package/dist/types/api/generated/users.d.ts +2 -0
- package/dist/types/api/generated/views.d.ts +40 -5
- package/dist/types/api/generated/ynputCloud.d.ts +7 -20
- package/dist/types/api/queries/actions/getActions.d.ts +6 -6
- package/dist/types/api/queries/activities/getActivities.d.ts +10 -8
- package/dist/types/api/queries/activities/getCategories.d.ts +2 -2
- package/dist/types/api/queries/activities/getMentions.d.ts +2 -2
- package/dist/types/api/queries/activities/updateActivities.d.ts +4 -0
- package/dist/types/api/queries/addons/getAddons.d.ts +8 -8
- package/dist/types/api/queries/attributes/getAttributes.d.ts +4 -4
- package/dist/types/api/queries/authentication/getAuthentication.d.ts +2 -2
- package/dist/types/api/queries/cloud/cloud.d.ts +21 -21
- package/dist/types/api/queries/entities/getEntity.d.ts +12 -10
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +6 -4
- package/dist/types/api/queries/entities/updateEntity.d.ts +2 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +190 -188
- package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +2 -2
- package/dist/types/api/queries/entityLists/listFolders.d.ts +2 -2
- package/dist/types/api/queries/folders/getFolders.d.ts +4 -4
- package/dist/types/api/queries/grouping/getGrouping.d.ts +2 -2
- package/dist/types/api/queries/links/getEntityLinks.d.ts +2 -2
- package/dist/types/api/queries/overview/getOverview.d.ts +12 -10
- package/dist/types/api/queries/permissions/getPermissions.d.ts +4 -4
- package/dist/types/api/queries/project/getProject.d.ts +190 -6
- package/dist/types/api/queries/review/getReview.d.ts +6 -6
- package/dist/types/api/queries/share/share.d.ts +2 -2
- package/dist/types/api/queries/system/getSystem.d.ts +91 -81
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +13 -8
- package/dist/types/api/queries/users/getUsers.d.ts +63 -57
- package/dist/types/api/queries/users/guests.d.ts +2 -2
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +29 -6
- package/dist/types/api/queries/versions/getVersionsProductsUtils.d.ts +5 -5
- package/dist/types/api/queries/versions/updateVersions.d.ts +2 -2
- package/dist/types/api/queries/views/getViews.d.ts +8 -8
- package/dist/types/api/queries/watchers/getWatchers.d.ts +2 -2
- package/dist/types/components/DetailsPanelDetails/hooks/index.d.ts +0 -1
- package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +29 -0
- package/dist/types/components/RemotePage/index.d.ts +1 -0
- package/dist/types/components/ReviewablesList/getGroupedReviewables.d.ts +1 -2
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +2 -1
- package/dist/types/components/index.d.ts +31 -30
- package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +3 -2
- package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +3 -0
- package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +4 -2
- package/dist/types/containers/Feed/context/FeedContext.d.ts +4 -3
- package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +0 -5
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -4
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -7
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +2 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.d.ts +1 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +5 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useGroupBySettings.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +3 -2
- package/dist/types/containers/Views/index.d.ts +2 -2
- package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +6 -10
- package/dist/types/context/AddonProjectContext.d.ts +9 -14
- package/dist/types/context/DetailsPanelContext.d.ts +1 -2
- package/dist/types/context/GlobalContext.d.ts +25 -0
- package/dist/types/context/ProjectContext.d.ts +33 -0
- package/dist/types/context/index.d.ts +2 -0
- package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
- package/dist/types/util/index.d.ts +0 -2
- package/dist/types/util/versionUploadHelpers.d.ts +0 -1
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +55 -58
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +0 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +0 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +0 -99
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +0 -1
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +0 -2
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +0 -1
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +0 -64
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +0 -1
- package/dist/shared/src/util/productTypes.cjs.js +0 -2
- package/dist/shared/src/util/productTypes.cjs.js.map +0 -1
- package/dist/shared/src/util/productTypes.es.js +0 -25
- package/dist/shared/src/util/productTypes.es.js.map +0 -1
- package/dist/types/components/DetailsPanelDetails/hooks/useEntityData.d.ts +0 -12
- package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +0 -11
- package/dist/types/util/productTypes.d.ts +0 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useMemo as m, useCallback as
|
|
1
|
+
import { useMemo as m, useCallback as c } from "react";
|
|
2
2
|
import "react-toastify";
|
|
3
3
|
import "lodash";
|
|
4
4
|
import "uuid";
|
|
@@ -17,10 +17,17 @@ import "../widgets/CellWidget.es.js";
|
|
|
17
17
|
import "../widgets/EntityNameWidget.es.js";
|
|
18
18
|
import "../widgets/GroupHeaderWidget.es.js";
|
|
19
19
|
import "../widgets/ThumbnailWidget.es.js";
|
|
20
|
+
import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
|
|
21
|
+
import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
|
|
22
|
+
import "../../../components/AccessUser/AccessUser.es.js";
|
|
20
23
|
import "clsx";
|
|
21
|
-
import "../../../components/
|
|
22
|
-
import "
|
|
23
|
-
import "
|
|
24
|
+
import "../../../components/AttributeEditor/components/MinMaxField.es.js";
|
|
25
|
+
import "react-dom";
|
|
26
|
+
import "@dnd-kit/core";
|
|
27
|
+
import "@dnd-kit/sortable";
|
|
28
|
+
import "../../../components/EnumEditor/EnumEditor.styled.es.js";
|
|
29
|
+
import "../../../components/Badge/Badge.es.js";
|
|
30
|
+
import "../../../components/Chips/Chips.es.js";
|
|
24
31
|
import "../../../api/base/client.es.js";
|
|
25
32
|
import "../../../api/generated/graphql.es.js";
|
|
26
33
|
import "../../../api/generated/graphqlLinks.es.js";
|
|
@@ -103,19 +110,23 @@ import "../../../api/queries/versions/updateVersions.es.js";
|
|
|
103
110
|
import "../../../api/queries/views/getViews.es.js";
|
|
104
111
|
import "../../../api/queries/views/updateViews.es.js";
|
|
105
112
|
import "../../../api/queries/watchers/getWatchers.es.js";
|
|
106
|
-
import "
|
|
107
|
-
import "
|
|
108
|
-
import "../../../components/
|
|
113
|
+
import "../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
|
|
114
|
+
import "../../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
|
|
115
|
+
import "../../../components/DetailsPanelDetails/DetailsSection.es.js";
|
|
116
|
+
import "../../../components/DetailsPanelDetails/FieldLabel.es.js";
|
|
117
|
+
import "../../../components/EarlyPreview/EarlyPreview.es.js";
|
|
118
|
+
import "../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
|
|
119
|
+
import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
|
|
109
120
|
import "../../ContextMenu/ContextMenuContext.es.js";
|
|
110
121
|
/* empty css */
|
|
111
|
-
import "
|
|
112
|
-
import "
|
|
122
|
+
import "../../Feed/context/FeedContext.es.js";
|
|
123
|
+
import "../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
|
|
124
|
+
import "../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
|
|
113
125
|
import "../../../context/RemoteModulesContext.es.js";
|
|
114
126
|
import "../../../context/DetailsPanelContext.es.js";
|
|
115
127
|
import "../../../context/ThumbnailUploaderContext.es.js";
|
|
116
128
|
import "../../../context/SettingsPanelContext.es.js";
|
|
117
129
|
import "../../../context/pip/PiPProvider.es.js";
|
|
118
|
-
import "react-dom";
|
|
119
130
|
import "../../../context/pip/PiPWrapper.es.js";
|
|
120
131
|
import "../../../context/AddonProjectContext.es.js";
|
|
121
132
|
import "../../../context/AddonContext.es.js";
|
|
@@ -123,14 +134,8 @@ import "../../../context/PowerpackContext.es.js";
|
|
|
123
134
|
import "../../../context/MoveEntityContext.es.js";
|
|
124
135
|
import "../../../context/MenuContext.es.js";
|
|
125
136
|
import "../../../context/WebsocketContext.es.js";
|
|
126
|
-
import "../../../
|
|
127
|
-
import "../../../
|
|
128
|
-
import "../../../components/FileThumbnail/FileThumbnail.es.js";
|
|
129
|
-
import "../../../components/Thumbnail/Thumbnail.styled.es.js";
|
|
130
|
-
import "../../../components/Thumbnail/StackedThumbnails.es.js";
|
|
131
|
-
import "../../Feed/context/FeedContext.es.js";
|
|
132
|
-
import "../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
|
|
133
|
-
import "../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
|
|
137
|
+
import "../../../context/GlobalContext.es.js";
|
|
138
|
+
import "../../../context/ProjectContext.es.js";
|
|
134
139
|
import "../../Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js";
|
|
135
140
|
import "../../Feed/components/FileUploadPreview/Mimes/TextMime.es.js";
|
|
136
141
|
import "react-markdown";
|
|
@@ -190,44 +195,41 @@ import "../../Views/Views.styled.es.js";
|
|
|
190
195
|
import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
191
196
|
import "../../Views/ViewsMenu/ViewsMenu.es.js";
|
|
192
197
|
import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
|
|
193
|
-
import "
|
|
198
|
+
import "axios";
|
|
199
|
+
import "../../../components/ReviewablesList/ReviewablesList.styled.es.js";
|
|
200
|
+
import "../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
|
|
194
201
|
import "../../../components/EntityPath/EntityPath.styled.es.js";
|
|
195
202
|
import "../../../components/EntityPath/SegmentProvider.es.js";
|
|
196
|
-
import "../../../components/
|
|
197
|
-
import "../../../components/
|
|
198
|
-
import "../../../components/
|
|
199
|
-
import "../../../components/
|
|
200
|
-
import "../../../components/
|
|
201
|
-
import "../../../components/
|
|
203
|
+
import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
|
|
204
|
+
import "../../../components/Feedback/FeedbackContext.es.js";
|
|
205
|
+
import "../../../components/Feedback/SupportBubble.es.js";
|
|
206
|
+
import "../../../components/FileThumbnail/FileThumbnail.es.js";
|
|
207
|
+
import "../../../components/LegacyBadge/LegacyBadge.es.js";
|
|
208
|
+
import "../../../components/LinksManager/LinksManager.styled.es.js";
|
|
209
|
+
import "../../EntityPickerDialog/EntityPickerDialog.es.js";
|
|
202
210
|
import "../../../components/Powerpack/PowerpackButton.es.js";
|
|
203
211
|
import "../../../components/Powerpack/PricingLink.es.js";
|
|
204
212
|
import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
|
|
205
213
|
import "../../../components/Powerpack/CTAButton.es.js";
|
|
206
214
|
import "../../../components/Powerpack/RequiredAddonVersion.es.js";
|
|
215
|
+
import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
|
|
207
216
|
import "../../../components/SizeSlider/SizeSlider.es.js";
|
|
217
|
+
import "../../../components/ReviewableCard/ReviewableCard.es.js";
|
|
218
|
+
import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
|
|
219
|
+
import "../../../components/SearchFilter/filterDates.es.js";
|
|
208
220
|
import "../../../components/SettingsPanel/SettingsPanel.es.js";
|
|
209
221
|
import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
|
|
210
|
-
import "../../../components/AttributeEditor/components/MinMaxField.es.js";
|
|
211
|
-
import "../../../components/EnumEditor/EnumEditor.styled.es.js";
|
|
212
|
-
import "../../../components/SearchFilter/filterDates.es.js";
|
|
213
|
-
import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
|
|
214
|
-
import "../../../components/Badge/Badge.es.js";
|
|
215
|
-
import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
|
|
216
|
-
import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
|
|
217
|
-
import "../../../components/Feedback/FeedbackContext.es.js";
|
|
218
|
-
import "../../../components/Feedback/SupportBubble.es.js";
|
|
219
|
-
import "../../../components/Chips/Chips.es.js";
|
|
220
|
-
import "../../../components/LinksManager/LinksManager.styled.es.js";
|
|
221
|
-
import "../../EntityPickerDialog/EntityPickerDialog.es.js";
|
|
222
|
-
import "../../../components/StyledLink/StyledLink.es.js";
|
|
223
222
|
import "../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
|
|
224
|
-
import "../../../components/
|
|
225
|
-
import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
|
|
226
|
-
import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
|
|
227
|
-
import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
|
|
223
|
+
import "../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
|
|
228
224
|
import "../../../components/SortingSetting/SortingSetting.styled.es.js";
|
|
229
|
-
import "../../../components/
|
|
230
|
-
import "../../../components/
|
|
225
|
+
import "../../../components/StyledLink/StyledLink.es.js";
|
|
226
|
+
import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
|
|
227
|
+
import "../../../components/Thumbnail/Thumbnail.styled.es.js";
|
|
228
|
+
import "../../../components/Thumbnail/StackedThumbnails.es.js";
|
|
229
|
+
import "../../../components/ThumbnailSimple/ThumbnailSimple.es.js";
|
|
230
|
+
import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
|
|
231
|
+
import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
|
|
232
|
+
import "../../../components/Watchers/Watchers.es.js";
|
|
231
233
|
import "../../../components/LinksManager/CellEditingDialog.es.js";
|
|
232
234
|
import "../context/DetailsPanelEntityContext.es.js";
|
|
233
235
|
import "../context/SelectedRowsContext.es.js";
|
|
@@ -236,25 +238,30 @@ import "../widgets/ErrorWidget.es.js";
|
|
|
236
238
|
import "../ProjectTreeTable.styled.es.js";
|
|
237
239
|
import "../widgets/LoadMoreWidget.es.js";
|
|
238
240
|
import { useColumnSettingsContext as C } from "../context/ColumnSettingsContext.es.js";
|
|
239
|
-
const
|
|
240
|
-
const { updateGroupBy: e } = C(), { attribFields: s } = g(), i = t.startsWith("attrib_"), p = i ? t.replace("attrib_", "") : void 0, r = m(
|
|
241
|
-
() => i ? s.find((
|
|
241
|
+
const Ko = (t) => {
|
|
242
|
+
const { updateGroupBy: e } = C(), { attribFields: s, scopes: a } = g(), i = t.startsWith("attrib_"), p = i ? t.replace("attrib_", "") : void 0, r = m(
|
|
243
|
+
() => i ? s.find((b) => b.name === p) : void 0,
|
|
242
244
|
[s, i, p]
|
|
243
245
|
), o = m(() => {
|
|
244
246
|
if (t.startsWith("attrib_")) return "attrib." + t.replace("attrib_", "");
|
|
245
|
-
if (t === "subType")
|
|
247
|
+
if (t === "subType") {
|
|
248
|
+
if (a.includes("task"))
|
|
249
|
+
return "taskType";
|
|
250
|
+
if (a.includes("version"))
|
|
251
|
+
return "productType";
|
|
252
|
+
}
|
|
246
253
|
if (["status", "assignees", "tags", "taskType"].includes(t)) return t;
|
|
247
|
-
}, [t]),
|
|
254
|
+
}, [t]), n = m(() => o ? i ? !!r && y(r, "task") : !0 : !1, [r, i, o]), u = m(() => i ? (r == null ? void 0 : r.data.title) || (r == null ? void 0 : r.name) || p || "Attribute" : t === "status" ? "Status" : t === "subType" ? "Type" : t === "assignees" ? "Assignees" : t === "tags" ? "Tags" : "Column", [r, p, t, i]), f = c(() => {
|
|
248
255
|
o && e({ id: o, desc: !1 });
|
|
249
256
|
}, [o, e]);
|
|
250
257
|
return {
|
|
251
258
|
targetGroupById: o,
|
|
252
|
-
canGroupThisColumn:
|
|
253
|
-
groupLabel:
|
|
254
|
-
groupBySelectedColumn:
|
|
259
|
+
canGroupThisColumn: n,
|
|
260
|
+
groupLabel: u,
|
|
261
|
+
groupBySelectedColumn: f
|
|
255
262
|
};
|
|
256
263
|
};
|
|
257
264
|
export {
|
|
258
|
-
|
|
265
|
+
Ko as useColumnGroupBy
|
|
259
266
|
};
|
|
260
267
|
//# sourceMappingURL=useColumnGroupBy.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useColumnGroupBy.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useColumnGroupBy.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { useColumnSettingsContext, useProjectTableContext } from '../context'\nimport { isAttribGroupable } from './useGetGroupedFields'\n\n/**\n * Encapsulates mapping a table column to a groupBy id, determining if it is eligible\n * for grouping, and providing a helper to trigger grouping.\n */\nexport const useColumnGroupBy = (columnId: string) => {\n const { updateGroupBy } = useColumnSettingsContext()\n const { attribFields } = useProjectTableContext()\n\n const isAttribColumn = columnId.startsWith('attrib_')\n const attribName = isAttribColumn ? columnId.replace('attrib_', '') : undefined\n const attribField = useMemo(\n () => (isAttribColumn ? attribFields.find((f) => f.name === attribName) : undefined),\n [attribFields, isAttribColumn, attribName],\n )\n\n const targetGroupById = useMemo(() => {\n if (columnId.startsWith('attrib_')) return 'attrib.' + columnId.replace('attrib_', '')\n if (columnId === 'subType') return 'taskType'\n if (['status', 'assignees', 'tags', 'taskType'].includes(columnId)) return columnId\n return undefined\n }, [columnId])\n\n const canGroupThisColumn = useMemo(() => {\n if (!targetGroupById) return false\n if (!isAttribColumn) return true\n return !!attribField && isAttribGroupable(attribField, 'task')\n }, [attribField, isAttribColumn, targetGroupById])\n\n const groupLabel = useMemo(() => {\n if (isAttribColumn)
|
|
1
|
+
{"version":3,"file":"useColumnGroupBy.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useColumnGroupBy.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { useColumnSettingsContext, useProjectTableContext } from '../context'\nimport { isAttribGroupable } from './useGetGroupedFields'\n\n/**\n * Encapsulates mapping a table column to a groupBy id, determining if it is eligible\n * for grouping, and providing a helper to trigger grouping.\n */\nexport const useColumnGroupBy = (columnId: string) => {\n const { updateGroupBy } = useColumnSettingsContext()\n const { attribFields, scopes } = useProjectTableContext()\n\n const isAttribColumn = columnId.startsWith('attrib_')\n const attribName = isAttribColumn ? columnId.replace('attrib_', '') : undefined\n const attribField = useMemo(\n () => (isAttribColumn ? attribFields.find((f) => f.name === attribName) : undefined),\n [attribFields, isAttribColumn, attribName],\n )\n\n const targetGroupById = useMemo(() => {\n if (columnId.startsWith('attrib_')) return 'attrib.' + columnId.replace('attrib_', '')\n if (columnId === 'subType') {\n if (scopes.includes('task')) {\n return 'taskType'\n } else if (scopes.includes('version')) {\n return 'productType'\n }\n }\n if (['status', 'assignees', 'tags', 'taskType'].includes(columnId)) return columnId\n return undefined\n }, [columnId])\n\n const canGroupThisColumn = useMemo(() => {\n if (!targetGroupById) return false\n if (!isAttribColumn) return true\n return !!attribField && isAttribGroupable(attribField, 'task')\n }, [attribField, isAttribColumn, targetGroupById])\n\n const groupLabel = useMemo(() => {\n if (isAttribColumn)\n return attribField?.data.title || attribField?.name || attribName || 'Attribute'\n if (columnId === 'status') return 'Status'\n if (columnId === 'subType') return 'Type'\n if (columnId === 'assignees') return 'Assignees'\n if (columnId === 'tags') return 'Tags'\n return 'Column'\n }, [attribField, attribName, columnId, isAttribColumn])\n\n const groupBySelectedColumn = useCallback(() => {\n if (targetGroupById) updateGroupBy({ id: targetGroupById, desc: false })\n }, [targetGroupById, updateGroupBy])\n\n return {\n targetGroupById,\n canGroupThisColumn,\n groupLabel,\n groupBySelectedColumn,\n }\n}\n"],"names":["useColumnGroupBy","columnId","updateGroupBy","useColumnSettingsContext","attribFields","scopes","useProjectTableContext","isAttribColumn","attribName","attribField","useMemo","f","targetGroupById","canGroupThisColumn","isAttribGroupable","groupLabel","groupBySelectedColumn","useCallback"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQa,MAAAA,KAAmB,CAACC,MAAqB;AAC9C,QAAA,EAAE,eAAAC,EAAc,IAAIC,EAAyB,GAC7C,EAAE,cAAAC,GAAc,QAAAC,EAAO,IAAIC,EAAuB,GAElDC,IAAiBN,EAAS,WAAW,SAAS,GAC9CO,IAAaD,IAAiBN,EAAS,QAAQ,WAAW,EAAE,IAAI,QAChEQ,IAAcC;AAAA,IAClB,MAAOH,IAAiBH,EAAa,KAAK,CAACO,MAAMA,EAAE,SAASH,CAAU,IAAI;AAAA,IAC1E,CAACJ,GAAcG,GAAgBC,CAAU;AAAA,EAC3C,GAEMI,IAAkBF,EAAQ,MAAM;AAChC,QAAAT,EAAS,WAAW,SAAS,UAAU,YAAYA,EAAS,QAAQ,WAAW,EAAE;AACrF,QAAIA,MAAa,WAAW;AACtB,UAAAI,EAAO,SAAS,MAAM;AACjB,eAAA;AACE,UAAAA,EAAO,SAAS,SAAS;AAC3B,eAAA;AAAA,IACT;AAEE,QAAA,CAAC,UAAU,aAAa,QAAQ,UAAU,EAAE,SAASJ,CAAQ,EAAU,QAAAA;AAAA,EACpE,GACN,CAACA,CAAQ,CAAC,GAEPY,IAAqBH,EAAQ,MAC5BE,IACAL,IACE,CAAC,CAACE,KAAeK,EAAkBL,GAAa,MAAM,IADjC,KADC,IAG5B,CAACA,GAAaF,GAAgBK,CAAe,CAAC,GAE3CG,IAAaL,EAAQ,MACrBH,KACKE,KAAA,gBAAAA,EAAa,KAAK,WAASA,KAAA,gBAAAA,EAAa,SAAQD,KAAc,cACnEP,MAAa,WAAiB,WAC9BA,MAAa,YAAkB,SAC/BA,MAAa,cAAoB,cACjCA,MAAa,SAAe,SACzB,UACN,CAACQ,GAAaD,GAAYP,GAAUM,CAAc,CAAC,GAEhDS,IAAwBC,EAAY,MAAM;AAC9C,IAAIL,KAA+BV,EAAA,EAAE,IAAIU,GAAiB,MAAM,IAAO;AAAA,EAAA,GACtE,CAACA,GAAiBV,CAAa,CAAC;AAE5B,SAAA;AAAA,IACL,iBAAAU;AAAA,IACA,oBAAAC;AAAA,IACA,YAAAE;AAAA,IACA,uBAAAC;AAAA,EACF;AACF;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");const me=require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");const _=require("../../../api/queries/links/getEntityLinks.cjs.js"),E=require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");const l=require("react");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("lodash");require("react-toastify");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("react-redux");require("custom-protocol-check");const xe=require("../../../hooks/useQueryArgumentChangeLoading.cjs.js"),ve=require("../../../hooks/useGroupedPagination.cjs.js");require("../components/GroupSettingsFallback.cjs.js");require("uuid");const ze=require("../../../util/getGroupByDataType.cjs.js");require("../../../util/pubsub.cjs.js");const Ue=require("../utils/loadingUtils.cjs.js"),Ee=require("./useBuildGroupByTableData.cjs.js"),Ge=({projectName:d,selectedFolders:g,queryFilters:u,sorting:B,groupBy:c,taskGroups:M=[],expanded:G,showHierarchy:q,attribFields:J,modules:K})=>{const{getGroupQueries:P,isLoading:D}=K,{data:{folders:f=[]}={},isLoading:N,isFetching:V,isUninitialized:X,refetch:Y}=me.useGetFolderListQuery({projectName:d||"",attrib:!0},{skip:!d}),Z=xe.useQueryArgumentChangeLoading({projectName:d||""},V),I=Object.entries(G).filter(([,e])=>e).filter(([e])=>!Ee.isGroupId(e)).map(([e])=>e),{data:k=[],isFetching:C,refetch:$,isUninitialized:j}=E.useGetOverviewTasksByFoldersQuery({projectName:d,parentIds:I,filter:u.filterString,search:u.search},{skip:!I.length||!q}),O=!u.filterString||!f.length||!q,{data:h,isUninitialized:w,isFetching:H,isUninitialized:ee,refetch:re}=E.useGetQueryTasksFoldersQuery({projectName:d,tasksFoldersQuery:{filter:u.filter,search:u.search}},{skip:O}),ie=l.useMemo(()=>{const e=new Set;return f.forEach(a=>{if(!a.parentId){e.add(a.id);return}const t=a.parentId,o=g.includes(a.id);(G[t]===!0||o)&&e.add(a.id)}),e},[f,h,O,G,g]),{data:L=[],refetch:se,isUninitialized:te}=_.useGetEntityLinksQuery({projectName:d,entityIds:Array.from(ie),entityType:"folder"}),m=l.useMemo(()=>{const e=new Map,a=t=>{var i;return{...t,entityId:t.id,entityType:"folder",links:((i=L==null?void 0:L.find(r=>r.id===t.id))==null?void 0:i.links)||[]}};if(!w&&h&&f.length){const t=new Set;for(const r of h)t.add(r);const o=new Map;for(const r of f)o.set(r.id,r);const i=r=>{const n=o.get(r);n&&n.parentId&&(t.add(n.parentId),i(n.parentId))};for(const r of h)i(r);for(const r of f)t.has(r.id)&&e.set(r.id,a(r))}else for(const t of f)e.set(t.id,a(t));if(g.length){const t=g.map(i=>{var r;return(r=e.get(i))==null?void 0:r.path}).filter(Boolean),o=new Map;return e.forEach((i,r)=>{const n=i.path,T=n.split("/");let F=!1;for(let y=0;y<T.length;y++){const Ie=T.slice(0,y+1).join("/");if(t.some(Le=>Le===Ie)){F=!0;break}}const Q=t.some(y=>n.startsWith(y+"/"));(F||Q)&&o.set(r,a(i))}),o}return e},[f,h,w,g,L]),ae=l.useMemo(()=>C?Ue.determineLoadingTaskFolders({expandedFoldersTasks:k,expandedParentIds:I,foldersMap:m}):{},[C,k,I,m]),[A,ne]=l.useState("");l.useEffect(()=>{A&&ne("")},[B,A]);const s={...B[0]},x=(s==null?void 0:s.id)==="name"&&!q?"path":(s==null?void 0:s.id)==="subType"?"taskType":s==null?void 0:s.id,W=g.length?Array.from(m.keys()):void 0,{data:p,isLoading:ue,isFetching:Qe,fetchNextPage:oe,hasNextPage:de,isFetchingNextPage:ce,isUninitialized:le,refetch:qe}=E.useGetTasksListInfiniteInfiniteQuery({projectName:d,filter:u.filterString,search:u.search,folderIds:W,sortBy:x?x.replace("_","."):void 0,desc:!!(s!=null&&s.desc)},{skip:q,initialPageParam:{cursor:"",desc:!!(s!=null&&s.desc)}}),v=l.useMemo(()=>p!=null&&p.pages?p.pages.flatMap(e=>e.tasks||[]):[],[p==null?void 0:p.pages]),{pageCounts:b,incrementPageCount:fe}=ve.useGroupedPagination({groups:M}),pe=ze.getGroupByDataType(c,J),R=l.useMemo(()=>c?(P==null?void 0:P({groups:M,taskGroups:M,filters:u.filter,groupBy:c,groupPageCounts:b}))??[]:[],[c,M,b,pe,u.filter,P]),{data:{tasks:z=[]}={},isFetching:ge,isUninitialized:ke,refetch:he}=E.useGetGroupedTasksListQuery({projectName:d,groups:R,sortBy:x?x.replace("_","."):void 0,desc:!!(s!=null&&s.desc),search:u.search,folderIds:W},{skip:!c||!R.length||D}),S=l.useMemo(()=>{const e=q?k:c?z:v;return new Set(e.map(a=>a.id))},[k,q,v,z,c]),{data:U=[],refetch:Te,isUninitialized:Fe}=_.useGetEntityLinksQuery({projectName:d,entityIds:Array.from(S),entityType:"task"},{skip:S.size===0}),ye=e=>{c?e&&e in b&&(console.log("fetching next page for group:",e),fe(e)):de&&(console.log("fetching next page"),oe())},{tasksMap:Me,tasksByFolderMap:Pe}=l.useMemo(()=>{const e=new Map,a=new Map,t=i=>{var r;return{...i,entityId:i.id,entityType:"task",links:((r=U==null?void 0:U.find(n=>n.id===i.id))==null?void 0:r.links)||[]}},o=q?k:c?z:v;for(const i of o){const r=i.id,n=i.folderId;if(e.has(r)){const T=e.get(r),F=t(i),Q={...T,...F,groups:[...T.groups||[],...F.groups||[]]};e.set(r,Q)}else e.set(r,t(i));a.has(n)?a.get(n).push(r):a.set(n,[r])}return{tasksMap:e,tasksByFolderMap:a}},[k,q,v,z,U]);return{foldersMap:m,tasksMap:Me,tasksByFolderMap:Pe,isLoadingAll:N||Z||ue||H||ge||D,isLoadingMore:ce,loadingTasks:ae,fetchNextPage:ye,reloadTableData:()=>{X||Y(),j||$(),ee||re(),le||qe(),ke||he(),te||se(),Fe||Te()}}};exports.useFetchOverviewData=Ge;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");const me=require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");const _=require("../../../api/queries/links/getEntityLinks.cjs.js"),E=require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");const q=require("react");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("lodash");require("react-toastify");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("react-redux");require("custom-protocol-check");const xe=require("../../../hooks/useQueryArgumentChangeLoading.cjs.js"),ve=require("../../../hooks/useGroupedPagination.cjs.js");require("../components/GroupSettingsFallback.cjs.js");require("uuid");const ze=require("../../../util/getGroupByDataType.cjs.js");require("../../../util/pubsub.cjs.js");const Ue=require("../utils/loadingUtils.cjs.js"),Ee=require("./useBuildGroupByTableData.cjs.js"),Ge=({projectName:d,selectedFolders:g,queryFilters:u,sorting:B,groupBy:c,taskGroups:M=[],expanded:G,showHierarchy:l,attribFields:J,modules:K})=>{const{getGroupQueries:P,isLoading:D}=K,{data:{folders:f=[]}={},isLoading:N,isFetching:V,isUninitialized:X,refetch:Y}=me.useGetFolderListQuery({projectName:d||"",attrib:!0},{skip:!d}),Z=xe.useQueryArgumentChangeLoading({projectName:d||""},V),I=Object.entries(G).filter(([,e])=>e).filter(([e])=>!Ee.isGroupId(e)).map(([e])=>e),{data:k=[],isFetching:C,refetch:$,isUninitialized:j}=E.useGetOverviewTasksByFoldersQuery({projectName:d,parentIds:I,filter:u.filterString,search:u.search},{skip:!I.length||!l}),O=!u.filterString||!f.length||!l,{data:h,isUninitialized:w,isFetching:H,isUninitialized:ee,refetch:re}=E.useGetQueryTasksFoldersQuery({projectName:d,tasksFoldersQuery:{filter:u.filter,search:u.search}},{skip:O}),ie=q.useMemo(()=>{const e=new Set;return f.forEach(a=>{if(!a.parentId){e.add(a.id);return}const t=a.parentId,o=g.includes(a.id);(G[t]===!0||o)&&e.add(a.id)}),e},[f,h,O,G,g]),{data:L=[],refetch:se,isUninitialized:te}=_.useGetEntityLinksQuery({projectName:d,entityIds:Array.from(ie),entityType:"folder"}),m=q.useMemo(()=>{const e=new Map,a=t=>{var i;return{...t,entityId:t.id,entityType:"folder",links:((i=L==null?void 0:L.find(r=>r.id===t.id))==null?void 0:i.links)||[]}};if(!w&&h&&f.length){const t=new Set;for(const r of h)t.add(r);const o=new Map;for(const r of f)o.set(r.id,r);const i=r=>{const n=o.get(r);n&&n.parentId&&(t.add(n.parentId),i(n.parentId))};for(const r of h)i(r);for(const r of f)t.has(r.id)&&e.set(r.id,a(r))}else for(const t of f)e.set(t.id,a(t));if(g.length){const t=g.map(i=>{var r;return(r=e.get(i))==null?void 0:r.path}).filter(Boolean),o=new Map;return e.forEach((i,r)=>{const n=i.path,T=n.split("/");let F=!1;for(let y=0;y<T.length;y++){const Ie=T.slice(0,y+1).join("/");if(t.some(Le=>Le===Ie)){F=!0;break}}const Q=t.some(y=>n.startsWith(y+"/"));(F||Q)&&o.set(r,a(i))}),o}return e},[f,h,w,g,L]),ae=q.useMemo(()=>C?Ue.determineLoadingTaskFolders({expandedFoldersTasks:k,expandedParentIds:I,foldersMap:m}):{},[C,k,I,m]),[A,ne]=q.useState("");q.useEffect(()=>{A&&ne("")},[B,A]);const s={...B[0]},x=(s==null?void 0:s.id)==="name"&&!l?"path":(s==null?void 0:s.id)==="subType"?"taskType":s==null?void 0:s.id,W=g.length?Array.from(m.keys()):void 0,{data:p,isLoading:ue,isFetching:Qe,fetchNextPage:oe,hasNextPage:de,isFetchingNextPage:ce,isUninitialized:qe,refetch:le}=E.useGetTasksListInfiniteInfiniteQuery({projectName:d,filter:u.filterString,search:u.search,folderIds:W,sortBy:x?x.replace("_","."):void 0,desc:!!(s!=null&&s.desc)},{skip:l,initialPageParam:{cursor:"",desc:!!(s!=null&&s.desc)}}),v=q.useMemo(()=>p!=null&&p.pages?p.pages.flatMap(e=>e.tasks||[]):[],[p==null?void 0:p.pages]),{pageCounts:b,incrementPageCount:fe}=ve.useGroupedPagination({groups:M}),pe=ze.getGroupByDataType(c,J),R=q.useMemo(()=>c?(P==null?void 0:P({groups:M,taskGroups:M,filters:u.filter,groupBy:c,groupPageCounts:b}))??[]:[],[c,M,b,pe,u.filter,P]),{data:{tasks:z=[]}={},isFetching:ge,isUninitialized:ke,refetch:he}=E.useGetGroupedTasksListQuery({projectName:d,groups:R,sortBy:x?x.replace("_","."):void 0,desc:!!(s!=null&&s.desc),search:u.search,folderIds:W},{skip:!c||!R.length||D}),S=q.useMemo(()=>{const e=l?k:c?z:v;return new Set(e.map(a=>a.id))},[k,l,v,z,c]),{data:U=[],refetch:Te,isUninitialized:Fe}=_.useGetEntityLinksQuery({projectName:d,entityIds:Array.from(S),entityType:"task"},{skip:S.size===0}),ye=e=>{c?e&&e in b&&(console.log("fetching next page for group:",e),fe(e)):de&&(console.log("fetching next page"),oe())},{tasksMap:Me,tasksByFolderMap:Pe}=q.useMemo(()=>{const e=new Map,a=new Map,t=i=>{var r;return{...i,entityId:i.id,entityType:"task",links:((r=U==null?void 0:U.find(n=>n.id===i.id))==null?void 0:r.links)||[]}},o=l?k:c?z:v;for(const i of o){const r=i.id,n=i.folderId;if(e.has(r)){const T=e.get(r),F=t(i),Q={...T,...F,groups:[...T.groups||[],...F.groups||[]]};e.set(r,Q)}else e.set(r,t(i));a.has(n)?a.get(n).push(r):a.set(n,[r])}return{tasksMap:e,tasksByFolderMap:a}},[k,l,v,z,U]);return{foldersMap:m,tasksMap:Me,tasksByFolderMap:Pe,isLoadingAll:N||Z||ue||H||ge||D,isLoadingMore:ce,loadingTasks:ae,fetchNextPage:ye,reloadTableData:()=>{X||Y(),j||$(),ee||re(),qe||le(),ke||he(),te||se(),Fe||Te()}}};exports.useFetchOverviewData=Ge;
|
|
2
2
|
//# sourceMappingURL=useFetchOverviewData.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchOverviewData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetFolderListQuery,\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetQueryTasksFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n EntityGroup,\n QueryTasksFoldersApiArg,\n QueryFilter,\n} 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 { useQueryArgumentChangeLoading } from '@shared/hooks'\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 queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n } // filters from the filters bar or slicer (not hierarchy)\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 queryFilters,\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 data: { folders = [] } = {},\n isLoading,\n isFetching: isFetchingFoldersRaw,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n const isFetchingFolders = useQueryArgumentChangeLoading(\n { projectName: projectName || '' },\n isFetchingFoldersRaw,\n )\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: queryFilters.filterString,\n search: queryFilters.search,\n },\n { skip: !expandedParentIds.length || !showHierarchy },\n )\n\n const skipFoldersByTaskFilter = !queryFilters.filterString || !folders.length || !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 } = useGetQueryTasksFoldersQuery(\n {\n projectName,\n tasksFoldersQuery: { filter: queryFilters.filter, search: queryFilters.search },\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: queryFilters.filterString,\n search: queryFilters.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: queryFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n : []\n }, [groupBy, taskGroups, groupPageCounts, groupByDataType, queryFilters.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: queryFilters.search,\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 isLoading ||\n isFetchingFolders ||\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","queryFilters","sorting","groupBy","taskGroups","expanded","showHierarchy","attribFields","modules","getGroupQueries","isLoadingModules","folders","isLoading","isFetchingFoldersRaw","isUninitializedFolders","refetchFolders","useGetFolderListQuery","isFetchingFolders","useQueryArgumentChangeLoading","expandedParentIds","isExpanded","id","isGroupId","expandedFoldersTasks","isFetchingExpandedFoldersTasks","refetchExpandedFoldersTasks","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","foldersByTaskFilter","isUninitialized","isFetchingTasksFolders","isUninitializedTasksFolders","refetchTasksFolders","useGetQueryTasksFoldersQuery","visibleFolders","useMemo","visibleSet","folder","parentId","isSelectedInSlicer","foldersLinks","refetchFoldersLinks","isUninitializedFoldersLinks","useGetEntityLinksQuery","foldersMap","map","addExtraDataToFolder","_a","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 useGetFolderListQuery,\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetQueryTasksFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n EntityGroup,\n QueryTasksFoldersApiArg,\n QueryFilter,\n} 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 { useQueryArgumentChangeLoading } from '@shared/hooks'\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 queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n } // filters from the filters bar or slicer (not hierarchy)\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 queryFilters,\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 data: { folders = [] } = {},\n isLoading,\n isFetching: isFetchingFoldersRaw,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n const isFetchingFolders = useQueryArgumentChangeLoading(\n { projectName: projectName || '' },\n isFetchingFoldersRaw,\n )\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: queryFilters.filterString,\n search: queryFilters.search,\n },\n { skip: !expandedParentIds.length || !showHierarchy },\n )\n\n const skipFoldersByTaskFilter = !queryFilters.filterString || !folders.length || !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 } = useGetQueryTasksFoldersQuery(\n {\n projectName,\n tasksFoldersQuery: { filter: queryFilters.filter, search: queryFilters.search },\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: queryFilters.filterString,\n search: queryFilters.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: queryFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n : []\n }, [groupBy, taskGroups, groupPageCounts, groupByDataType, queryFilters.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: queryFilters.search,\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 isLoading ||\n isFetchingFolders ||\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","queryFilters","sorting","groupBy","taskGroups","expanded","showHierarchy","attribFields","modules","getGroupQueries","isLoadingModules","folders","isLoading","isFetchingFoldersRaw","isUninitializedFolders","refetchFolders","useGetFolderListQuery","isFetchingFolders","useQueryArgumentChangeLoading","expandedParentIds","isExpanded","id","isGroupId","expandedFoldersTasks","isFetchingExpandedFoldersTasks","refetchExpandedFoldersTasks","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","foldersByTaskFilter","isUninitialized","isFetchingTasksFolders","isUninitializedTasksFolders","refetchTasksFolders","useGetQueryTasksFoldersQuery","visibleFolders","useMemo","visibleSet","folder","parentId","isSelectedInSlicer","foldersLinks","refetchFoldersLinks","isUninitializedFoldersLinks","useGetEntityLinksQuery","foldersMap","map","addExtraDataToFolder","_a","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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"}
|
|
@@ -98,6 +98,8 @@ import "../../../context/PowerpackContext.es.js";
|
|
|
98
98
|
import "../../../context/MoveEntityContext.es.js";
|
|
99
99
|
import "../../../context/MenuContext.es.js";
|
|
100
100
|
import "../../../context/WebsocketContext.es.js";
|
|
101
|
+
import "../../../context/GlobalContext.es.js";
|
|
102
|
+
import "../../../context/ProjectContext.es.js";
|
|
101
103
|
import "react-redux";
|
|
102
104
|
import "custom-protocol-check";
|
|
103
105
|
import { useQueryArgumentChangeLoading as Gt } from "../../../hooks/useQueryArgumentChangeLoading.es.js";
|
|
@@ -108,7 +110,7 @@ import { getGroupByDataType as Ct } from "../../../util/getGroupByDataType.es.js
|
|
|
108
110
|
import "../../../util/pubsub.es.js";
|
|
109
111
|
import { determineLoadingTaskFolders as Bt } from "../utils/loadingUtils.es.js";
|
|
110
112
|
import { isGroupId as Dt } from "./useBuildGroupByTableData.es.js";
|
|
111
|
-
const
|
|
113
|
+
const Ks = ({
|
|
112
114
|
projectName: d,
|
|
113
115
|
selectedFolders: h,
|
|
114
116
|
// comes from the slicer
|
|
@@ -345,6 +347,6 @@ const Rs = ({
|
|
|
345
347
|
};
|
|
346
348
|
};
|
|
347
349
|
export {
|
|
348
|
-
|
|
350
|
+
Ks as useFetchOverviewData
|
|
349
351
|
};
|
|
350
352
|
//# sourceMappingURL=useFetchOverviewData.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchOverviewData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetFolderListQuery,\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetQueryTasksFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n EntityGroup,\n QueryTasksFoldersApiArg,\n QueryFilter,\n} 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 { useQueryArgumentChangeLoading } from '@shared/hooks'\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 queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n } // filters from the filters bar or slicer (not hierarchy)\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 queryFilters,\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 data: { folders = [] } = {},\n isLoading,\n isFetching: isFetchingFoldersRaw,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n const isFetchingFolders = useQueryArgumentChangeLoading(\n { projectName: projectName || '' },\n isFetchingFoldersRaw,\n )\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: queryFilters.filterString,\n search: queryFilters.search,\n },\n { skip: !expandedParentIds.length || !showHierarchy },\n )\n\n const skipFoldersByTaskFilter = !queryFilters.filterString || !folders.length || !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 } = useGetQueryTasksFoldersQuery(\n {\n projectName,\n tasksFoldersQuery: { filter: queryFilters.filter, search: queryFilters.search },\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: queryFilters.filterString,\n search: queryFilters.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: queryFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n : []\n }, [groupBy, taskGroups, groupPageCounts, groupByDataType, queryFilters.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: queryFilters.search,\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 isLoading ||\n isFetchingFolders ||\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","queryFilters","sorting","groupBy","taskGroups","expanded","showHierarchy","attribFields","modules","getGroupQueries","isLoadingModules","folders","isLoading","isFetchingFoldersRaw","isUninitializedFolders","refetchFolders","useGetFolderListQuery","isFetchingFolders","useQueryArgumentChangeLoading","expandedParentIds","isExpanded","id","isGroupId","expandedFoldersTasks","isFetchingExpandedFoldersTasks","refetchExpandedFoldersTasks","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","foldersByTaskFilter","isUninitialized","isFetchingTasksFolders","isUninitializedTasksFolders","refetchTasksFolders","useGetQueryTasksFoldersQuery","visibleFolders","useMemo","visibleSet","folder","parentId","isSelectedInSlicer","foldersLinks","refetchFoldersLinks","isUninitializedFoldersLinks","useGetEntityLinksQuery","foldersMap","map","addExtraDataToFolder","_a","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.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetFolderListQuery,\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetQueryTasksFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n EntityGroup,\n QueryTasksFoldersApiArg,\n QueryFilter,\n} 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 { useQueryArgumentChangeLoading } from '@shared/hooks'\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 queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n } // filters from the filters bar or slicer (not hierarchy)\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 queryFilters,\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 data: { folders = [] } = {},\n isLoading,\n isFetching: isFetchingFoldersRaw,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n const isFetchingFolders = useQueryArgumentChangeLoading(\n { projectName: projectName || '' },\n isFetchingFoldersRaw,\n )\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: queryFilters.filterString,\n search: queryFilters.search,\n },\n { skip: !expandedParentIds.length || !showHierarchy },\n )\n\n const skipFoldersByTaskFilter = !queryFilters.filterString || !folders.length || !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 } = useGetQueryTasksFoldersQuery(\n {\n projectName,\n tasksFoldersQuery: { filter: queryFilters.filter, search: queryFilters.search },\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: queryFilters.filterString,\n search: queryFilters.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: queryFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n : []\n }, [groupBy, taskGroups, groupPageCounts, groupByDataType, queryFilters.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: queryFilters.search,\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 isLoading ||\n isFetchingFolders ||\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","queryFilters","sorting","groupBy","taskGroups","expanded","showHierarchy","attribFields","modules","getGroupQueries","isLoadingModules","folders","isLoading","isFetchingFoldersRaw","isUninitializedFolders","refetchFolders","useGetFolderListQuery","isFetchingFolders","useQueryArgumentChangeLoading","expandedParentIds","isExpanded","id","isGroupId","expandedFoldersTasks","isFetchingExpandedFoldersTasks","refetchExpandedFoldersTasks","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","foldersByTaskFilter","isUninitialized","isFetchingTasksFolders","isUninitializedTasksFolders","refetchTasksFolders","useGetQueryTasksFoldersQuery","visibleFolders","useMemo","visibleSet","folder","parentId","isSelectedInSlicer","foldersLinks","refetchFoldersLinks","isUninitializedFoldersLinks","useGetEntityLinksQuery","foldersMap","map","addExtraDataToFolder","_a","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,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),y=({projectInfo:u})=>{const{folderTypes:o=[],taskTypes:n=[],productTypes:r=[]}=u||{},a=s.useMemo(()=>{const t=new Map;for(const e of o)t.set(e.name,e);return t},[o]),c=s.useMemo(()=>{const t=new Map;for(const e of n)t.set(e.name,e);return t},[n]),p=s.useMemo(()=>{const t=new Map;for(const e of r)t.set(e.name,e);return t},[r]);return s.useCallback((t,e)=>{if(!(!t||!e))switch(t){case"folder":return a.get(e);case"task":return c.get(e);case"product":return p.get(e)}},[a,c,p])};exports.useGetEntityTypeData=y;
|
|
2
2
|
//# sourceMappingURL=useGetEntityTypeData.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetEntityTypeData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {
|
|
1
|
+
{"version":3,"file":"useGetEntityTypeData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { TaskType, FolderType } from '../types/project'\nimport { ProjectModelWithProducts } from '@shared/context'\nimport { ProductType } from '@shared/api'\n\ntype Props = {\n projectInfo?: ProjectModelWithProducts\n}\n\nexport const useGetEntityTypeData = ({ projectInfo }: Props) => {\n const { folderTypes = [], taskTypes = [], productTypes = [] } = projectInfo || {}\n\n // create a map of folder types by name for efficient lookups\n const folderTypesByName = useMemo(() => {\n const map: Map<string, FolderType> = new Map()\n for (const folderType of folderTypes) {\n map.set(folderType.name, folderType)\n }\n return map\n }, [folderTypes])\n\n // create a map of task types by name for efficient lookups\n const taskTypesByName = useMemo(() => {\n const map: Map<string, TaskType> = new Map()\n for (const taskType of taskTypes) {\n map.set(taskType.name, taskType)\n }\n return map\n }, [taskTypes])\n\n // convert object to map for product types\n const productTypesByName = useMemo(() => {\n const map: Map<string, ProductType> = new Map()\n for (const productType of productTypes) {\n map.set(productType.name, productType)\n }\n return map\n }, [productTypes])\n\n const getEntityTypeData = useCallback(\n (type: 'folder' | 'task' | 'product' | string | undefined, subType?: string) => {\n if (!type || !subType) return\n switch (type) {\n case 'folder':\n return folderTypesByName.get(subType)\n case 'task':\n return taskTypesByName.get(subType)\n case 'product':\n return productTypesByName.get(subType)\n\n default:\n break\n }\n },\n [folderTypesByName, taskTypesByName, productTypesByName],\n )\n\n return getEntityTypeData\n}\n"],"names":["useGetEntityTypeData","projectInfo","folderTypes","taskTypes","productTypes","folderTypesByName","useMemo","map","folderType","taskTypesByName","taskType","productTypesByName","productType","useCallback","type","subType"],"mappings":"yGASaA,EAAuB,CAAC,CAAE,YAAAC,KAAyB,CAC9D,KAAM,CAAE,YAAAC,EAAc,CAAA,EAAI,UAAAC,EAAY,CAAI,EAAA,aAAAC,EAAe,CAAA,GAAOH,GAAe,CAAC,EAG1EI,EAAoBC,EAAAA,QAAQ,IAAM,CAChC,MAAAC,MAAmC,IACzC,UAAWC,KAAcN,EACnBK,EAAA,IAAIC,EAAW,KAAMA,CAAU,EAE9B,OAAAD,CAAA,EACN,CAACL,CAAW,CAAC,EAGVO,EAAkBH,EAAAA,QAAQ,IAAM,CAC9B,MAAAC,MAAiC,IACvC,UAAWG,KAAYP,EACjBI,EAAA,IAAIG,EAAS,KAAMA,CAAQ,EAE1B,OAAAH,CAAA,EACN,CAACJ,CAAS,CAAC,EAGRQ,EAAqBL,EAAAA,QAAQ,IAAM,CACjC,MAAAC,MAAoC,IAC1C,UAAWK,KAAeR,EACpBG,EAAA,IAAIK,EAAY,KAAMA,CAAW,EAEhC,OAAAL,CAAA,EACN,CAACH,CAAY,CAAC,EAoBV,OAlBmBS,EAAA,YACxB,CAACC,EAA0DC,IAAqB,CAC1E,GAAA,GAACD,GAAQ,CAACC,GACd,OAAQD,EAAM,CACZ,IAAK,SACI,OAAAT,EAAkB,IAAIU,CAAO,EACtC,IAAK,OACI,OAAAN,EAAgB,IAAIM,CAAO,EACpC,IAAK,UACI,OAAAJ,EAAmB,IAAII,CAAO,CAGrC,CAEN,EACA,CAACV,EAAmBI,EAAiBE,CAAkB,CACzD,CAGF"}
|