@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,61 +1,75 @@
|
|
|
1
|
-
import { toast as
|
|
1
|
+
import { toast as j } from "react-toastify";
|
|
2
2
|
import { useProjectTableQueriesContext as B } from "../context/ProjectTableQueriesContext.es.js";
|
|
3
|
-
import { useCallback as
|
|
3
|
+
import { useCallback as k } from "react";
|
|
4
4
|
import { useProjectTableContext as H } from "../context/ProjectTableContext.es.js";
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
import "../../../context/RemoteModulesContext.es.js";
|
|
6
|
+
import "../../../context/DetailsPanelContext.es.js";
|
|
7
|
+
import "../../../context/ThumbnailUploaderContext.es.js";
|
|
8
|
+
import "../../../context/SettingsPanelContext.es.js";
|
|
9
|
+
import "../../../context/pip/PiPProvider.es.js";
|
|
10
|
+
import "react-dom";
|
|
11
|
+
import "../../../context/pip/PiPWrapper.es.js";
|
|
12
|
+
import "../../../context/AddonProjectContext.es.js";
|
|
13
|
+
import "../../../context/AddonContext.es.js";
|
|
14
|
+
import "../../../context/PowerpackContext.es.js";
|
|
15
|
+
import "../../../context/MoveEntityContext.es.js";
|
|
16
|
+
import "../../../context/MenuContext.es.js";
|
|
17
|
+
import "../../../context/WebsocketContext.es.js";
|
|
18
|
+
import "../../../context/GlobalContext.es.js";
|
|
19
|
+
import { useProjectContext as L } from "../../../context/ProjectContext.es.js";
|
|
20
|
+
const ot = (U) => {
|
|
21
|
+
const { pushHistory: T } = U || {}, { projectName: F } = L(), {
|
|
7
22
|
getEntityById: A,
|
|
8
|
-
projectName: F,
|
|
9
23
|
getInheritedDependents: v,
|
|
10
|
-
findInheritedValueFromAncestors:
|
|
24
|
+
findInheritedValueFromAncestors: V,
|
|
11
25
|
findNonInheritedValues: M
|
|
12
|
-
} = H(), { updateEntities: O } = B(), N =
|
|
26
|
+
} = H(), { updateEntities: O } = B(), N = k(
|
|
13
27
|
async (b = [], P = !0) => {
|
|
14
|
-
var
|
|
28
|
+
var o;
|
|
15
29
|
if (!b.length || !F)
|
|
16
30
|
return;
|
|
17
31
|
let y = b.filter((t) => !t.isLink);
|
|
18
32
|
const x = y.filter((t) => {
|
|
19
33
|
if (t.field === "folderType" && t.type === "folder") {
|
|
20
|
-
const
|
|
21
|
-
if (
|
|
34
|
+
const n = A(t.id);
|
|
35
|
+
if (n != null && n.hasVersions)
|
|
22
36
|
return !1;
|
|
23
37
|
}
|
|
24
38
|
return !0;
|
|
25
|
-
}),
|
|
26
|
-
if (
|
|
27
|
-
`Cannot change folder type for ${
|
|
39
|
+
}), w = y.length - x.length;
|
|
40
|
+
if (w > 0 && j.error(
|
|
41
|
+
`Cannot change folder type for ${w} folder${w > 1 ? "s" : ""} with published versions`
|
|
28
42
|
), y = x, !y.length)
|
|
29
43
|
return;
|
|
30
|
-
if (
|
|
44
|
+
if (T && P) {
|
|
31
45
|
const t = y.map(
|
|
32
|
-
({ rowId: h, id:
|
|
46
|
+
({ rowId: h, id: p, type: d, field: s, isAttrib: l, meta: a }) => {
|
|
33
47
|
var E;
|
|
34
|
-
const e = A(
|
|
48
|
+
const e = A(p);
|
|
35
49
|
if (!e)
|
|
36
|
-
throw "Entity not found: " +
|
|
37
|
-
const i = (e == null ? void 0 : e.entityId) || e.id,
|
|
50
|
+
throw "Entity not found: " + p;
|
|
51
|
+
const i = (e == null ? void 0 : e.entityId) || e.id, c = l ? ((E = e.attrib) == null ? void 0 : E[s]) ?? null : e[s] ?? null, g = (e == null ? void 0 : e.ownAttrib) || [], f = l && !g.includes(s);
|
|
38
52
|
return {
|
|
39
53
|
rowId: h,
|
|
40
54
|
id: i,
|
|
41
|
-
type:
|
|
55
|
+
type: d,
|
|
42
56
|
field: s,
|
|
43
|
-
value:
|
|
57
|
+
value: c,
|
|
44
58
|
isAttrib: l,
|
|
45
|
-
wasInherited:
|
|
59
|
+
wasInherited: f,
|
|
46
60
|
// Track inheritance status for undo
|
|
47
61
|
ownAttrib: g,
|
|
48
62
|
folderId: (e == null ? void 0 : e.folderId) || (e == null ? void 0 : e.parentId),
|
|
49
63
|
meta: a
|
|
50
64
|
};
|
|
51
65
|
}
|
|
52
|
-
),
|
|
53
|
-
({ rowId: h, id:
|
|
54
|
-
const i = A(
|
|
66
|
+
), n = y.flatMap(
|
|
67
|
+
({ rowId: h, id: p, type: d, field: s, value: l, isAttrib: a, meta: e }) => {
|
|
68
|
+
const i = A(p), c = (i == null ? void 0 : i.entityId) || (i == null ? void 0 : i.id) || p;
|
|
55
69
|
return i ? {
|
|
56
70
|
rowId: h,
|
|
57
|
-
id:
|
|
58
|
-
type:
|
|
71
|
+
id: c,
|
|
72
|
+
type: d,
|
|
59
73
|
field: s,
|
|
60
74
|
value: l,
|
|
61
75
|
isAttrib: a,
|
|
@@ -65,9 +79,9 @@ const z = (V) => {
|
|
|
65
79
|
} : [];
|
|
66
80
|
}
|
|
67
81
|
);
|
|
68
|
-
|
|
82
|
+
T(t, n);
|
|
69
83
|
}
|
|
70
|
-
const
|
|
84
|
+
const m = [
|
|
71
85
|
"task",
|
|
72
86
|
"folder",
|
|
73
87
|
"product",
|
|
@@ -75,24 +89,24 @@ const z = (V) => {
|
|
|
75
89
|
];
|
|
76
90
|
let I = [];
|
|
77
91
|
for (const t of y) {
|
|
78
|
-
let { id:
|
|
79
|
-
const a = A(
|
|
92
|
+
let { id: n, type: h, field: p, value: d, isAttrib: s, meta: l } = t;
|
|
93
|
+
const a = A(n), e = (a == null ? void 0 : a.entityId) || (a == null ? void 0 : a.id) || n;
|
|
80
94
|
let i = h;
|
|
81
|
-
if (!
|
|
95
|
+
if (!m.includes(i))
|
|
82
96
|
continue;
|
|
83
|
-
const
|
|
97
|
+
const c = s ? { attrib: { [p]: d } } : { [p]: d };
|
|
84
98
|
if (s) {
|
|
85
|
-
const
|
|
86
|
-
|
|
99
|
+
const f = [...(a == null ? void 0 : a.ownAttrib) || []];
|
|
100
|
+
f.includes(p) || f.push(p), c.ownAttrib = f;
|
|
87
101
|
}
|
|
88
102
|
const g = I.findIndex(
|
|
89
|
-
(
|
|
103
|
+
(f) => f.entityId === e && f.entityType === i
|
|
90
104
|
);
|
|
91
105
|
if (g !== -1) {
|
|
92
|
-
const
|
|
93
|
-
let E = { ...
|
|
94
|
-
(
|
|
95
|
-
...
|
|
106
|
+
const f = I[g];
|
|
107
|
+
let E = { ...f.data, ...c };
|
|
108
|
+
(o = f.data) != null && o.attrib && c.attrib && (E = { ...E, attrib: { ...f.data.attrib, ...c.attrib } }), I[g] = {
|
|
109
|
+
...f,
|
|
96
110
|
data: E
|
|
97
111
|
};
|
|
98
112
|
} else
|
|
@@ -101,16 +115,16 @@ const z = (V) => {
|
|
|
101
115
|
entityType: i,
|
|
102
116
|
entityId: e,
|
|
103
117
|
type: "update",
|
|
104
|
-
data:
|
|
118
|
+
data: c,
|
|
105
119
|
meta: l
|
|
106
120
|
});
|
|
107
121
|
}
|
|
108
122
|
const C = I.filter((t) => !!t.entityId && t.type === "update" && t.data && "attrib" in t.data).map((t) => {
|
|
109
|
-
var
|
|
123
|
+
var n;
|
|
110
124
|
return {
|
|
111
125
|
entityId: t.entityId,
|
|
112
126
|
entityType: t.entityType,
|
|
113
|
-
attrib: t.data && "attrib" in t.data ? (
|
|
127
|
+
attrib: t.data && "attrib" in t.data ? (n = t.data) == null ? void 0 : n.attrib : {}
|
|
114
128
|
};
|
|
115
129
|
}), u = v(C).map((t) => ({
|
|
116
130
|
entityId: t.entityId,
|
|
@@ -125,7 +139,7 @@ const z = (V) => {
|
|
|
125
139
|
patchOperations: u
|
|
126
140
|
});
|
|
127
141
|
} catch (t) {
|
|
128
|
-
console.error("Error updating entities:", t),
|
|
142
|
+
console.error("Error updating entities:", t), j.error("Failed to update entities: " + (t == null ? void 0 : t.error));
|
|
129
143
|
}
|
|
130
144
|
},
|
|
131
145
|
[
|
|
@@ -134,24 +148,24 @@ const z = (V) => {
|
|
|
134
148
|
//
|
|
135
149
|
A,
|
|
136
150
|
v,
|
|
137
|
-
|
|
151
|
+
T
|
|
138
152
|
]
|
|
139
|
-
), $ =
|
|
153
|
+
), $ = k(
|
|
140
154
|
async (b, P = !0) => {
|
|
141
155
|
var I, C;
|
|
142
156
|
if (!b.length || !F)
|
|
143
157
|
return;
|
|
144
|
-
if (P &&
|
|
145
|
-
const
|
|
146
|
-
for (const
|
|
147
|
-
const t = A(
|
|
148
|
-
for (const
|
|
149
|
-
t != null && t.attrib &&
|
|
150
|
-
rowId:
|
|
151
|
-
id: (t == null ? void 0 : t.entityId) || (t == null ? void 0 : t.id) ||
|
|
152
|
-
type:
|
|
153
|
-
field:
|
|
154
|
-
value: t.attrib[
|
|
158
|
+
if (P && T) {
|
|
159
|
+
const r = [];
|
|
160
|
+
for (const o of b) {
|
|
161
|
+
const t = A(o.entityId);
|
|
162
|
+
for (const n of o.attribs)
|
|
163
|
+
t != null && t.attrib && n in t.attrib && r.push({
|
|
164
|
+
rowId: o.rowId,
|
|
165
|
+
id: (t == null ? void 0 : t.entityId) || (t == null ? void 0 : t.id) || o.entityId,
|
|
166
|
+
type: o.entityType,
|
|
167
|
+
field: n,
|
|
168
|
+
value: t.attrib[n],
|
|
155
169
|
isAttrib: !0,
|
|
156
170
|
wasInherited: !1,
|
|
157
171
|
// Mark as not inherited
|
|
@@ -161,127 +175,127 @@ const z = (V) => {
|
|
|
161
175
|
});
|
|
162
176
|
}
|
|
163
177
|
const u = b.flatMap(
|
|
164
|
-
(
|
|
165
|
-
rowId:
|
|
166
|
-
id:
|
|
167
|
-
type:
|
|
178
|
+
(o) => o.attribs.map((t) => ({
|
|
179
|
+
rowId: o.rowId,
|
|
180
|
+
id: o.entityId,
|
|
181
|
+
type: o.entityType,
|
|
168
182
|
field: t,
|
|
169
183
|
value: null,
|
|
170
184
|
isAttrib: !0,
|
|
171
185
|
wasInherited: !0,
|
|
172
186
|
// Mark as inherited
|
|
173
|
-
ownAttrib:
|
|
174
|
-
folderId:
|
|
175
|
-
meta:
|
|
187
|
+
ownAttrib: o.ownAttrib,
|
|
188
|
+
folderId: o.folderId,
|
|
189
|
+
meta: o.meta
|
|
176
190
|
}))
|
|
177
191
|
);
|
|
178
|
-
|
|
192
|
+
r.length > 0 && T(r, u);
|
|
179
193
|
}
|
|
180
|
-
const y = ["task", "folder"], x = [],
|
|
181
|
-
for (const
|
|
182
|
-
let u =
|
|
194
|
+
const y = ["task", "folder"], x = [], w = [];
|
|
195
|
+
for (const r of b) {
|
|
196
|
+
let u = r.entityType;
|
|
183
197
|
if (!y.includes(u))
|
|
184
198
|
continue;
|
|
185
199
|
u = u;
|
|
186
|
-
const
|
|
187
|
-
|
|
188
|
-
|
|
200
|
+
const o = {};
|
|
201
|
+
r.attribs.forEach((s) => {
|
|
202
|
+
o[s] = null;
|
|
189
203
|
}), x.push({
|
|
190
|
-
rowId:
|
|
204
|
+
rowId: r.rowId,
|
|
191
205
|
entityType: u,
|
|
192
|
-
entityId:
|
|
206
|
+
entityId: r.entityId,
|
|
193
207
|
type: "update",
|
|
194
208
|
data: {
|
|
195
|
-
attrib:
|
|
209
|
+
attrib: o
|
|
196
210
|
},
|
|
197
|
-
meta:
|
|
211
|
+
meta: r.meta
|
|
198
212
|
});
|
|
199
|
-
const
|
|
200
|
-
const s =
|
|
201
|
-
let a = s, e = b.find((
|
|
213
|
+
const n = (() => {
|
|
214
|
+
const s = r.folderId, l = [];
|
|
215
|
+
let a = s, e = b.find((c) => c.entityId === a);
|
|
202
216
|
for (; e; )
|
|
203
|
-
l.push(e), a = e.folderId, e = b.find((
|
|
217
|
+
l.push(e), a = e.folderId, e = b.find((c) => c.entityId === a);
|
|
204
218
|
return l.length > 0 ? l[l.length - 1] : null;
|
|
205
|
-
})(), h = (
|
|
219
|
+
})(), h = (n == null ? void 0 : n.attribs) || [], p = r.attribs.filter(
|
|
206
220
|
(s) => h.includes(s)
|
|
207
|
-
),
|
|
221
|
+
), d = r.attribs.filter(
|
|
208
222
|
(s) => !h.includes(s)
|
|
209
223
|
);
|
|
210
|
-
|
|
211
|
-
...
|
|
212
|
-
attribs:
|
|
213
|
-
}),
|
|
214
|
-
...
|
|
215
|
-
attribs:
|
|
216
|
-
folderId:
|
|
224
|
+
d.length > 0 && w.push({
|
|
225
|
+
...r,
|
|
226
|
+
attribs: d
|
|
227
|
+
}), n && p.length > 0 && w.push({
|
|
228
|
+
...r,
|
|
229
|
+
attribs: p,
|
|
230
|
+
folderId: n.folderId
|
|
217
231
|
});
|
|
218
232
|
}
|
|
219
|
-
const
|
|
220
|
-
for (const
|
|
221
|
-
const u =
|
|
222
|
-
(
|
|
223
|
-
), t = M(
|
|
224
|
-
entityId:
|
|
233
|
+
const m = [];
|
|
234
|
+
for (const r of w) {
|
|
235
|
+
const u = r.entityType, o = [...r.ownAttrib || []].filter(
|
|
236
|
+
(d) => !r.attribs.includes(d)
|
|
237
|
+
), t = M(r.folderId, r.attribs), n = {
|
|
238
|
+
entityId: r.entityId,
|
|
225
239
|
entityType: u,
|
|
226
240
|
data: {
|
|
227
241
|
attrib: t,
|
|
228
|
-
ownAttrib:
|
|
242
|
+
ownAttrib: o
|
|
229
243
|
}
|
|
230
244
|
};
|
|
231
|
-
|
|
232
|
-
const
|
|
233
|
-
{ entityId:
|
|
234
|
-
]).map((
|
|
235
|
-
entityId:
|
|
236
|
-
entityType:
|
|
245
|
+
m.push(n);
|
|
246
|
+
const p = v([
|
|
247
|
+
{ entityId: r.entityId, entityType: u, attrib: t }
|
|
248
|
+
]).map((d) => ({
|
|
249
|
+
entityId: d.entityId,
|
|
250
|
+
entityType: d.entityType,
|
|
237
251
|
data: {
|
|
238
|
-
attrib:
|
|
252
|
+
attrib: d.attrib
|
|
239
253
|
}
|
|
240
254
|
}));
|
|
241
|
-
for (const
|
|
242
|
-
const s =
|
|
243
|
-
(l) => l.entityId ===
|
|
255
|
+
for (const d of p) {
|
|
256
|
+
const s = m.findIndex(
|
|
257
|
+
(l) => l.entityId === d.entityId
|
|
244
258
|
);
|
|
245
259
|
if (s !== -1) {
|
|
246
|
-
const l =
|
|
260
|
+
const l = m[s];
|
|
247
261
|
let a = {
|
|
248
262
|
// @ts-ignore
|
|
249
263
|
...((I = l.data) == null ? void 0 : I.attrib) || {},
|
|
250
264
|
// @ts-ignore
|
|
251
|
-
...((C =
|
|
265
|
+
...((C = d.data) == null ? void 0 : C.attrib) || {}
|
|
252
266
|
};
|
|
253
|
-
|
|
267
|
+
m[s] = {
|
|
254
268
|
...l,
|
|
255
269
|
data: { attrib: a }
|
|
256
270
|
};
|
|
257
271
|
} else
|
|
258
|
-
|
|
259
|
-
entityId:
|
|
260
|
-
entityType:
|
|
261
|
-
data:
|
|
272
|
+
m.push({
|
|
273
|
+
entityId: d.entityId,
|
|
274
|
+
entityType: d.entityType,
|
|
275
|
+
data: d.data
|
|
262
276
|
});
|
|
263
277
|
}
|
|
264
278
|
}
|
|
265
279
|
try {
|
|
266
280
|
await O({
|
|
267
281
|
operations: x,
|
|
268
|
-
patchOperations:
|
|
282
|
+
patchOperations: m
|
|
269
283
|
});
|
|
270
284
|
} catch {
|
|
271
|
-
|
|
285
|
+
j.error("Failed to update entities");
|
|
272
286
|
}
|
|
273
287
|
},
|
|
274
288
|
[
|
|
275
289
|
F,
|
|
276
290
|
O,
|
|
277
291
|
v,
|
|
278
|
-
|
|
279
|
-
|
|
292
|
+
V,
|
|
293
|
+
T
|
|
280
294
|
]
|
|
281
295
|
);
|
|
282
296
|
return { updateEntities: N, inheritFromParent: $ };
|
|
283
297
|
};
|
|
284
298
|
export {
|
|
285
|
-
|
|
299
|
+
ot as default
|
|
286
300
|
};
|
|
287
301
|
//# sourceMappingURL=useUpdateTableData.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpdateTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { rowId: string; meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory } = props || {}\n const {\n getEntityById,\n projectName,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${filteredCount > 1 ? 's' : ''} with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n rowId: entity.rowId,\n entityType: entityType,\n entityId: entityId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n toast.error('Failed to update entities: ' + error?.error)\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n rowId: entity.rowId,\n entityType: entityType,\n entityId: entity.entityId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error) {\n toast.error('Failed to update entities')\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["useUpdateTableData","props","pushHistory","getEntityById","projectName","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","e","filteredUpdates","entity","entityData","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityId","oldValue","_a","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","entityType","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib","_b"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useUpdateTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\nimport { useProjectContext } from '@shared/context'\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { rowId: string; meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory } = props || {}\n const { projectName } = useProjectContext()\n const {\n getEntityById,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${\n filteredCount > 1 ? 's' : ''\n } with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n rowId: entity.rowId,\n entityType: entityType,\n entityId: entityId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n toast.error('Failed to update entities: ' + error?.error)\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n rowId: entity.rowId,\n entityType: entityType,\n entityId: entity.entityId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error) {\n toast.error('Failed to update entities')\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["useUpdateTableData","props","pushHistory","projectName","useProjectContext","getEntityById","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","e","filteredUpdates","entity","entityData","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityId","oldValue","_a","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","entityType","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib","_b"],"mappings":";;;;;;;;;;;;;;;;;;;AAkDM,MAAAA,KAAqB,CAACC,MAAoC;AAC9D,QAAM,EAAE,aAAAC,MAAgBD,KAAS,CAAC,GAC5B,EAAE,aAAAE,EAAY,IAAIC,EAAkB,GACpC;AAAA,IACJ,eAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,iCAAAC;AAAA,IACA,wBAAAC;AAAA,MACEC,EAAuB,GACrB,EAAE,gBAAAC,EAAe,IAAIC,EAA8B,GAEnDC,IAAuBC;AAAA,IAC3B,OAAOC,IAAW,CAAA,GAAIC,IAAgB,OAAS;;AAC7C,UAAI,CAACD,EAAS,UAAU,CAACX;AACvB;AAIF,UAAIa,IAAgBF,EAAS,OAAO,CAACG,MAAM,CAACA,EAAE,MAAM;AAGpD,YAAMC,IAAkBF,EAAc,OAAO,CAACG,MAAW;AACvD,YAAIA,EAAO,UAAU,gBAAgBA,EAAO,SAAS,UAAU;AACvD,gBAAAC,IAAaf,EAAcc,EAAO,EAAE;AAC1C,cAAIC,KAAA,QAAAA,EAAY;AACP,mBAAA;AAAA,QACT;AAEK,eAAA;AAAA,MAAA,CACR,GAGKC,IAAgBL,EAAc,SAASE,EAAgB;AAYzD,UAXAG,IAAgB,KACZC,EAAA;AAAA,QACJ,iCAAiCD,CAAa,UAC5CA,IAAgB,IAAI,MAAM,EAC5B;AAAA,MACF,GAGcL,IAAAE,GAGZ,CAACF,EAAc;AACjB;AAIF,UAAId,KAAea,GAAe;AAChC,cAAMQ,IAAyCP,EAAc;AAAA,UAC3D,CAAC,EAAE,OAAAQ,GAAO,IAAAC,GAAI,MAAAC,GAAM,OAAAC,GAAO,UAAAC,GAAU,MAAAC,QAAW;;AACxC,kBAAAT,IAAaf,EAAcoB,CAAE;AACnC,gBAAI,CAACL;AACH,oBAAM,uBAAuBK;AAEzB,kBAAAK,KAAWV,KAAA,gBAAAA,EAAY,aAAYA,EAAW,IAC9CW,IAAWH,MACZI,IAAAZ,EAAW,WAAX,gBAAAY,EAA4CL,OAAU,OACvDP,EAAWO,CAAK,KAAK,MAGnBM,KAAYb,KAAA,gBAAAA,EAAY,cAAa,CAAC,GACtCc,IAAeN,KAAY,CAACK,EAAU,SAASN,CAAK;AAEnD,mBAAA;AAAA,cACL,OAAAH;AAAA,cACA,IAAIM;AAAA,cACJ,MAAAJ;AAAA,cACA,OAAAC;AAAA,cACA,OAAOI;AAAA,cACP,UAAAH;AAAA,cACA,cAAAM;AAAA;AAAA,cACA,WAAAD;AAAA,cACA,WAAUb,KAAA,gBAAAA,EAAY,cAAYA,KAAA,gBAAAA,EAAY;AAAA,cAC9C,MAAAS;AAAA,YACF;AAAA,UAAA;AAAA,QAEJ,GACMM,IAAyCnB,EAAc;AAAA,UAC3D,CAAC,EAAE,OAAAQ,GAAO,IAAAC,GAAI,MAAAC,GAAM,OAAAC,GAAO,OAAAS,GAAO,UAAAR,GAAU,MAAAC,QAAW;AAC/C,kBAAAT,IAAaf,EAAcoB,CAAE,GAC7BK,KAAWV,KAAA,gBAAAA,EAAY,cAAYA,KAAA,gBAAAA,EAAY,OAAMK;AAEvD,mBAACL,IAEE;AAAA,cACL,OAAAI;AAAA,cACA,IAAIM;AAAA,cACJ,MAAAJ;AAAA,cACA,OAAAC;AAAA,cACA,OAAAS;AAAA,cACA,UAAAR;AAAA,cACA,YAAWR,KAAA,gBAAAA,EAAY,cAAa,CAAC;AAAA,cACrC,UAAU,cAAcA,IAAaA,EAAW,WAAWA,KAAA,gBAAAA,EAAY;AAAA,cACvE,MAAAS;AAAA,YACF,IAZwB,CAAC;AAAA,UAYzB;AAAA,QAEJ;AACA,QAAA3B,EAAYqB,GAAiBY,CAAe;AAAA,MAAA;AAG9C,YAAME,IAAuD;AAAA,QAC3D;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,UAAIC,IAAmC,CAAC;AACxC,iBAAWnB,KAAUH,GAAe;AAClC,YAAI,EAAE,IAAAS,GAAI,MAAAC,GAAM,OAAAC,GAAO,OAAAS,GAAO,UAAAR,GAAU,MAAAC,MAASV;AAC3C,cAAAC,IAAaf,EAAcoB,CAAE,GAC7BK,KAAWV,KAAA,gBAAAA,EAAY,cAAYA,KAAA,gBAAAA,EAAY,OAAMK;AAE3D,YAAIc,IAAab;AACjB,YAAI,CAACW,EAAqB,SAASE,CAAU;AAC3C;AAIF,cAAMC,IAA4BZ,IAC9B,EAAE,QAAQ,EAAE,CAACD,CAAK,GAAGS,IACrB,IAAA,EAAE,CAACT,CAAK,GAAGS,EAAM;AAIrB,YAAIR,GAAU;AACZ,gBAAMK,IAAY,CAAC,IAAIb,KAAA,gBAAAA,EAAY,cAAa,CAAA,CAAG;AAEnD,UAAKa,EAAU,SAASN,CAAK,KAC3BM,EAAU,KAAKN,CAAK,GAGtBa,EAAK,YAAYP;AAAA,QAAA;AAGnB,cAAMQ,IAAyBH,EAAW;AAAA,UACxC,CAACI,MAAOA,EAAG,aAAaZ,KAAYY,EAAG,eAAeH;AAAA,QACxD;AAEA,YAAIE,MAA2B,IAAI;AAE3B,gBAAAE,IAAoBL,EAAWG,CAAsB;AAC3D,cAAIG,IAAU,EAAE,GAAGD,EAAkB,MAAM,GAAGH,EAAK;AAGnD,WAAIR,IAAAW,EAAkB,SAAlB,QAAAX,EAAwB,UAAUQ,EAAK,WAEzCI,IAAU,EAAE,GAAGA,GAAS,QAAQ,EAAE,GAAGD,EAAkB,KAAK,QAAQ,GAAGH,EAAK,OAAA,EAAS,IAGvFF,EAAWG,CAAsB,IAAI;AAAA,YACnC,GAAGE;AAAA,YACH,MAAMC;AAAA,UACR;AAAA,QAAA;AAGA,UAAAN,EAAW,KAAK;AAAA,YACd,OAAOnB,EAAO;AAAA,YACd,YAAAoB;AAAA,YACA,UAAAT;AAAA,YACA,MAAM;AAAA,YACN,MAAAU;AAAA,YACA,MAAAX;AAAA,UAAA,CACD;AAAA,MACH;AAGI,YAAAgB,IAA6CP,EAChD,OAAO,CAACI,MAAO,CAAC,CAACA,EAAG,YAAYA,EAAG,SAAS,YAAYA,EAAG,QAAQ,YAAYA,EAAG,IAAI,EACtF,IAAI,CAACA,MAAQ;;AAAA;AAAA,UACZ,UAAUA,EAAG;AAAA,UACb,YAAYA,EAAG;AAAA,UACf,QACEA,EAAG,QAAQ,YAAYA,EAAG,QAAQV,IAAAU,EAAG,SAAH,gBAAAV,EAAS,SAA0C,CAAA;AAAA,QAAC;AAAA,OACxF,GAKEc,IAHsBxC,EAAuBuC,CAAoB,EAGK,IAAI,CAACH,OAAQ;AAAA,QACvF,UAAUA,EAAG;AAAA,QACb,YAAYA,EAAG;AAAA,QACf,MAAM;AAAA,UACJ,QAAQA,EAAG;AAAA,QAAA;AAAA,MACb,EACA;AAGE,UAAA;AACF,QAAIJ,EAAW,UACb,MAAM5B,EAAe;AAAA,UACnB,YAAA4B;AAAA,UACA,iBAAiBQ;AAAA,QAAA,CAClB;AAAA,eAEIC,GAAY;AACX,gBAAA,MAAM,4BAA4BA,CAAK,GACzCzB,EAAA,MAAM,iCAAgCyB,KAAA,gBAAAA,EAAO,MAAK;AAAA,MAAA;AAAA,IAE5D;AAAA,IACA;AAAA,MACE5C;AAAA,MACAO;AAAA;AAAA,MACAL;AAAA,MACAC;AAAA,MACAJ;AAAA,IAAA;AAAA,EAEJ,GAKM8C,IAAoBnC;AAAA,IACxB,OAAOC,GAAUC,IAAgB,OAAS;;AACxC,UAAI,CAACD,EAAS,UAAU,CAACX;AACvB;AAIF,UAAIY,KAAiBb,GAAa;AAEhC,cAAM+C,IAAsC,CAAC;AAG7C,mBAAW9B,KAAUL,GAAU;AACvB,gBAAAM,IAAaf,EAAcc,EAAO,QAAQ;AAGrC,qBAAA+B,KAAU/B,EAAO;AAC1B,YAAIC,KAAA,QAAAA,EAAY,UAAU8B,KAAU9B,EAAW,UAC7C6B,EAAa,KAAK;AAAA,cAChB,OAAO9B,EAAO;AAAA,cACd,KAAIC,KAAA,gBAAAA,EAAY,cAAYA,KAAA,gBAAAA,EAAY,OAAMD,EAAO;AAAA,cACrD,MAAMA,EAAO;AAAA,cACb,OAAO+B;AAAA,cACP,OAAQ9B,EAAW,OAA+B8B,CAAM;AAAA,cACxD,UAAU;AAAA,cACV,cAAc;AAAA;AAAA,cACd,YAAW9B,KAAA,gBAAAA,EAAY,cAAa,CAAC;AAAA,cACrC,UAAUA,KAAA,gBAAAA,EAAY;AAAA,cACtB,MAAMA,EAAW;AAAA,YAAA,CAClB;AAAA,QAEL;AAIF,cAAM+B,IAAsCrC,EAAS;AAAA,UAAQ,CAACK,MAC5DA,EAAO,QAAQ,IAAI,CAAC+B,OAAY;AAAA,YAC9B,OAAO/B,EAAO;AAAA,YACd,IAAIA,EAAO;AAAA,YACX,MAAMA,EAAO;AAAA,YACb,OAAO+B;AAAA,YACP,OAAO;AAAA,YACP,UAAU;AAAA,YACV,cAAc;AAAA;AAAA,YACd,WAAW/B,EAAO;AAAA,YAClB,UAAUA,EAAO;AAAA,YACjB,MAAMA,EAAO;AAAA,UAAA,EACb;AAAA,QACJ;AAGI,QAAA8B,EAAa,SAAS,KACxB/C,EAAY+C,GAAcE,CAAY;AAAA,MACxC;AAGI,YAAAd,IAAuD,CAAC,QAAQ,QAAQ,GAExEC,IAAmC,CAAC,GACpCc,IAA6C,CAAC;AACpD,iBAAWjC,KAAUL,GAAU;AAE7B,YAAIyB,IAAapB,EAAO;AACxB,YAAI,CAACkB,EAAqB,SAASE,CAAU;AAC3C;AAEW,QAAAA,IAAAA;AAGb,cAAMc,IAAmC,CAAC;AACnC,QAAAlC,EAAA,QAAQ,QAAQ,CAAC+B,MAAW;AACjC,UAAAG,EAAWH,CAAM,IAAI;AAAA,QAAA,CACtB,GAGDZ,EAAW,KAAK;AAAA,UACd,OAAOnB,EAAO;AAAA,UACd,YAAAoB;AAAA,UACA,UAAUpB,EAAO;AAAA,UACjB,MAAM;AAAA,UACN,MAAM;AAAA,YACJ,QAAQkC;AAAA,UACV;AAAA,UACA,MAAMlC,EAAO;AAAA,QAAA,CACd;AA2BD,cAAMmC,KAvBgB,MAAM;AAE1B,gBAAMC,IAAWpC,EAAO,UAGlBqC,IAA2C,CAAC;AAClD,cAAIC,IAAkBF,GAClBG,IAAgB5C,EAAS,KAAK,CAACG,MAAMA,EAAE,aAAawC,CAAe;AAGvE,iBAAOC;AACL,YAAAF,EAAc,KAAKE,CAAa,GAChCD,IAAkBC,EAAc,UAChCA,IAAgB5C,EAAS,KAAK,CAACG,MAAMA,EAAE,aAAawC,CAAe;AAO9DH,iBAFLE,EAAc,SAAS,IAAIA,EAAcA,EAAc,SAAS,CAAC,IAAI;AAAA,QAGzE,GAEgC,GAC1BG,KAAgBL,KAAA,gBAAAA,EAAW,YAAW,CAAC,GACvCM,IAA4BzC,EAAO,QAAQ;AAAA,UAAO,CAAC+B,MACvDS,EAAc,SAAST,CAAM;AAAA,QAC/B,GACMW,IAAuB1C,EAAO,QAAQ;AAAA,UAC1C,CAAC+B,MAAW,CAACS,EAAc,SAAST,CAAM;AAAA,QAC5C;AAGA,QAAIW,EAAqB,SAAS,KAChCT,EAAgB,KAAK;AAAA,UACnB,GAAGjC;AAAA,UACH,SAAS0C;AAAA,QAAA,CACV,GAECP,KAAaM,EAA0B,SAAS,KAClDR,EAAgB,KAAK;AAAA,UACnB,GAAGjC;AAAA,UACH,SAASyC;AAAA,UACT,UAAUN,EAAU;AAAA,QAAA,CACrB;AAAA,MACH;AAGF,YAAMQ,IAAoC,CAAC;AAC3C,iBAAW3C,KAAUiC,GAAiB;AACpC,cAAMb,IAAapB,EAAO,YAEpBc,IAAY,CAAC,GAAId,EAAO,aAAa,CAAA,CAAG,EAAE;AAAA,UAC9C,CAAC+B,MAAW,CAAC/B,EAAO,QAAQ,SAAS+B,CAAM;AAAA,QAC7C,GAIMa,IAAiBvD,EAAuBW,EAAO,UAAUA,EAAO,OAAO,GAEvE6C,IAAc;AAAA,UAClB,UAAU7C,EAAO;AAAA,UACjB,YAAAoB;AAAA,UACA,MAAM;AAAA,YACJ,QAAQwB;AAAA,YACR,WAAA9B;AAAA,UAAA;AAAA,QAEJ;AAGA,QAAA6B,EAAgB,KAAKE,CAAW;AAQhC,cAAMlB,IALsBxC,EAAuB;AAAA,UACjD,EAAE,UAAUa,EAAO,UAAU,YAAAoB,GAAwB,QAAQwB,EAAe;AAAA,QAAA,CAC7E,EAG2E,IAAI,CAACrB,OAAQ;AAAA,UACvF,UAAUA,EAAG;AAAA,UACb,YAAYA,EAAG;AAAA,UACf,MAAM;AAAA,YACJ,QAAQA,EAAG;AAAA,UAAA;AAAA,QACb,EACA;AAIF,mBAAWuB,KAAsBnB,GAA+B;AAC9D,gBAAML,IAAyBqB,EAAgB;AAAA,YAC7C,CAACpB,MAAOA,EAAG,aAAauB,EAAmB;AAAA,UAC7C;AAEA,cAAIxB,MAA2B,IAAI;AAE3B,kBAAAE,IAAoBmB,EAAgBrB,CAAsB;AAChE,gBAAIyB,IAAY;AAAA;AAAA,cAEd,KAAIlC,IAAAW,EAAkB,SAAlB,gBAAAX,EAAwB,WAAU,CAAC;AAAA;AAAA,cAEvC,KAAImC,IAAAF,EAAmB,SAAnB,gBAAAE,EAAyB,WAAU,CAAA;AAAA,YACzC;AAEA,YAAAL,EAAgBrB,CAAsB,IAAI;AAAA,cACxC,GAAGE;AAAA,cACH,MAAM,EAAE,QAAQuB,EAAU;AAAA,YAC5B;AAAA,UAAA;AAGA,YAAAJ,EAAgB,KAAK;AAAA,cACnB,UAAUG,EAAmB;AAAA,cAC7B,YAAYA,EAAmB;AAAA,cAC/B,MAAMA,EAAmB;AAAA,YAAA,CAC1B;AAAA,QACH;AAAA,MACF;AAIE,UAAA;AACF,cAAMvD,EAAe;AAAA,UACnB,YAAA4B;AAAA,UACA,iBAAAwB;AAAA,QAAA,CACD;AAAA,cACa;AACd,QAAAxC,EAAM,MAAM,2BAA2B;AAAA,MAAA;AAAA,IAE3C;AAAA,IACA;AAAA,MACEnB;AAAA,MACAO;AAAA,MACAJ;AAAA,MACAC;AAAA,MACAL;AAAA,IAAA;AAAA,EAEJ;AAEO,SAAA,EAAE,gBAAgBU,GAAsB,mBAAAoC,EAAkB;AACnE;"}
|