@ynput/ayon-frontend-shared 0.2.37 → 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 +67 -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.map +1 -1
- 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.es10.js +3 -3
- package/dist/_virtual/index.es11.js +5 -5
- package/dist/_virtual/index.es12.js +5 -5
- 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 +15 -12
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +56 -55
- package/dist/index.es.js.map +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/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/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/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/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/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 +3 -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 +3 -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 +3 -2
- 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 -69
- 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 +3 -2
- 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 +5 -4
- 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 -106
- 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 +53 -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 +5 -4
- 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 +44 -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 +81 -80
- 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 +43 -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 +65 -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 +139 -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 +49 -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 +48 -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 +221 -211
- 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 +23 -22
- 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 +47 -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 +8 -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 +108 -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 +48 -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 +3 -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 +49 -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 +164 -166
- 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 +57 -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 +103 -97
- 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 +87 -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 +3 -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 +18 -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 +3 -2
- 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 +3 -2
- 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 +44 -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 +48 -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 +48 -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 +48 -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 +44 -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 +4 -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 +3 -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 +3 -2
- 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 -109
- 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 +3 -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 +3 -2
- 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 +12 -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 +43 -43
- 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 +6 -5
- 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 +333 -333
- 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 +52 -51
- 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 +42 -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 +52 -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 +50 -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 -58
- 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 +10 -9
- 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 +65 -66
- 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 -112
- 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 +57 -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 +50 -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 +59 -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 +3 -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 +49 -48
- 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 +46 -45
- 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 +50 -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 +51 -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 +66 -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 -54
- 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 +57 -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 +108 -220
- 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 +63 -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 +46 -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 -113
- 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 +48 -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 +3 -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 +3 -2
- 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 +92 -87
- 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 +3 -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 +3 -2
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +5 -4
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- 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 +7 -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/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +47 -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 +3 -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 +3 -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 +3 -2
- 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 +3 -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 +6 -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 +3 -2
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
- package/dist/types/api/generated/views.d.ts +13 -21
- package/dist/types/api/queries/actions/getActions.d.ts +6 -6
- package/dist/types/api/queries/activities/getActivities.d.ts +8 -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/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 +4 -4
- package/dist/types/api/queries/entities/getEntity.d.ts +10 -10
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +4 -4
- package/dist/types/api/queries/entityLists/getLists.d.ts +188 -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 +10 -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 +6 -6
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +11 -8
- package/dist/types/api/queries/users/getUsers.d.ts +20 -20
- package/dist/types/api/queries/users/guests.d.ts +2 -2
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +9 -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 +1 -0
- package/dist/types/components/index.d.ts +31 -30
- package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +3 -2
- package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +4 -2
- 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/utils/getTableFieldOptions.d.ts +3 -2
- package/dist/types/containers/Views/index.d.ts +1 -1
- package/dist/types/context/AddonProjectContext.d.ts +9 -14
- package/dist/types/context/ProjectContext.d.ts +33 -0
- package/dist/types/context/index.d.ts +1 -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 -113
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.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/util/productTypes.d.ts +0 -8
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Y=require("./useGetEntityTypeData.cjs.js"),V=require("react");require("@ynput/ayon-react-components");require("short-uuid");const z=require("../../../util/productTypes.cjs.js");require("lodash");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("../ProjectTreeTable.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");const H=require("../utils/linksToTableData.cjs.js"),C="next-page",y="_ungrouped",A="__",M=e=>e?Array.isArray(e)?e.map(u=>u.toString()):[e.toString()]:[],J=(e,u,n)=>{if(!n)return{value:u,label:u};const r=n.find(g=>g.value===u);return r?{value:r.value,label:r.label||r.value,color:r.color,icon:r.icon,count:r.count,img:e==="assignees"?`/api/users/${r.value}/avatar`:void 0}:{value:u,label:u}},T="_GROUP_",B=e=>`${T}${e}`,K=e=>e.startsWith(T)?e.slice(T.length):null,Q=e=>e.startsWith(T),Z=(e,u,n=[])=>{var g,o,b,R,f;const r=e.id.replace("attrib.","");return r==="status"?((g=u==null?void 0:u.statuses)==null?void 0:g.map(q=>q.name))||[]:r==="taskType"?((o=u==null?void 0:u.taskTypes)==null?void 0:o.map(q=>q.name))||[]:r==="folderType"?((b=u==null?void 0:u.folderTypes)==null?void 0:b.map(q=>q.name))||[]:e.id.startsWith("attrib.")?((f=(R=n.find(q=>q.name===r))==null?void 0:R.data.enum)==null?void 0:f.map(q=>q.value.toString()))||[]:[]},k=(e,u,n,r,g)=>{const o=g(n,e.taskType);return{id:e.id+A+u,entityId:e.id,entityType:n,parentId:e.folderId,name:e.name||"",label:e.label||e.name||"",icon:(o==null?void 0:o.icon)||null,color:(o==null?void 0:o.color)||null,status:e.status,assignees:e.assignees,tags:e.tags,img:null,subRows:[],subType:e.taskType||null,attrib:e.attrib,ownAttrib:e.ownAttrib,parents:e.parents||[],updatedAt:e.updatedAt,links:H.linksToTableData(e.links,n,{folderTypes:(r==null?void 0:r.folderTypes)||[],productTypes:Object.values(z)||[],taskTypes:(r==null?void 0:r.taskTypes)||[]})}},F=({project:e,entities:u,entityType:n,groups:r=[],attribFields:g,showEmpty:o,groupRowFunc:b})=>{const R=Y.useGetEntityTypeData({projectInfo:e}),f=V.useCallback((l,a)=>{const d=b?b(l):k(l,a,n,e,R);return{...d,id:l.id+A+a,subRows:d.subRows||[]}},[b,R,n,e]);return l=>{var h,D,E,O,P,U;const a=new Map;for(const s of r){const i=(h=s.value)==null?void 0:h.toString(),p=B(i),t=J(l.id,i,r);a.set(i,{id:p,name:i,entityType:"group",subRows:[],label:t.label,group:t,links:{}})}const d=T+"."+y,w=()=>{let s=a.get(d);return s||(s={id:d,name:"Ungrouped",entityType:"group",subRows:[],label:"Ungrouped",group:{value:d,label:"Ungrouped"},links:{}},a.set(d,s)),s};for(const[s,i]of u){if(i.entityType!==n)continue;let p=[];if(l.id.startsWith("attrib.")){const t=l.id.split(".")[1];p=M((D=i.attrib)==null?void 0:D[t])}else p=M(i[l.id]);p.length===0&&((E=w().subRows)==null||E.push(f(i,y)));for(const t of p){const c=a.get(t);c?(O=c.subRows)==null||O.push(f(i,t)):(P=w().subRows)==null||P.push(f(i,y))}if("groups"in i&&Array.isArray(i.groups)){for(const t of i.groups)if(t.hasNextPage&&a.has(t.value)){const G=a.get(t.value);G&&((U=G.subRows)==null||U.push({id:`${t.value}-next-page`,name:"Load more tasks...",entityType:C,subRows:[],label:`Next page for ${t.value}`,group:{value:t.value,label:t.value},links:{}}))}}}const v=Array.from(a.values()),m=Z(l,e,g);v.sort((s,i)=>{var p,t,c,G,S,x,N,W,$,L;if(((p=s.group)==null?void 0:p.value)===d)return 1;if(((t=i.group)==null?void 0:t.value)===d)return-1;if(m.length){const I=m.indexOf(((c=s.group)==null?void 0:c.value)||""),_=m.indexOf(((G=i.group)==null?void 0:G.value)||"");return I!==-1&&_!==-1?I-_:I!==-1?-1:_!==-1?1:((N=(S=s.group)==null?void 0:S.label)==null?void 0:N.localeCompare(((x=i.group)==null?void 0:x.label)||""))||0}else return((L=(W=s.group)==null?void 0:W.label)==null?void 0:L.localeCompare((($=i.group)==null?void 0:$.label)||""))||0});const X=v.filter(s=>s.subRows&&s.subRows.length>0);return o?v:X}};exports.GROUP_BY_ID=T;exports.NEXT_PAGE_ID=C;exports.ROW_ID_SEPARATOR=A;exports.UNGROUPED_VALUE=y;exports.buildGroupId=B;exports.default=F;exports.isGroupId=Q;exports.parseGroupId=K;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Y=require("./useGetEntityTypeData.cjs.js"),V=require("react");require("@ynput/ayon-react-components");require("short-uuid");require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const z=require("../../../context/ProjectContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("../ProjectTreeTable.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");const H=require("../utils/linksToTableData.cjs.js"),M="next-page",y="_ungrouped",A="__",L=e=>e?Array.isArray(e)?e.map(r=>r.toString()):[e.toString()]:[],J=(e,r,o)=>{if(!o)return{value:r,label:r};const u=o.find(g=>g.value===r);return u?{value:u.value,label:u.label||u.value,color:u.color,icon:u.icon,count:u.count,img:e==="assignees"?`/api/users/${u.value}/avatar`:void 0}:{value:r,label:r}},T="_GROUP_",B=e=>`${T}${e}`,K=e=>e.startsWith(T)?e.slice(T.length):null,Q=e=>e.startsWith(T),Z=(e,r,o=[])=>{var g,n,b,R,c;const u=e.id.replace("attrib.","");return u==="status"?((g=r==null?void 0:r.statuses)==null?void 0:g.map(q=>q.name))||[]:u==="taskType"?((n=r==null?void 0:r.taskTypes)==null?void 0:n.map(q=>q.name))||[]:u==="folderType"?((b=r==null?void 0:r.folderTypes)==null?void 0:b.map(q=>q.name))||[]:e.id.startsWith("attrib.")?((c=(R=o.find(q=>q.name===u))==null?void 0:R.data.enum)==null?void 0:c.map(q=>q.value.toString()))||[]:[]},k=(e,r,o,u,g)=>{const n=g(o,e.taskType);return{id:e.id+A+r,entityId:e.id,entityType:o,parentId:e.folderId,name:e.name||"",label:e.label||e.name||"",icon:(n==null?void 0:n.icon)||null,color:(n==null?void 0:n.color)||null,status:e.status,assignees:e.assignees,tags:e.tags,img:null,subRows:[],subType:e.taskType||null,attrib:e.attrib,ownAttrib:e.ownAttrib,parents:e.parents||[],updatedAt:e.updatedAt,links:H.linksToTableData(e.links,o,{folderTypes:(u==null?void 0:u.folderTypes)||[],productTypes:Object.values(u.productTypes)||[],taskTypes:(u==null?void 0:u.taskTypes)||[]})}},F=({entities:e,entityType:r,groups:o=[],attribFields:u,showEmpty:g,groupRowFunc:n})=>{const b=z.useProjectContext(),R=Y.useGetEntityTypeData({projectInfo:b}),c=V.useCallback((l,a)=>{const d=n?n(l):k(l,a,r,b,R);return{...d,id:l.id+A+a,subRows:d.subRows||[]}},[n,R,r,b]);return l=>{var h,D,E,P,O,U;const a=new Map;for(const s of o){const i=(h=s.value)==null?void 0:h.toString(),p=B(i),t=J(l.id,i,o);a.set(i,{id:p,name:i,entityType:"group",subRows:[],label:t.label,group:t,links:{}})}const d=T+"."+y,w=()=>{let s=a.get(d);return s||(s={id:d,name:"Ungrouped",entityType:"group",subRows:[],label:"Ungrouped",group:{value:d,label:"Ungrouped"},links:{}},a.set(d,s)),s};for(const[s,i]of e){if(i.entityType!==r)continue;let p=[];if(l.id.startsWith("attrib.")){const t=l.id.split(".")[1];p=L((D=i.attrib)==null?void 0:D[t])}else p=L(i[l.id]);p.length===0&&((E=w().subRows)==null||E.push(c(i,y)));for(const t of p){const f=a.get(t);f?(P=f.subRows)==null||P.push(c(i,t)):(O=w().subRows)==null||O.push(c(i,y))}if("groups"in i&&Array.isArray(i.groups)){for(const t of i.groups)if(t.hasNextPage&&a.has(t.value)){const G=a.get(t.value);G&&((U=G.subRows)==null||U.push({id:`${t.value}-next-page`,name:"Load more tasks...",entityType:M,subRows:[],label:`Next page for ${t.value}`,group:{value:t.value,label:t.value},links:{}}))}}}const v=Array.from(a.values()),m=Z(l,b,u);v.sort((s,i)=>{var p,t,f,G,x,S,N,W,C,$;if(((p=s.group)==null?void 0:p.value)===d)return 1;if(((t=i.group)==null?void 0:t.value)===d)return-1;if(m.length){const I=m.indexOf(((f=s.group)==null?void 0:f.value)||""),_=m.indexOf(((G=i.group)==null?void 0:G.value)||"");return I!==-1&&_!==-1?I-_:I!==-1?-1:_!==-1?1:((N=(x=s.group)==null?void 0:x.label)==null?void 0:N.localeCompare(((S=i.group)==null?void 0:S.label)||""))||0}else return(($=(W=s.group)==null?void 0:W.label)==null?void 0:$.localeCompare(((C=i.group)==null?void 0:C.label)||""))||0});const X=v.filter(s=>s.subRows&&s.subRows.length>0);return g?v:X}};exports.GROUP_BY_ID=T;exports.NEXT_PAGE_ID=M;exports.ROW_ID_SEPARATOR=A;exports.UNGROUPED_VALUE=y;exports.buildGroupId=B;exports.default=F;exports.isGroupId=Q;exports.parseGroupId=K;
|
|
2
2
|
//# sourceMappingURL=useBuildGroupByTableData.cjs.js.map
|
package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBuildGroupByTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.ts"],"sourcesContent":["// based on the groupBy field we take a flat list of items and group them\n// each group is a root node with subItems as the grouped items\n// any leftover items that do not match the groupBy field are added as a separate group (\"Ungrouped\")\n\nimport { ProjectModel, EntityGroup } from '@shared/api'\nimport { TableGroupBy } from '../context'\nimport { EditorTaskNode, EntitiesMap, EntityMap, ProjectTableAttribute, TableRow } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { useCallback } from 'react'\nimport { linksToTableData } from '../utils'\nimport { productTypes } from '@shared/util'\nexport type GroupByEntityType = 'task' | 'folder' | 'version' | 'product'\n\nexport type GroupData = {\n value: string\n label: string\n color?: string\n icon?: string\n img?: string\n count?: number\n}\n\nexport const NEXT_PAGE_ID = 'next-page'\nexport const UNGROUPED_VALUE = '_ungrouped'\nexport const ROW_ID_SEPARATOR = '__'\n\nconst valueToStringArray = (value?: any): string[] =>\n value ? (Array.isArray(value) ? value.map((v) => v.toString()) : [value.toString()]) : []\n\n// get group label, color and icon\nconst getGroupData = (groupById: string, groupValue: string, groups?: EntityGroup[]): GroupData => {\n if (!groups)\n return {\n value: groupValue,\n label: groupValue,\n }\n\n const group = groups.find((g) => g.value === groupValue)\n if (!group) {\n return {\n value: groupValue,\n label: groupValue,\n }\n } else {\n return {\n value: group.value,\n label: group.label || group.value,\n color: group.color,\n icon: group.icon,\n count: group.count,\n img: groupById === 'assignees' ? `/api/users/${group.value}/avatar` : undefined,\n }\n }\n}\n\nexport const GROUP_BY_ID = '_GROUP_'\nexport const buildGroupId = (value: string) => `${GROUP_BY_ID}${value}`\nexport const parseGroupId = (groupId: string): string | null => {\n if (!groupId.startsWith(GROUP_BY_ID)) return null\n return groupId.slice(GROUP_BY_ID.length) // +1 for the underscore\n}\nexport const isGroupId = (id: string): boolean => id.startsWith(GROUP_BY_ID)\n\ntype BuildGroupByTableProps = {\n project?: ProjectModel\n entities: EntitiesMap\n entityType: string\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\n groupRowFunc?: (node: any) => TableRow\n}\n\n// get sorting ids based on the groupBy field\nconst getSortingIds = (\n groupBy: TableGroupBy,\n project?: ProjectModel,\n attribFields: ProjectTableAttribute[] = [],\n): string[] => {\n const attributeId = groupBy.id.replace('attrib.', '')\n\n // for status, taskType, folderType use project data order\n if (attributeId === 'status') {\n return project?.statuses?.map((s) => s.name) || []\n } else if (attributeId === 'taskType') {\n return project?.taskTypes?.map((t) => t.name) || []\n } else if (attributeId === 'folderType') {\n return project?.folderTypes?.map((f) => f.name) || []\n } else if (groupBy.id.startsWith('attrib.')) {\n // for other enum attributes, use the enum values order\n return (\n attribFields\n .find((field) => field.name === attributeId)\n ?.data.enum?.map((e) => e.value.toString()) || []\n )\n } else return []\n}\n\nconst defaultEntityToGroupRow = (\n task: EditorTaskNode,\n group: string | undefined,\n entityType: string,\n project: ProjectModel | undefined,\n getEntityTypeData: ReturnType<typeof useGetEntityTypeData>,\n): TableRow & { subRows: TableRow[] } => {\n const typeData = getEntityTypeData(entityType, task.taskType)\n return {\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the folder\n entityId: task.id,\n entityType: entityType,\n parentId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n updatedAt: task.updatedAt,\n links: linksToTableData(task.links, entityType, {\n folderTypes: project?.folderTypes || [],\n productTypes: Object.values(productTypes) || [],\n taskTypes: project?.taskTypes || [],\n }),\n }\n}\n\nconst useBuildGroupByTableData = ({\n project,\n entities,\n entityType,\n groups = [],\n attribFields,\n showEmpty,\n groupRowFunc, // for versions etc\n}: BuildGroupByTableProps) => {\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow & { subRows: TableRow[] } => {\n // Use provided groupRowFunc or fall back to default\n const baseRow = groupRowFunc\n ? groupRowFunc(task)\n : defaultEntityToGroupRow(task, group, entityType, project, getEntityTypeData)\n\n // Ensure group-specific fields are set\n return {\n ...baseRow,\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the group\n subRows: baseRow.subRows || [],\n }\n },\n [groupRowFunc, getEntityTypeData, entityType, project],\n )\n\n const buildGroupByTableData = (groupBy: TableGroupBy): TableRow[] => {\n const groupsMap = new Map<string, TableRow>()\n\n for (const group of groups) {\n const groupValue = group.value?.toString() as string\n const groupId = buildGroupId(groupValue)\n const groupData = getGroupData(groupBy.id, groupValue, groups)\n groupsMap.set(groupValue, {\n id: groupId,\n name: groupValue,\n entityType: 'group',\n subRows: [],\n label: groupData.label,\n group: groupData,\n links: {},\n })\n }\n\n const ungroupedId = GROUP_BY_ID + '.' + UNGROUPED_VALUE // unique id for ungrouped group\n // gets the \"Ungrouped\" group, creating it if it doesn't exist\n const getUnGroupedGroup = () => {\n let ungroupedGroup = groupsMap.get(ungroupedId)\n if (!ungroupedGroup) {\n ungroupedGroup = {\n id: ungroupedId,\n name: 'Ungrouped',\n entityType: 'group',\n subRows: [],\n label: 'Ungrouped',\n group: { value: ungroupedId, label: 'Ungrouped' },\n links: {},\n }\n // create ungrouped group if it doesn't exist\n groupsMap.set(ungroupedId, ungroupedGroup)\n }\n return ungroupedGroup\n }\n\n for (const [id, entity] of entities) {\n // if the entity is not of the specified type, skip it\n if (entity.entityType !== entityType) continue\n // add entities to specific group\n let groupValues: string[] = []\n if (groupBy.id.startsWith('attrib.')) {\n // for attribute based grouping, get the value of the attribute\n const attributeId = groupBy.id.split('.')[1]\n groupValues = valueToStringArray(entity.attrib?.[attributeId])\n } else {\n groupValues = valueToStringArray(entity[groupBy.id as keyof EntityMap])\n }\n\n // if there are no values, add to \"Ungrouped\" group\n if (groupValues.length === 0) {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n // for each group value, find it's group and add the entity to it\n // if we can't find the group, add it to \"Ungrouped\"\n for (const groupValue of groupValues) {\n const groupRow = groupsMap.get(groupValue)\n if (groupRow) {\n groupRow.subRows?.push(entityToGroupRow(entity as EditorTaskNode, groupValue))\n } else {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n }\n\n // for groups metadata on entity, check if there is a next page\n if ('groups' in entity && Array.isArray(entity.groups)) {\n for (const group of entity.groups) {\n const hasNextPageGroup = group.hasNextPage\n if (hasNextPageGroup && groupsMap.has(group.value)) {\n // add a next page row to the group\n const groupRow = groupsMap.get(group.value)\n if (groupRow) {\n groupRow.subRows?.push({\n id: `${group.value}-next-page`,\n name: `Load more tasks...`,\n entityType: NEXT_PAGE_ID,\n subRows: [],\n label: `Next page for ${group.value}`,\n group: { value: group.value, label: group.value },\n links: {},\n })\n }\n }\n }\n }\n }\n\n const groupsList = Array.from(groupsMap.values())\n\n const attribSortingIds = getSortingIds(groupBy, project, attribFields)\n\n // sort the groups by their label\n // if the group is an attribute with enum values, sort by the enum values\n groupsList.sort((a, b) => {\n if (a.group?.value === ungroupedId) return 1 // \"Ungrouped\" should be last\n if (b.group?.value === ungroupedId) return -1 // \"Ungrouped\" should be last\n if (attribSortingIds.length) {\n // sort by index of the enum value\n const indexA = attribSortingIds.indexOf(a.group?.value || '')\n const indexB = attribSortingIds.indexOf(b.group?.value || '')\n if (indexA !== -1 && indexB !== -1) {\n return indexA - indexB\n }\n if (indexA !== -1) return -1 // a is in the enum, b is not\n if (indexB !== -1) return 1 // b is in the enum, a is not\n // if both are not in the enum, sort by label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n } else {\n // for other groupings, sort by the group label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n }\n })\n\n // filter out empty groups\n const nonEmptyGroups = groupsList.filter((group) => group.subRows && group.subRows.length > 0)\n\n return showEmpty ? groupsList : nonEmptyGroups\n }\n\n return buildGroupByTableData\n}\n\nexport default useBuildGroupByTableData\n"],"names":["NEXT_PAGE_ID","UNGROUPED_VALUE","ROW_ID_SEPARATOR","valueToStringArray","value","v","getGroupData","groupById","groupValue","groups","group","GROUP_BY_ID","buildGroupId","parseGroupId","groupId","isGroupId","id","getSortingIds","groupBy","project","attribFields","attributeId","_a","s","_b","t","_c","f","_e","_d","field","e","defaultEntityToGroupRow","task","entityType","getEntityTypeData","typeData","linksToTableData","productTypes","useBuildGroupByTableData","entities","showEmpty","groupRowFunc","useGetEntityTypeData","entityToGroupRow","useCallback","baseRow","groupsMap","groupData","ungroupedId","getUnGroupedGroup","ungroupedGroup","entity","groupValues","groupRow","_f","groupsList","attribSortingIds","a","b","indexA","indexB","_g","_j","_h","_i","nonEmptyGroups"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useBuildGroupByTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.ts"],"sourcesContent":["// based on the groupBy field we take a flat list of items and group them\n// each group is a root node with subItems as the grouped items\n// any leftover items that do not match the groupBy field are added as a separate group (\"Ungrouped\")\n\nimport { EntityGroup } from '@shared/api'\nimport { TableGroupBy } from '../context'\nimport { EditorTaskNode, EntitiesMap, EntityMap, ProjectTableAttribute, TableRow } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { useCallback } from 'react'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\nexport type GroupByEntityType = 'task' | 'folder' | 'version' | 'product'\n\nexport type GroupData = {\n value: string\n label: string\n color?: string\n icon?: string\n img?: string\n count?: number\n}\n\nexport const NEXT_PAGE_ID = 'next-page'\nexport const UNGROUPED_VALUE = '_ungrouped'\nexport const ROW_ID_SEPARATOR = '__'\n\nconst valueToStringArray = (value?: any): string[] =>\n value ? (Array.isArray(value) ? value.map((v) => v.toString()) : [value.toString()]) : []\n\n// get group label, color and icon\nconst getGroupData = (groupById: string, groupValue: string, groups?: EntityGroup[]): GroupData => {\n if (!groups)\n return {\n value: groupValue,\n label: groupValue,\n }\n\n const group = groups.find((g) => g.value === groupValue)\n if (!group) {\n return {\n value: groupValue,\n label: groupValue,\n }\n } else {\n return {\n value: group.value,\n label: group.label || group.value,\n color: group.color,\n icon: group.icon,\n count: group.count,\n img: groupById === 'assignees' ? `/api/users/${group.value}/avatar` : undefined,\n }\n }\n}\n\nexport const GROUP_BY_ID = '_GROUP_'\nexport const buildGroupId = (value: string) => `${GROUP_BY_ID}${value}`\nexport const parseGroupId = (groupId: string): string | null => {\n if (!groupId.startsWith(GROUP_BY_ID)) return null\n return groupId.slice(GROUP_BY_ID.length) // +1 for the underscore\n}\nexport const isGroupId = (id: string): boolean => id.startsWith(GROUP_BY_ID)\n\ntype BuildGroupByTableProps = {\n entities: EntitiesMap\n entityType: string\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\n groupRowFunc?: (node: any) => TableRow\n}\n\n// get sorting ids based on the groupBy field\nconst getSortingIds = (\n groupBy: TableGroupBy,\n project?: ProjectModelWithProducts,\n attribFields: ProjectTableAttribute[] = [],\n): string[] => {\n const attributeId = groupBy.id.replace('attrib.', '')\n\n // for status, taskType, folderType use project data order\n if (attributeId === 'status') {\n return project?.statuses?.map((s) => s.name) || []\n } else if (attributeId === 'taskType') {\n return project?.taskTypes?.map((t) => t.name) || []\n } else if (attributeId === 'folderType') {\n return project?.folderTypes?.map((f) => f.name) || []\n } else if (groupBy.id.startsWith('attrib.')) {\n // for other enum attributes, use the enum values order\n return (\n attribFields\n .find((field) => field.name === attributeId)\n ?.data.enum?.map((e) => e.value.toString()) || []\n )\n } else return []\n}\n\nconst defaultEntityToGroupRow = (\n task: EditorTaskNode,\n group: string | undefined,\n entityType: string,\n project: ProjectModelWithProducts,\n getEntityTypeData: ReturnType<typeof useGetEntityTypeData>,\n): TableRow & { subRows: TableRow[] } => {\n const typeData = getEntityTypeData(entityType, task.taskType)\n return {\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the folder\n entityId: task.id,\n entityType: entityType,\n parentId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n updatedAt: task.updatedAt,\n links: linksToTableData(task.links, entityType, {\n folderTypes: project?.folderTypes || [],\n productTypes: Object.values(project.productTypes) || [],\n taskTypes: project?.taskTypes || [],\n }),\n }\n}\n\nconst useBuildGroupByTableData = ({\n entities,\n entityType,\n groups = [],\n attribFields,\n showEmpty,\n groupRowFunc, // for versions etc\n}: BuildGroupByTableProps) => {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow & { subRows: TableRow[] } => {\n // Use provided groupRowFunc or fall back to default\n const baseRow = groupRowFunc\n ? groupRowFunc(task)\n : defaultEntityToGroupRow(task, group, entityType, project, getEntityTypeData)\n\n // Ensure group-specific fields are set\n return {\n ...baseRow,\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the group\n subRows: baseRow.subRows || [],\n }\n },\n [groupRowFunc, getEntityTypeData, entityType, project],\n )\n\n const buildGroupByTableData = (groupBy: TableGroupBy): TableRow[] => {\n const groupsMap = new Map<string, TableRow>()\n\n for (const group of groups) {\n const groupValue = group.value?.toString() as string\n const groupId = buildGroupId(groupValue)\n const groupData = getGroupData(groupBy.id, groupValue, groups)\n groupsMap.set(groupValue, {\n id: groupId,\n name: groupValue,\n entityType: 'group',\n subRows: [],\n label: groupData.label,\n group: groupData,\n links: {},\n })\n }\n\n const ungroupedId = GROUP_BY_ID + '.' + UNGROUPED_VALUE // unique id for ungrouped group\n // gets the \"Ungrouped\" group, creating it if it doesn't exist\n const getUnGroupedGroup = () => {\n let ungroupedGroup = groupsMap.get(ungroupedId)\n if (!ungroupedGroup) {\n ungroupedGroup = {\n id: ungroupedId,\n name: 'Ungrouped',\n entityType: 'group',\n subRows: [],\n label: 'Ungrouped',\n group: { value: ungroupedId, label: 'Ungrouped' },\n links: {},\n }\n // create ungrouped group if it doesn't exist\n groupsMap.set(ungroupedId, ungroupedGroup)\n }\n return ungroupedGroup\n }\n\n for (const [id, entity] of entities) {\n // if the entity is not of the specified type, skip it\n if (entity.entityType !== entityType) continue\n // add entities to specific group\n let groupValues: string[] = []\n if (groupBy.id.startsWith('attrib.')) {\n // for attribute based grouping, get the value of the attribute\n const attributeId = groupBy.id.split('.')[1]\n groupValues = valueToStringArray(entity.attrib?.[attributeId])\n } else {\n groupValues = valueToStringArray(entity[groupBy.id as keyof EntityMap])\n }\n\n // if there are no values, add to \"Ungrouped\" group\n if (groupValues.length === 0) {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n // for each group value, find it's group and add the entity to it\n // if we can't find the group, add it to \"Ungrouped\"\n for (const groupValue of groupValues) {\n const groupRow = groupsMap.get(groupValue)\n if (groupRow) {\n groupRow.subRows?.push(entityToGroupRow(entity as EditorTaskNode, groupValue))\n } else {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n }\n\n // for groups metadata on entity, check if there is a next page\n if ('groups' in entity && Array.isArray(entity.groups)) {\n for (const group of entity.groups) {\n const hasNextPageGroup = group.hasNextPage\n if (hasNextPageGroup && groupsMap.has(group.value)) {\n // add a next page row to the group\n const groupRow = groupsMap.get(group.value)\n if (groupRow) {\n groupRow.subRows?.push({\n id: `${group.value}-next-page`,\n name: `Load more tasks...`,\n entityType: NEXT_PAGE_ID,\n subRows: [],\n label: `Next page for ${group.value}`,\n group: { value: group.value, label: group.value },\n links: {},\n })\n }\n }\n }\n }\n }\n\n const groupsList = Array.from(groupsMap.values())\n\n const attribSortingIds = getSortingIds(groupBy, project, attribFields)\n\n // sort the groups by their label\n // if the group is an attribute with enum values, sort by the enum values\n groupsList.sort((a, b) => {\n if (a.group?.value === ungroupedId) return 1 // \"Ungrouped\" should be last\n if (b.group?.value === ungroupedId) return -1 // \"Ungrouped\" should be last\n if (attribSortingIds.length) {\n // sort by index of the enum value\n const indexA = attribSortingIds.indexOf(a.group?.value || '')\n const indexB = attribSortingIds.indexOf(b.group?.value || '')\n if (indexA !== -1 && indexB !== -1) {\n return indexA - indexB\n }\n if (indexA !== -1) return -1 // a is in the enum, b is not\n if (indexB !== -1) return 1 // b is in the enum, a is not\n // if both are not in the enum, sort by label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n } else {\n // for other groupings, sort by the group label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n }\n })\n\n // filter out empty groups\n const nonEmptyGroups = groupsList.filter((group) => group.subRows && group.subRows.length > 0)\n\n return showEmpty ? groupsList : nonEmptyGroups\n }\n\n return buildGroupByTableData\n}\n\nexport default useBuildGroupByTableData\n"],"names":["NEXT_PAGE_ID","UNGROUPED_VALUE","ROW_ID_SEPARATOR","valueToStringArray","value","v","getGroupData","groupById","groupValue","groups","group","GROUP_BY_ID","buildGroupId","parseGroupId","groupId","isGroupId","id","getSortingIds","groupBy","project","attribFields","attributeId","_a","s","_b","t","_c","f","_e","_d","field","e","defaultEntityToGroupRow","task","entityType","getEntityTypeData","typeData","linksToTableData","useBuildGroupByTableData","entities","showEmpty","groupRowFunc","useProjectContext","useGetEntityTypeData","entityToGroupRow","useCallback","baseRow","groupsMap","groupData","ungroupedId","getUnGroupedGroup","ungroupedGroup","entity","groupValues","groupRow","_f","groupsList","attribSortingIds","a","b","indexA","indexB","_g","_j","_h","_i","nonEmptyGroups"],"mappings":"2+MAsBaA,EAAe,YACfC,EAAkB,aAClBC,EAAmB,KAE1BC,EAAsBC,GAC1BA,EAAS,MAAM,QAAQA,CAAK,EAAIA,EAAM,IAAKC,GAAMA,EAAE,SAAU,CAAA,EAAI,CAACD,EAAM,SAAU,CAAA,EAAK,CAAC,EAGpFE,EAAe,CAACC,EAAmBC,EAAoBC,IAAsC,CACjG,GAAI,CAACA,EACI,MAAA,CACL,MAAOD,EACP,MAAOA,CACT,EAEF,MAAME,EAAQD,EAAO,KAAM,GAAM,EAAE,QAAUD,CAAU,EACvD,OAAKE,EAMI,CACL,MAAOA,EAAM,MACb,MAAOA,EAAM,OAASA,EAAM,MAC5B,MAAOA,EAAM,MACb,KAAMA,EAAM,KACZ,MAAOA,EAAM,MACb,IAAKH,IAAc,YAAc,cAAcG,EAAM,KAAK,UAAY,MACxE,EAZO,CACL,MAAOF,EACP,MAAOA,CACT,CAWJ,EAEaG,EAAc,UACdC,EAAgBR,GAAkB,GAAGO,CAAW,GAAGP,CAAK,GACxDS,EAAgBC,GACtBA,EAAQ,WAAWH,CAAW,EAC5BG,EAAQ,MAAMH,EAAY,MAAM,EADM,KAGlCI,EAAaC,GAAwBA,EAAG,WAAWL,CAAW,EAYrEM,EAAgB,CACpBC,EACAC,EACAC,EAAwC,CAAA,IAC3B,eACb,MAAMC,EAAcH,EAAQ,GAAG,QAAQ,UAAW,EAAE,EAGpD,OAAIG,IAAgB,WACXC,EAAAH,GAAA,YAAAA,EAAS,WAAT,YAAAG,EAAmB,IAAKC,GAAMA,EAAE,QAAS,CAAC,EACxCF,IAAgB,aAClBG,EAAAL,GAAA,YAAAA,EAAS,YAAT,YAAAK,EAAoB,IAAKC,GAAMA,EAAE,QAAS,CAAC,EACzCJ,IAAgB,eAClBK,EAAAP,GAAA,YAAAA,EAAS,cAAT,YAAAO,EAAsB,IAAKC,GAAMA,EAAE,QAAS,CAAC,EAC3CT,EAAQ,GAAG,WAAW,SAAS,IAGtCU,GAAAC,EAAAT,EACG,KAAMU,GAAUA,EAAM,OAAST,CAAW,IAD7C,YAAAQ,EAEI,KAAK,OAFT,YAAAD,EAEe,IAAKG,GAAMA,EAAE,MAAM,SAAU,KAAK,CAAC,EAExC,CAAC,CACjB,EAEMC,EAA0B,CAC9BC,EACAvB,EACAwB,EACAf,EACAgB,IACuC,CACvC,MAAMC,EAAWD,EAAkBD,EAAYD,EAAK,QAAQ,EACrD,MAAA,CACL,GAAIA,EAAK,GAAK/B,EAAmBQ,EACjC,SAAUuB,EAAK,GACf,WAAAC,EACA,SAAUD,EAAK,SACf,KAAMA,EAAK,MAAQ,GACnB,MAAOA,EAAK,OAASA,EAAK,MAAQ,GAClC,MAAMG,GAAA,YAAAA,EAAU,OAAQ,KACxB,OAAOA,GAAA,YAAAA,EAAU,QAAS,KAC1B,OAAQH,EAAK,OACb,UAAWA,EAAK,UAChB,KAAMA,EAAK,KACX,IAAK,KACL,QAAS,CAAC,EACV,QAASA,EAAK,UAAY,KAC1B,OAAQA,EAAK,OACb,UAAWA,EAAK,UAChB,QAASA,EAAK,SAAW,CAAC,EAC1B,UAAWA,EAAK,UAChB,MAAOI,EAAA,iBAAiBJ,EAAK,MAAOC,EAAY,CAC9C,aAAaf,GAAA,YAAAA,EAAS,cAAe,CAAC,EACtC,aAAc,OAAO,OAAOA,EAAQ,YAAY,GAAK,CAAC,EACtD,WAAWA,GAAA,YAAAA,EAAS,YAAa,CAAA,CAClC,CAAA,CACH,CACF,EAEMmB,EAA2B,CAAC,CAChC,SAAAC,EACA,WAAAL,EACA,OAAAzB,EAAS,CAAC,EACV,aAAAW,EACA,UAAAoB,EACA,aAAAC,CACF,IAA8B,CAC5B,MAAMtB,EAAUuB,EAAAA,kBAAkB,EAC5BP,EAAoBQ,EAAA,qBAAqB,CAAE,YAAaxB,EAAS,EAEjEyB,EAAmBC,EAAA,YACvB,CAACZ,EAAsBvB,IAAuD,CAEtE,MAAAoC,EAAUL,EACZA,EAAaR,CAAI,EACjBD,EAAwBC,EAAMvB,EAAOwB,EAAYf,EAASgB,CAAiB,EAGxE,MAAA,CACL,GAAGW,EACH,GAAIb,EAAK,GAAK/B,EAAmBQ,EACjC,QAASoC,EAAQ,SAAW,CAAA,CAC9B,CACF,EACA,CAACL,EAAcN,EAAmBD,EAAYf,CAAO,CACvD,EA6HO,OA3HwBD,GAAsC,iBAC7D,MAAA6B,MAAgB,IAEtB,UAAWrC,KAASD,EAAQ,CACpB,MAAAD,GAAac,EAAAZ,EAAM,QAAN,YAAAY,EAAa,WAC1BR,EAAUF,EAAaJ,CAAU,EACjCwC,EAAY1C,EAAaY,EAAQ,GAAIV,EAAYC,CAAM,EAC7DsC,EAAU,IAAIvC,EAAY,CACxB,GAAIM,EACJ,KAAMN,EACN,WAAY,QACZ,QAAS,CAAC,EACV,MAAOwC,EAAU,MACjB,MAAOA,EACP,MAAO,CAAA,CAAC,CACT,CAAA,CAGG,MAAAC,EAActC,EAAc,IAAMV,EAElCiD,EAAoB,IAAM,CAC1B,IAAAC,EAAiBJ,EAAU,IAAIE,CAAW,EAC9C,OAAKE,IACcA,EAAA,CACf,GAAIF,EACJ,KAAM,YACN,WAAY,QACZ,QAAS,CAAC,EACV,MAAO,YACP,MAAO,CAAE,MAAOA,EAAa,MAAO,WAAY,EAChD,MAAO,CAAA,CACT,EAEUF,EAAA,IAAIE,EAAaE,CAAc,GAEpCA,CACT,EAEA,SAAW,CAACnC,EAAIoC,CAAM,IAAKb,EAAU,CAE/B,GAAAa,EAAO,aAAelB,EAAY,SAEtC,IAAImB,EAAwB,CAAC,EAC7B,GAAInC,EAAQ,GAAG,WAAW,SAAS,EAAG,CAEpC,MAAMG,EAAcH,EAAQ,GAAG,MAAM,GAAG,EAAE,CAAC,EAC3CmC,EAAclD,GAAmBqB,EAAA4B,EAAO,SAAP,YAAA5B,EAAgBH,EAAY,CAAA,MAE7DgC,EAAclD,EAAmBiD,EAAOlC,EAAQ,EAAqB,CAAC,EAIpEmC,EAAY,SAAW,KAEzB3B,EADuBwB,EAAkB,EAC1B,UAAf,MAAAxB,EAAwB,KAAKkB,EAAiBQ,EAA0BnD,CAAe,IAIzF,UAAWO,KAAc6C,EAAa,CAC9B,MAAAC,EAAWP,EAAU,IAAIvC,CAAU,EACrC8C,GACFzB,EAAAyB,EAAS,UAAT,MAAAzB,EAAkB,KAAKe,EAAiBQ,EAA0B5C,CAAU,IAG5EoB,EADuBsB,EAAkB,EAC1B,UAAf,MAAAtB,EAAwB,KAAKgB,EAAiBQ,EAA0BnD,CAAe,EACzF,CAIF,GAAI,WAAYmD,GAAU,MAAM,QAAQA,EAAO,MAAM,GACxC,UAAA1C,KAAS0C,EAAO,OAEzB,GADyB1C,EAAM,aACPqC,EAAU,IAAIrC,EAAM,KAAK,EAAG,CAElD,MAAM4C,EAAWP,EAAU,IAAIrC,EAAM,KAAK,EACtC4C,KACFC,EAAAD,EAAS,UAAT,MAAAC,EAAkB,KAAK,CACrB,GAAI,GAAG7C,EAAM,KAAK,aAClB,KAAM,qBACN,WAAYV,EACZ,QAAS,CAAC,EACV,MAAO,iBAAiBU,EAAM,KAAK,GACnC,MAAO,CAAE,MAAOA,EAAM,MAAO,MAAOA,EAAM,KAAM,EAChD,MAAO,CAAA,CAAC,GAEZ,EAGN,CAGF,MAAM8C,EAAa,MAAM,KAAKT,EAAU,QAAQ,EAE1CU,EAAmBxC,EAAcC,EAASC,EAASC,CAAY,EAI1DoC,EAAA,KAAK,CAACE,EAAGC,IAAM,yBACxB,KAAIrC,EAAAoC,EAAE,QAAF,YAAApC,EAAS,SAAU2B,EAAoB,MAAA,GAC3C,KAAIzB,EAAAmC,EAAE,QAAF,YAAAnC,EAAS,SAAUyB,EAAoB,MAAA,GAC3C,GAAIQ,EAAiB,OAAQ,CAE3B,MAAMG,EAASH,EAAiB,UAAQ/B,EAAAgC,EAAE,QAAF,YAAAhC,EAAS,QAAS,EAAE,EACtDmC,EAASJ,EAAiB,UAAQ5B,EAAA8B,EAAE,QAAF,YAAA9B,EAAS,QAAS,EAAE,EACxD,OAAA+B,IAAW,IAAMC,IAAW,GACvBD,EAASC,EAEdD,IAAW,GAAW,GACtBC,IAAW,GAAW,IAEnBC,GAAAlC,EAAA8B,EAAE,QAAF,YAAA9B,EAAS,QAAT,YAAAkC,EAAgB,gBAAcP,EAAAI,EAAE,QAAF,YAAAJ,EAAS,QAAS,MAAO,CAAA,KAGvD,SAAAQ,GAAAC,EAAAN,EAAE,QAAF,YAAAM,EAAS,QAAT,YAAAD,EAAgB,gBAAcE,EAAAN,EAAE,QAAF,YAAAM,EAAS,QAAS,MAAO,CAChE,CACD,EAGK,MAAAC,EAAiBV,EAAW,OAAQ9C,GAAUA,EAAM,SAAWA,EAAM,QAAQ,OAAS,CAAC,EAE7F,OAAO8B,EAAYgB,EAAaU,CAClC,CAGF"}
|
|
@@ -2,9 +2,8 @@ import { useGetEntityTypeData as X } from "./useGetEntityTypeData.es.js";
|
|
|
2
2
|
import { useCallback as Y } from "react";
|
|
3
3
|
import "@ynput/ayon-react-components";
|
|
4
4
|
import "short-uuid";
|
|
5
|
-
import q from "../../../util/productTypes.es.js";
|
|
6
|
-
import "lodash";
|
|
7
5
|
import "react-toastify";
|
|
6
|
+
import "lodash";
|
|
8
7
|
import "uuid";
|
|
9
8
|
import "../../../util/pubsub.es.js";
|
|
10
9
|
import "../context/CellEditingContext.es.js";
|
|
@@ -12,6 +11,21 @@ import "../../../../../_virtual/jsx-runtime.es.js";
|
|
|
12
11
|
import "../context/SelectionCellsContext.es.js";
|
|
13
12
|
import "../context/ProjectTableQueriesContext.es.js";
|
|
14
13
|
import "../context/ProjectTableContext.es.js";
|
|
14
|
+
import "../../../context/RemoteModulesContext.es.js";
|
|
15
|
+
import "../../../context/DetailsPanelContext.es.js";
|
|
16
|
+
import "../../../context/ThumbnailUploaderContext.es.js";
|
|
17
|
+
import "../../../context/SettingsPanelContext.es.js";
|
|
18
|
+
import "../../../context/pip/PiPProvider.es.js";
|
|
19
|
+
import "react-dom";
|
|
20
|
+
import "../../../context/pip/PiPWrapper.es.js";
|
|
21
|
+
import "../../../context/AddonProjectContext.es.js";
|
|
22
|
+
import "../../../context/AddonContext.es.js";
|
|
23
|
+
import "../../../context/PowerpackContext.es.js";
|
|
24
|
+
import "../../../context/MoveEntityContext.es.js";
|
|
25
|
+
import "../../../context/MenuContext.es.js";
|
|
26
|
+
import "../../../context/WebsocketContext.es.js";
|
|
27
|
+
import "../../../context/GlobalContext.es.js";
|
|
28
|
+
import { useProjectContext as q } from "../../../context/ProjectContext.es.js";
|
|
15
29
|
import "../context/ClipboardContext.es.js";
|
|
16
30
|
import "@tanstack/react-table";
|
|
17
31
|
import "../ProjectTreeTable.es.js";
|
|
@@ -104,60 +118,46 @@ import "../../../api/queries/versions/updateVersions.es.js";
|
|
|
104
118
|
import "../../../api/queries/views/getViews.es.js";
|
|
105
119
|
import "../../../api/queries/views/updateViews.es.js";
|
|
106
120
|
import "../../../api/queries/watchers/getWatchers.es.js";
|
|
107
|
-
import "../../../context/RemoteModulesContext.es.js";
|
|
108
121
|
import "../../../../../_virtual/runtime.es.js";
|
|
109
122
|
import "../../../../../_virtual/semver.es.js";
|
|
110
|
-
import "../../../context/DetailsPanelContext.es.js";
|
|
111
|
-
import "../../../context/ThumbnailUploaderContext.es.js";
|
|
112
|
-
import "../../../context/SettingsPanelContext.es.js";
|
|
113
|
-
import "../../../context/pip/PiPProvider.es.js";
|
|
114
|
-
import "react-dom";
|
|
115
|
-
import "../../../context/pip/PiPWrapper.es.js";
|
|
116
|
-
import "../../../context/AddonProjectContext.es.js";
|
|
117
|
-
import "../../../context/AddonContext.es.js";
|
|
118
|
-
import "../../../context/PowerpackContext.es.js";
|
|
119
|
-
import "../../../context/MoveEntityContext.es.js";
|
|
120
|
-
import "../../../context/MenuContext.es.js";
|
|
121
|
-
import "../../../context/WebsocketContext.es.js";
|
|
122
|
-
import "../../../context/GlobalContext.es.js";
|
|
123
123
|
import "react-redux";
|
|
124
124
|
import "custom-protocol-check";
|
|
125
125
|
import "../components/GroupSettingsFallback.es.js";
|
|
126
126
|
import { linksToTableData as z } from "../utils/linksToTableData.es.js";
|
|
127
|
-
const H = "next-page", A = "_ungrouped", M = "__", L = (t) => t ? Array.isArray(t) ? t.map((
|
|
128
|
-
if (!
|
|
127
|
+
const H = "next-page", A = "_ungrouped", M = "__", L = (t) => t ? Array.isArray(t) ? t.map((o) => o.toString()) : [t.toString()] : [], J = (t, o, s) => {
|
|
128
|
+
if (!s)
|
|
129
129
|
return {
|
|
130
|
-
value:
|
|
131
|
-
label:
|
|
130
|
+
value: o,
|
|
131
|
+
label: o
|
|
132
132
|
};
|
|
133
|
-
const
|
|
134
|
-
return
|
|
135
|
-
value:
|
|
136
|
-
label:
|
|
137
|
-
color:
|
|
138
|
-
icon:
|
|
139
|
-
count:
|
|
140
|
-
img: t === "assignees" ? `/api/users/${
|
|
133
|
+
const r = s.find((g) => g.value === o);
|
|
134
|
+
return r ? {
|
|
135
|
+
value: r.value,
|
|
136
|
+
label: r.label || r.value,
|
|
137
|
+
color: r.color,
|
|
138
|
+
icon: r.icon,
|
|
139
|
+
count: r.count,
|
|
140
|
+
img: t === "assignees" ? `/api/users/${r.value}/avatar` : void 0
|
|
141
141
|
} : {
|
|
142
|
-
value:
|
|
143
|
-
label:
|
|
142
|
+
value: o,
|
|
143
|
+
label: o
|
|
144
144
|
};
|
|
145
|
-
}, v = "_GROUP_", K = (t) => `${v}${t}`, br = (t) => t.startsWith(v) ? t.slice(v.length) : null, cr = (t) => t.startsWith(v), Q = (t,
|
|
146
|
-
var g,
|
|
147
|
-
const
|
|
148
|
-
return
|
|
149
|
-
}, V = (t,
|
|
150
|
-
const
|
|
145
|
+
}, v = "_GROUP_", K = (t) => `${v}${t}`, br = (t) => t.startsWith(v) ? t.slice(v.length) : null, cr = (t) => t.startsWith(v), Q = (t, o, s = []) => {
|
|
146
|
+
var g, m, f, G, b;
|
|
147
|
+
const r = t.id.replace("attrib.", "");
|
|
148
|
+
return r === "status" ? ((g = o == null ? void 0 : o.statuses) == null ? void 0 : g.map((n) => n.name)) || [] : r === "taskType" ? ((m = o == null ? void 0 : o.taskTypes) == null ? void 0 : m.map((n) => n.name)) || [] : r === "folderType" ? ((f = o == null ? void 0 : o.folderTypes) == null ? void 0 : f.map((n) => n.name)) || [] : t.id.startsWith("attrib.") ? ((b = (G = s.find((n) => n.name === r)) == null ? void 0 : G.data.enum) == null ? void 0 : b.map((n) => n.value.toString())) || [] : [];
|
|
149
|
+
}, V = (t, o, s, r, g) => {
|
|
150
|
+
const m = g(s, t.taskType);
|
|
151
151
|
return {
|
|
152
|
-
id: t.id + M +
|
|
152
|
+
id: t.id + M + o,
|
|
153
153
|
// unique id for the task in the folder
|
|
154
154
|
entityId: t.id,
|
|
155
|
-
entityType:
|
|
155
|
+
entityType: s,
|
|
156
156
|
parentId: t.folderId,
|
|
157
157
|
name: t.name || "",
|
|
158
158
|
label: t.label || t.name || "",
|
|
159
|
-
icon: (
|
|
160
|
-
color: (
|
|
159
|
+
icon: (m == null ? void 0 : m.icon) || null,
|
|
160
|
+
color: (m == null ? void 0 : m.color) || null,
|
|
161
161
|
status: t.status,
|
|
162
162
|
assignees: t.assignees,
|
|
163
163
|
tags: t.tags,
|
|
@@ -168,25 +168,24 @@ const H = "next-page", A = "_ungrouped", M = "__", L = (t) => t ? Array.isArray(
|
|
|
168
168
|
ownAttrib: t.ownAttrib,
|
|
169
169
|
parents: t.parents || [],
|
|
170
170
|
updatedAt: t.updatedAt,
|
|
171
|
-
links: z(t.links,
|
|
172
|
-
folderTypes: (
|
|
173
|
-
productTypes: Object.values(
|
|
174
|
-
taskTypes: (
|
|
171
|
+
links: z(t.links, s, {
|
|
172
|
+
folderTypes: (r == null ? void 0 : r.folderTypes) || [],
|
|
173
|
+
productTypes: Object.values(r.productTypes) || [],
|
|
174
|
+
taskTypes: (r == null ? void 0 : r.taskTypes) || []
|
|
175
175
|
})
|
|
176
176
|
};
|
|
177
177
|
}, Tr = ({
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
groupRowFunc: f
|
|
178
|
+
entities: t,
|
|
179
|
+
entityType: o,
|
|
180
|
+
groups: s = [],
|
|
181
|
+
attribFields: r,
|
|
182
|
+
showEmpty: g,
|
|
183
|
+
groupRowFunc: m
|
|
185
184
|
// for versions etc
|
|
186
185
|
}) => {
|
|
187
|
-
const G = X({ projectInfo:
|
|
186
|
+
const f = q(), G = X({ projectInfo: f }), b = Y(
|
|
188
187
|
(a, u) => {
|
|
189
|
-
const l =
|
|
188
|
+
const l = m ? m(a) : V(a, u, o, f, G);
|
|
190
189
|
return {
|
|
191
190
|
...l,
|
|
192
191
|
id: a.id + M + u,
|
|
@@ -194,13 +193,13 @@ const H = "next-page", A = "_ungrouped", M = "__", L = (t) => t ? Array.isArray(
|
|
|
194
193
|
subRows: l.subRows || []
|
|
195
194
|
};
|
|
196
195
|
},
|
|
197
|
-
[
|
|
196
|
+
[m, G, o, f]
|
|
198
197
|
);
|
|
199
198
|
return (a) => {
|
|
200
|
-
var
|
|
199
|
+
var x, _, D, E, P, U;
|
|
201
200
|
const u = /* @__PURE__ */ new Map();
|
|
202
|
-
for (const e of
|
|
203
|
-
const i = (
|
|
201
|
+
for (const e of s) {
|
|
202
|
+
const i = (x = e.value) == null ? void 0 : x.toString(), d = K(i), p = J(a.id, i, s);
|
|
204
203
|
u.set(i, {
|
|
205
204
|
id: d,
|
|
206
205
|
name: i,
|
|
@@ -223,24 +222,24 @@ const H = "next-page", A = "_ungrouped", M = "__", L = (t) => t ? Array.isArray(
|
|
|
223
222
|
links: {}
|
|
224
223
|
}, u.set(l, e)), e;
|
|
225
224
|
};
|
|
226
|
-
for (const [e, i] of
|
|
227
|
-
if (i.entityType !==
|
|
225
|
+
for (const [e, i] of t) {
|
|
226
|
+
if (i.entityType !== o) continue;
|
|
228
227
|
let d = [];
|
|
229
228
|
if (a.id.startsWith("attrib.")) {
|
|
230
229
|
const p = a.id.split(".")[1];
|
|
231
|
-
d = L((
|
|
230
|
+
d = L((_ = i.attrib) == null ? void 0 : _[p]);
|
|
232
231
|
} else
|
|
233
232
|
d = L(i[a.id]);
|
|
234
233
|
d.length === 0 && ((D = I().subRows) == null || D.push(b(i, A)));
|
|
235
234
|
for (const p of d) {
|
|
236
235
|
const c = u.get(p);
|
|
237
|
-
c ? (E = c.subRows) == null || E.push(b(i, p)) : (
|
|
236
|
+
c ? (E = c.subRows) == null || E.push(b(i, p)) : (P = I().subRows) == null || P.push(b(i, A));
|
|
238
237
|
}
|
|
239
238
|
if ("groups" in i && Array.isArray(i.groups)) {
|
|
240
239
|
for (const p of i.groups)
|
|
241
240
|
if (p.hasNextPage && u.has(p.value)) {
|
|
242
241
|
const T = u.get(p.value);
|
|
243
|
-
T && ((
|
|
242
|
+
T && ((U = T.subRows) == null || U.push({
|
|
244
243
|
id: `${p.value}-next-page`,
|
|
245
244
|
name: "Load more tasks...",
|
|
246
245
|
entityType: H,
|
|
@@ -252,19 +251,19 @@ const H = "next-page", A = "_ungrouped", M = "__", L = (t) => t ? Array.isArray(
|
|
|
252
251
|
}
|
|
253
252
|
}
|
|
254
253
|
}
|
|
255
|
-
const y = Array.from(u.values()), R = Q(a,
|
|
254
|
+
const y = Array.from(u.values()), R = Q(a, f, r);
|
|
256
255
|
y.sort((e, i) => {
|
|
257
|
-
var d, p, c, T,
|
|
256
|
+
var d, p, c, T, O, S, N, W, $, C;
|
|
258
257
|
if (((d = e.group) == null ? void 0 : d.value) === l) return 1;
|
|
259
258
|
if (((p = i.group) == null ? void 0 : p.value) === l) return -1;
|
|
260
259
|
if (R.length) {
|
|
261
260
|
const w = R.indexOf(((c = e.group) == null ? void 0 : c.value) || ""), h = R.indexOf(((T = i.group) == null ? void 0 : T.value) || "");
|
|
262
|
-
return w !== -1 && h !== -1 ? w - h : w !== -1 ? -1 : h !== -1 ? 1 : ((N = (
|
|
261
|
+
return w !== -1 && h !== -1 ? w - h : w !== -1 ? -1 : h !== -1 ? 1 : ((N = (O = e.group) == null ? void 0 : O.label) == null ? void 0 : N.localeCompare(((S = i.group) == null ? void 0 : S.label) || "")) || 0;
|
|
263
262
|
} else
|
|
264
263
|
return ((C = (W = e.group) == null ? void 0 : W.label) == null ? void 0 : C.localeCompare((($ = i.group) == null ? void 0 : $.label) || "")) || 0;
|
|
265
264
|
});
|
|
266
265
|
const B = y.filter((e) => e.subRows && e.subRows.length > 0);
|
|
267
|
-
return
|
|
266
|
+
return g ? y : B;
|
|
268
267
|
};
|
|
269
268
|
};
|
|
270
269
|
export {
|
package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBuildGroupByTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.ts"],"sourcesContent":["// based on the groupBy field we take a flat list of items and group them\n// each group is a root node with subItems as the grouped items\n// any leftover items that do not match the groupBy field are added as a separate group (\"Ungrouped\")\n\nimport { ProjectModel, EntityGroup } from '@shared/api'\nimport { TableGroupBy } from '../context'\nimport { EditorTaskNode, EntitiesMap, EntityMap, ProjectTableAttribute, TableRow } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { useCallback } from 'react'\nimport { linksToTableData } from '../utils'\nimport { productTypes } from '@shared/util'\nexport type GroupByEntityType = 'task' | 'folder' | 'version' | 'product'\n\nexport type GroupData = {\n value: string\n label: string\n color?: string\n icon?: string\n img?: string\n count?: number\n}\n\nexport const NEXT_PAGE_ID = 'next-page'\nexport const UNGROUPED_VALUE = '_ungrouped'\nexport const ROW_ID_SEPARATOR = '__'\n\nconst valueToStringArray = (value?: any): string[] =>\n value ? (Array.isArray(value) ? value.map((v) => v.toString()) : [value.toString()]) : []\n\n// get group label, color and icon\nconst getGroupData = (groupById: string, groupValue: string, groups?: EntityGroup[]): GroupData => {\n if (!groups)\n return {\n value: groupValue,\n label: groupValue,\n }\n\n const group = groups.find((g) => g.value === groupValue)\n if (!group) {\n return {\n value: groupValue,\n label: groupValue,\n }\n } else {\n return {\n value: group.value,\n label: group.label || group.value,\n color: group.color,\n icon: group.icon,\n count: group.count,\n img: groupById === 'assignees' ? `/api/users/${group.value}/avatar` : undefined,\n }\n }\n}\n\nexport const GROUP_BY_ID = '_GROUP_'\nexport const buildGroupId = (value: string) => `${GROUP_BY_ID}${value}`\nexport const parseGroupId = (groupId: string): string | null => {\n if (!groupId.startsWith(GROUP_BY_ID)) return null\n return groupId.slice(GROUP_BY_ID.length) // +1 for the underscore\n}\nexport const isGroupId = (id: string): boolean => id.startsWith(GROUP_BY_ID)\n\ntype BuildGroupByTableProps = {\n project?: ProjectModel\n entities: EntitiesMap\n entityType: string\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\n groupRowFunc?: (node: any) => TableRow\n}\n\n// get sorting ids based on the groupBy field\nconst getSortingIds = (\n groupBy: TableGroupBy,\n project?: ProjectModel,\n attribFields: ProjectTableAttribute[] = [],\n): string[] => {\n const attributeId = groupBy.id.replace('attrib.', '')\n\n // for status, taskType, folderType use project data order\n if (attributeId === 'status') {\n return project?.statuses?.map((s) => s.name) || []\n } else if (attributeId === 'taskType') {\n return project?.taskTypes?.map((t) => t.name) || []\n } else if (attributeId === 'folderType') {\n return project?.folderTypes?.map((f) => f.name) || []\n } else if (groupBy.id.startsWith('attrib.')) {\n // for other enum attributes, use the enum values order\n return (\n attribFields\n .find((field) => field.name === attributeId)\n ?.data.enum?.map((e) => e.value.toString()) || []\n )\n } else return []\n}\n\nconst defaultEntityToGroupRow = (\n task: EditorTaskNode,\n group: string | undefined,\n entityType: string,\n project: ProjectModel | undefined,\n getEntityTypeData: ReturnType<typeof useGetEntityTypeData>,\n): TableRow & { subRows: TableRow[] } => {\n const typeData = getEntityTypeData(entityType, task.taskType)\n return {\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the folder\n entityId: task.id,\n entityType: entityType,\n parentId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n updatedAt: task.updatedAt,\n links: linksToTableData(task.links, entityType, {\n folderTypes: project?.folderTypes || [],\n productTypes: Object.values(productTypes) || [],\n taskTypes: project?.taskTypes || [],\n }),\n }\n}\n\nconst useBuildGroupByTableData = ({\n project,\n entities,\n entityType,\n groups = [],\n attribFields,\n showEmpty,\n groupRowFunc, // for versions etc\n}: BuildGroupByTableProps) => {\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow & { subRows: TableRow[] } => {\n // Use provided groupRowFunc or fall back to default\n const baseRow = groupRowFunc\n ? groupRowFunc(task)\n : defaultEntityToGroupRow(task, group, entityType, project, getEntityTypeData)\n\n // Ensure group-specific fields are set\n return {\n ...baseRow,\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the group\n subRows: baseRow.subRows || [],\n }\n },\n [groupRowFunc, getEntityTypeData, entityType, project],\n )\n\n const buildGroupByTableData = (groupBy: TableGroupBy): TableRow[] => {\n const groupsMap = new Map<string, TableRow>()\n\n for (const group of groups) {\n const groupValue = group.value?.toString() as string\n const groupId = buildGroupId(groupValue)\n const groupData = getGroupData(groupBy.id, groupValue, groups)\n groupsMap.set(groupValue, {\n id: groupId,\n name: groupValue,\n entityType: 'group',\n subRows: [],\n label: groupData.label,\n group: groupData,\n links: {},\n })\n }\n\n const ungroupedId = GROUP_BY_ID + '.' + UNGROUPED_VALUE // unique id for ungrouped group\n // gets the \"Ungrouped\" group, creating it if it doesn't exist\n const getUnGroupedGroup = () => {\n let ungroupedGroup = groupsMap.get(ungroupedId)\n if (!ungroupedGroup) {\n ungroupedGroup = {\n id: ungroupedId,\n name: 'Ungrouped',\n entityType: 'group',\n subRows: [],\n label: 'Ungrouped',\n group: { value: ungroupedId, label: 'Ungrouped' },\n links: {},\n }\n // create ungrouped group if it doesn't exist\n groupsMap.set(ungroupedId, ungroupedGroup)\n }\n return ungroupedGroup\n }\n\n for (const [id, entity] of entities) {\n // if the entity is not of the specified type, skip it\n if (entity.entityType !== entityType) continue\n // add entities to specific group\n let groupValues: string[] = []\n if (groupBy.id.startsWith('attrib.')) {\n // for attribute based grouping, get the value of the attribute\n const attributeId = groupBy.id.split('.')[1]\n groupValues = valueToStringArray(entity.attrib?.[attributeId])\n } else {\n groupValues = valueToStringArray(entity[groupBy.id as keyof EntityMap])\n }\n\n // if there are no values, add to \"Ungrouped\" group\n if (groupValues.length === 0) {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n // for each group value, find it's group and add the entity to it\n // if we can't find the group, add it to \"Ungrouped\"\n for (const groupValue of groupValues) {\n const groupRow = groupsMap.get(groupValue)\n if (groupRow) {\n groupRow.subRows?.push(entityToGroupRow(entity as EditorTaskNode, groupValue))\n } else {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n }\n\n // for groups metadata on entity, check if there is a next page\n if ('groups' in entity && Array.isArray(entity.groups)) {\n for (const group of entity.groups) {\n const hasNextPageGroup = group.hasNextPage\n if (hasNextPageGroup && groupsMap.has(group.value)) {\n // add a next page row to the group\n const groupRow = groupsMap.get(group.value)\n if (groupRow) {\n groupRow.subRows?.push({\n id: `${group.value}-next-page`,\n name: `Load more tasks...`,\n entityType: NEXT_PAGE_ID,\n subRows: [],\n label: `Next page for ${group.value}`,\n group: { value: group.value, label: group.value },\n links: {},\n })\n }\n }\n }\n }\n }\n\n const groupsList = Array.from(groupsMap.values())\n\n const attribSortingIds = getSortingIds(groupBy, project, attribFields)\n\n // sort the groups by their label\n // if the group is an attribute with enum values, sort by the enum values\n groupsList.sort((a, b) => {\n if (a.group?.value === ungroupedId) return 1 // \"Ungrouped\" should be last\n if (b.group?.value === ungroupedId) return -1 // \"Ungrouped\" should be last\n if (attribSortingIds.length) {\n // sort by index of the enum value\n const indexA = attribSortingIds.indexOf(a.group?.value || '')\n const indexB = attribSortingIds.indexOf(b.group?.value || '')\n if (indexA !== -1 && indexB !== -1) {\n return indexA - indexB\n }\n if (indexA !== -1) return -1 // a is in the enum, b is not\n if (indexB !== -1) return 1 // b is in the enum, a is not\n // if both are not in the enum, sort by label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n } else {\n // for other groupings, sort by the group label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n }\n })\n\n // filter out empty groups\n const nonEmptyGroups = groupsList.filter((group) => group.subRows && group.subRows.length > 0)\n\n return showEmpty ? groupsList : nonEmptyGroups\n }\n\n return buildGroupByTableData\n}\n\nexport default useBuildGroupByTableData\n"],"names":["NEXT_PAGE_ID","UNGROUPED_VALUE","ROW_ID_SEPARATOR","valueToStringArray","value","v","getGroupData","groupById","groupValue","groups","group","GROUP_BY_ID","buildGroupId","parseGroupId","groupId","isGroupId","id","getSortingIds","groupBy","project","attribFields","attributeId","_a","s","_b","t","_c","f","_e","_d","field","e","defaultEntityToGroupRow","task","entityType","getEntityTypeData","typeData","linksToTableData","productTypes","useBuildGroupByTableData","entities","showEmpty","groupRowFunc","useGetEntityTypeData","entityToGroupRow","useCallback","baseRow","groupsMap","groupData","ungroupedId","getUnGroupedGroup","ungroupedGroup","entity","groupValues","groupRow","_f","groupsList","attribSortingIds","a","b","indexA","indexB","_g","_j","_h","_i","nonEmptyGroups"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useBuildGroupByTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.ts"],"sourcesContent":["// based on the groupBy field we take a flat list of items and group them\n// each group is a root node with subItems as the grouped items\n// any leftover items that do not match the groupBy field are added as a separate group (\"Ungrouped\")\n\nimport { EntityGroup } from '@shared/api'\nimport { TableGroupBy } from '../context'\nimport { EditorTaskNode, EntitiesMap, EntityMap, ProjectTableAttribute, TableRow } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { useCallback } from 'react'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\nexport type GroupByEntityType = 'task' | 'folder' | 'version' | 'product'\n\nexport type GroupData = {\n value: string\n label: string\n color?: string\n icon?: string\n img?: string\n count?: number\n}\n\nexport const NEXT_PAGE_ID = 'next-page'\nexport const UNGROUPED_VALUE = '_ungrouped'\nexport const ROW_ID_SEPARATOR = '__'\n\nconst valueToStringArray = (value?: any): string[] =>\n value ? (Array.isArray(value) ? value.map((v) => v.toString()) : [value.toString()]) : []\n\n// get group label, color and icon\nconst getGroupData = (groupById: string, groupValue: string, groups?: EntityGroup[]): GroupData => {\n if (!groups)\n return {\n value: groupValue,\n label: groupValue,\n }\n\n const group = groups.find((g) => g.value === groupValue)\n if (!group) {\n return {\n value: groupValue,\n label: groupValue,\n }\n } else {\n return {\n value: group.value,\n label: group.label || group.value,\n color: group.color,\n icon: group.icon,\n count: group.count,\n img: groupById === 'assignees' ? `/api/users/${group.value}/avatar` : undefined,\n }\n }\n}\n\nexport const GROUP_BY_ID = '_GROUP_'\nexport const buildGroupId = (value: string) => `${GROUP_BY_ID}${value}`\nexport const parseGroupId = (groupId: string): string | null => {\n if (!groupId.startsWith(GROUP_BY_ID)) return null\n return groupId.slice(GROUP_BY_ID.length) // +1 for the underscore\n}\nexport const isGroupId = (id: string): boolean => id.startsWith(GROUP_BY_ID)\n\ntype BuildGroupByTableProps = {\n entities: EntitiesMap\n entityType: string\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\n groupRowFunc?: (node: any) => TableRow\n}\n\n// get sorting ids based on the groupBy field\nconst getSortingIds = (\n groupBy: TableGroupBy,\n project?: ProjectModelWithProducts,\n attribFields: ProjectTableAttribute[] = [],\n): string[] => {\n const attributeId = groupBy.id.replace('attrib.', '')\n\n // for status, taskType, folderType use project data order\n if (attributeId === 'status') {\n return project?.statuses?.map((s) => s.name) || []\n } else if (attributeId === 'taskType') {\n return project?.taskTypes?.map((t) => t.name) || []\n } else if (attributeId === 'folderType') {\n return project?.folderTypes?.map((f) => f.name) || []\n } else if (groupBy.id.startsWith('attrib.')) {\n // for other enum attributes, use the enum values order\n return (\n attribFields\n .find((field) => field.name === attributeId)\n ?.data.enum?.map((e) => e.value.toString()) || []\n )\n } else return []\n}\n\nconst defaultEntityToGroupRow = (\n task: EditorTaskNode,\n group: string | undefined,\n entityType: string,\n project: ProjectModelWithProducts,\n getEntityTypeData: ReturnType<typeof useGetEntityTypeData>,\n): TableRow & { subRows: TableRow[] } => {\n const typeData = getEntityTypeData(entityType, task.taskType)\n return {\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the folder\n entityId: task.id,\n entityType: entityType,\n parentId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n updatedAt: task.updatedAt,\n links: linksToTableData(task.links, entityType, {\n folderTypes: project?.folderTypes || [],\n productTypes: Object.values(project.productTypes) || [],\n taskTypes: project?.taskTypes || [],\n }),\n }\n}\n\nconst useBuildGroupByTableData = ({\n entities,\n entityType,\n groups = [],\n attribFields,\n showEmpty,\n groupRowFunc, // for versions etc\n}: BuildGroupByTableProps) => {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow & { subRows: TableRow[] } => {\n // Use provided groupRowFunc or fall back to default\n const baseRow = groupRowFunc\n ? groupRowFunc(task)\n : defaultEntityToGroupRow(task, group, entityType, project, getEntityTypeData)\n\n // Ensure group-specific fields are set\n return {\n ...baseRow,\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the group\n subRows: baseRow.subRows || [],\n }\n },\n [groupRowFunc, getEntityTypeData, entityType, project],\n )\n\n const buildGroupByTableData = (groupBy: TableGroupBy): TableRow[] => {\n const groupsMap = new Map<string, TableRow>()\n\n for (const group of groups) {\n const groupValue = group.value?.toString() as string\n const groupId = buildGroupId(groupValue)\n const groupData = getGroupData(groupBy.id, groupValue, groups)\n groupsMap.set(groupValue, {\n id: groupId,\n name: groupValue,\n entityType: 'group',\n subRows: [],\n label: groupData.label,\n group: groupData,\n links: {},\n })\n }\n\n const ungroupedId = GROUP_BY_ID + '.' + UNGROUPED_VALUE // unique id for ungrouped group\n // gets the \"Ungrouped\" group, creating it if it doesn't exist\n const getUnGroupedGroup = () => {\n let ungroupedGroup = groupsMap.get(ungroupedId)\n if (!ungroupedGroup) {\n ungroupedGroup = {\n id: ungroupedId,\n name: 'Ungrouped',\n entityType: 'group',\n subRows: [],\n label: 'Ungrouped',\n group: { value: ungroupedId, label: 'Ungrouped' },\n links: {},\n }\n // create ungrouped group if it doesn't exist\n groupsMap.set(ungroupedId, ungroupedGroup)\n }\n return ungroupedGroup\n }\n\n for (const [id, entity] of entities) {\n // if the entity is not of the specified type, skip it\n if (entity.entityType !== entityType) continue\n // add entities to specific group\n let groupValues: string[] = []\n if (groupBy.id.startsWith('attrib.')) {\n // for attribute based grouping, get the value of the attribute\n const attributeId = groupBy.id.split('.')[1]\n groupValues = valueToStringArray(entity.attrib?.[attributeId])\n } else {\n groupValues = valueToStringArray(entity[groupBy.id as keyof EntityMap])\n }\n\n // if there are no values, add to \"Ungrouped\" group\n if (groupValues.length === 0) {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n // for each group value, find it's group and add the entity to it\n // if we can't find the group, add it to \"Ungrouped\"\n for (const groupValue of groupValues) {\n const groupRow = groupsMap.get(groupValue)\n if (groupRow) {\n groupRow.subRows?.push(entityToGroupRow(entity as EditorTaskNode, groupValue))\n } else {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n }\n\n // for groups metadata on entity, check if there is a next page\n if ('groups' in entity && Array.isArray(entity.groups)) {\n for (const group of entity.groups) {\n const hasNextPageGroup = group.hasNextPage\n if (hasNextPageGroup && groupsMap.has(group.value)) {\n // add a next page row to the group\n const groupRow = groupsMap.get(group.value)\n if (groupRow) {\n groupRow.subRows?.push({\n id: `${group.value}-next-page`,\n name: `Load more tasks...`,\n entityType: NEXT_PAGE_ID,\n subRows: [],\n label: `Next page for ${group.value}`,\n group: { value: group.value, label: group.value },\n links: {},\n })\n }\n }\n }\n }\n }\n\n const groupsList = Array.from(groupsMap.values())\n\n const attribSortingIds = getSortingIds(groupBy, project, attribFields)\n\n // sort the groups by their label\n // if the group is an attribute with enum values, sort by the enum values\n groupsList.sort((a, b) => {\n if (a.group?.value === ungroupedId) return 1 // \"Ungrouped\" should be last\n if (b.group?.value === ungroupedId) return -1 // \"Ungrouped\" should be last\n if (attribSortingIds.length) {\n // sort by index of the enum value\n const indexA = attribSortingIds.indexOf(a.group?.value || '')\n const indexB = attribSortingIds.indexOf(b.group?.value || '')\n if (indexA !== -1 && indexB !== -1) {\n return indexA - indexB\n }\n if (indexA !== -1) return -1 // a is in the enum, b is not\n if (indexB !== -1) return 1 // b is in the enum, a is not\n // if both are not in the enum, sort by label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n } else {\n // for other groupings, sort by the group label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n }\n })\n\n // filter out empty groups\n const nonEmptyGroups = groupsList.filter((group) => group.subRows && group.subRows.length > 0)\n\n return showEmpty ? groupsList : nonEmptyGroups\n }\n\n return buildGroupByTableData\n}\n\nexport default useBuildGroupByTableData\n"],"names":["NEXT_PAGE_ID","UNGROUPED_VALUE","ROW_ID_SEPARATOR","valueToStringArray","value","v","getGroupData","groupById","groupValue","groups","group","GROUP_BY_ID","buildGroupId","parseGroupId","groupId","isGroupId","id","getSortingIds","groupBy","project","attribFields","attributeId","_a","s","_b","t","_c","f","_e","_d","field","e","defaultEntityToGroupRow","task","entityType","getEntityTypeData","typeData","linksToTableData","useBuildGroupByTableData","entities","showEmpty","groupRowFunc","useProjectContext","useGetEntityTypeData","entityToGroupRow","useCallback","baseRow","groupsMap","groupData","ungroupedId","getUnGroupedGroup","ungroupedGroup","entity","groupValues","groupRow","_f","groupsList","attribSortingIds","a","b","indexA","indexB","_g","_j","_h","_i","nonEmptyGroups"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const p=require("react"),
|
|
1
|
+
"use strict";const p=require("react"),P=require("../utils/loadingUtils.cjs.js"),M=require("./useGetEntityTypeData.cjs.js");require("@ynput/ayon-react-components");require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const O=require("../../../context/ProjectContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("../ProjectTreeTable.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");const E=require("../utils/linksToTableData.cjs.js"),D=100;function N({foldersMap:q,tasksMap:w,rows:y,tasksByFolderMap:C,expanded:b,showHierarchy:g,loadingTasks:h={},isLoadingMore:R=!1}){const u=O.useProjectContext(),m=M.useGetEntityTypeData({projectInfo:u}),S=p.useMemo(()=>JSON.stringify(b),[b]),c=p.useMemo(()=>new Set(Object.entries(b).filter(([n,t])=>t).map(([n])=>n)),[S]),{childToParentMap:A,parentToChildrenMap:v}=p.useMemo(()=>{const n=new Map,t=new Map;for(const i of q.values()){if(!(i!=null&&i.id))continue;const a=i.parentId;if(a){n.set(i.id,a);let o=t.get(a);o||(o=new Set,t.set(a,o)),o.add(i.id)}}return{childToParentMap:n,parentToChildrenMap:t}},[q]),I=p.useMemo(()=>{const n=new Set,t=[];for(const i of q.values())i!=null&&i.id&&(!i.parentId||!q.has(i.parentId))&&(n.add(i.id),t.push(i.id));for(;t.length>0;){const i=t.shift();if(!c.has(i))continue;const o=v.get(i);if(o)for(const e of o)n.has(e)||(n.add(e),t.push(e))}return n},[q,v,c]);return p.useMemo(()=>{var a,o;const n=(e,r)=>{const s=m("task",e.taskType),l=E.linksToTableData(e.links,"task",{folderTypes:(u==null?void 0:u.folderTypes)||[],productTypes:u.productTypes||[],taskTypes:(u==null?void 0:u.taskTypes)||[]});return{id:e.id,entityType:"task",parentId:r||e.folderId,folderId:e.folderId,name:e.name||"",label:e.label||e.name||"",icon:(s==null?void 0:s.icon)||null,color:(s==null?void 0:s.color)||null,status:e.status,assignees:e.assignees,tags:e.tags,img:null,subRows:[],subType:e.taskType||null,attrib:e.attrib,ownAttrib:e.ownAttrib,parents:e.parents||[],path:e.parents.join("/")||null,folder:e.parents[e.parents.length-1]||void 0,updatedAt:e.updatedAt,createdAt:e.createdAt,hasReviewables:e.hasReviewables||!1,links:l}};if(!g){const e=[];for(const r of w.values())r.id&&e.push(n(r));for(const r of y||[])e.push(r);if(R){const r=D;{const s=P.generateLoadingRows(r,{type:"task"});e.push(...s)}}return e}const t=new Map,i=[];for(const e of I){const r=q.get(e);if(!r)continue;const s=E.linksToTableData(r.links,"folder",{folderTypes:(u==null?void 0:u.folderTypes)||[],productTypes:(u==null?void 0:u.productTypes)||[],taskTypes:(u==null?void 0:u.taskTypes)||[]}),l={id:e,entityType:"folder",parentId:r.parentId||void 0,folderId:e||null,name:r.name||"",label:r.label||r.name||"",icon:((a=m("folder",r.folderType))==null?void 0:a.icon)||null,color:null,img:null,subRows:[],status:r.status,tags:r.tags||[],subType:r.folderType||null,ownAttrib:r.ownAttrib||[],path:r.path,folder:r.parents[r.parents.length-1]||void 0,attrib:r.attrib||{},childOnlyMatch:r.childOnlyMatch||!1,updatedAt:r.updatedAt,createdAt:r.createdAt,hasReviewables:r.hasReviewables||!1,hasVersions:r.hasVersions||!1,links:s};if(t.set(e,l),(!r.parentId||!q.has(r.parentId))&&i.push(l),c.has(e)){const T=(C.get(e)||[]).flatMap(f=>w.get(f)||[]);if(T.length||h[e]){const f=new Array(T.length);for(let d=0;d<T.length;d++)f[d]=n(T[d],e);if(h[e]){const d=h[e];if(d>0){const x=P.generateLoadingRows(d,{parentId:e});f.push(...x)}}l.subRows=f}}}for(const e of I){const r=A.get(e);if(!r||!c.has(r))continue;const s=t.get(e),l=t.get(r);!s||!l||(o=l.subRows)==null||o.push(s)}for(const e of y||[])i.push(e);return i},[q,w,y,I,A,c,g,h,R])}module.exports=N;
|
|
2
2
|
//# sourceMappingURL=useBuildProjectDataTable.cjs.js.map
|