@ynput/ayon-frontend-shared 0.2.37 → 0.2.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +67 -66
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +182 -167
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Views.cjs.js.map +1 -1
- package/dist/Views.es.js.map +1 -1
- package/dist/_virtual/index.cjs10.js +1 -1
- package/dist/_virtual/index.cjs11.js +1 -1
- package/dist/_virtual/index.cjs12.js +1 -1
- package/dist/_virtual/index.es10.js +3 -3
- package/dist/_virtual/index.es11.js +5 -5
- package/dist/_virtual/index.es12.js +5 -5
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +107 -106
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +135 -133
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +1 -1
- package/dist/context.es.js +15 -12
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +56 -55
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -1
- package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/project/getProject.es.js +7 -1
- package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +73 -67
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +131 -114
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +61 -50
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +70 -69
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +3 -2
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +106 -106
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +53 -52
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +58 -46
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +5 -4
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +44 -43
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +81 -80
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +43 -42
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +2 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +263 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +2 -2
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +65 -64
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +139 -142
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +49 -48
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +48 -47
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.es.js +19 -27
- package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +221 -211
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +23 -22
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +47 -46
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +8 -7
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +6 -6
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +108 -112
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +22 -23
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +48 -47
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +3 -2
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +49 -48
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +164 -166
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +57 -56
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +103 -97
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +87 -86
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +18 -17
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js +25 -22
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +44 -43
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +48 -47
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +48 -47
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +48 -47
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +44 -46
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +4 -3
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +110 -109
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +12 -11
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +43 -43
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +11 -9
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +333 -333
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +52 -51
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +42 -41
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +52 -51
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +50 -49
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +235 -214
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +45 -40
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +160 -156
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +59 -58
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +10 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +65 -66
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +111 -112
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +57 -57
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +50 -49
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +59 -53
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +15 -20
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +49 -48
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +46 -45
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +50 -49
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +51 -50
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +66 -65
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +55 -54
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +130 -116
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +57 -56
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +26 -34
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +108 -220
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +63 -62
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +46 -45
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +58 -62
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +114 -113
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +48 -47
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +3 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +3 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +92 -87
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +5 -4
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +7 -6
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js +2 -0
- package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -0
- package/dist/shared/src/context/ProjectContext.es.js +182 -0
- package/dist/shared/src/context/ProjectContext.es.js.map +1 -0
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +47 -46
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.es.js +6 -5
- package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +3 -2
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/versionUploadHelpers.cjs.js +1 -1
- package/dist/shared/src/util/versionUploadHelpers.cjs.js.map +1 -1
- package/dist/shared/src/util/versionUploadHelpers.es.js +24 -34
- package/dist/shared/src/util/versionUploadHelpers.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.es.js +3 -2
- package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +6 -5
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js +3 -2
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
- package/dist/types/api/generated/views.d.ts +13 -21
- package/dist/types/api/queries/actions/getActions.d.ts +6 -6
- package/dist/types/api/queries/activities/getActivities.d.ts +8 -8
- package/dist/types/api/queries/activities/getCategories.d.ts +2 -2
- package/dist/types/api/queries/activities/getMentions.d.ts +2 -2
- package/dist/types/api/queries/addons/getAddons.d.ts +8 -8
- package/dist/types/api/queries/attributes/getAttributes.d.ts +4 -4
- package/dist/types/api/queries/authentication/getAuthentication.d.ts +2 -2
- package/dist/types/api/queries/cloud/cloud.d.ts +4 -4
- package/dist/types/api/queries/entities/getEntity.d.ts +10 -10
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +4 -4
- package/dist/types/api/queries/entityLists/getLists.d.ts +188 -188
- package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +2 -2
- package/dist/types/api/queries/entityLists/listFolders.d.ts +2 -2
- package/dist/types/api/queries/folders/getFolders.d.ts +4 -4
- package/dist/types/api/queries/grouping/getGrouping.d.ts +2 -2
- package/dist/types/api/queries/links/getEntityLinks.d.ts +2 -2
- package/dist/types/api/queries/overview/getOverview.d.ts +10 -10
- package/dist/types/api/queries/permissions/getPermissions.d.ts +4 -4
- package/dist/types/api/queries/project/getProject.d.ts +190 -6
- package/dist/types/api/queries/review/getReview.d.ts +6 -6
- package/dist/types/api/queries/share/share.d.ts +2 -2
- package/dist/types/api/queries/system/getSystem.d.ts +6 -6
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +11 -8
- package/dist/types/api/queries/users/getUsers.d.ts +20 -20
- package/dist/types/api/queries/users/guests.d.ts +2 -2
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +9 -6
- package/dist/types/api/queries/versions/getVersionsProductsUtils.d.ts +5 -5
- package/dist/types/api/queries/versions/updateVersions.d.ts +2 -2
- package/dist/types/api/queries/views/getViews.d.ts +8 -8
- package/dist/types/api/queries/watchers/getWatchers.d.ts +2 -2
- package/dist/types/components/DetailsPanelDetails/hooks/index.d.ts +0 -1
- package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +29 -0
- package/dist/types/components/RemotePage/index.d.ts +1 -0
- package/dist/types/components/ReviewablesList/getGroupedReviewables.d.ts +1 -2
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -0
- package/dist/types/components/index.d.ts +31 -30
- package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +3 -2
- package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +4 -2
- package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +0 -5
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -4
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -7
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +2 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.d.ts +1 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +5 -3
- package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +3 -2
- package/dist/types/containers/Views/index.d.ts +1 -1
- package/dist/types/context/AddonProjectContext.d.ts +9 -14
- package/dist/types/context/ProjectContext.d.ts +33 -0
- package/dist/types/context/index.d.ts +1 -0
- package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
- package/dist/types/util/index.d.ts +0 -2
- package/dist/types/util/versionUploadHelpers.d.ts +0 -1
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +55 -58
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +0 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +0 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +0 -113
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +0 -1
- package/dist/shared/src/util/productTypes.cjs.js +0 -2
- package/dist/shared/src/util/productTypes.cjs.js.map +0 -1
- package/dist/shared/src/util/productTypes.es.js +0 -25
- package/dist/shared/src/util/productTypes.es.js.map +0 -1
- package/dist/types/components/DetailsPanelDetails/hooks/useEntityData.d.ts +0 -12
- package/dist/types/util/productTypes.d.ts +0 -8
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=require("../../../../../_virtual/jsx-runtime.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");const F=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");const u=require("react"),E=require("../ViewsMenu/ViewsMenu.cjs.js"),S=require("@ynput/ayon-react-components"),G=require("../utils/generateWorkingView.cjs.js"),y=require("react-toastify"),K=require("../../../hooks/useLoadModule.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("lodash");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");const N=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const A=require("../utils/getCustomViewsFallback.cjs.js"),_="_working_",Q=({viewsList:d,workingView:q,viewType:n,projectName:w,currentUser:o,useWorkingView:m,editingViewId:g,collapsed:t,setCollapsed:V,onSelect:a,onEdit:R,onSave:W,onResetWorkingView:l,selectedId:c})=>{const{powerLicense:x}=N.usePowerpack(),[h]=F.useCreateViewMutation(),D=u.useMemo(()=>d.map(e=>({...e,isOwner:e.owner===(o==null?void 0:o.name),highlighted:g===e.id?"save":void 0})),[d,o,g]),L={id:_,label:m?"Personal view":"Working view",startContent:m&&B.jsxRuntimeExports.jsx(S.Icon,{icon:"person"}),isEditable:!1},f=u.useCallback(async()=>{let e=q==null?void 0:q.id;if(!q)try{console.warn("No working view found, creating a new one");const r=G.generateWorkingView();await h({payload:r,viewType:n,projectName:w}).unwrap(),e=r.id}catch(r){y.toast.error(`Failed to create working view: ${r}`)}a(e)},[q,n,h,w,a]),P=async e=>{try{await W(e),a(e)}catch(r){y.toast.error(r)}},[O,{isLoading:T}]=K.useLoadModule({addon:"powerpack",remote:"views",module:"getCustomViews",fallback:A.getCustomViewsFallback,skip:!n||!x}),{myViews:p,sharedViews:I,allPrivateViews:v}=O({viewsList:D,onEdit:R,onSelect:a,onSave:P}),k=u.useCallback(e=>{V({...t,[e]:!t[e]})},[t,V]),C=u.useMemo(()=>[{id:"myViews",title:"My views",items:p},{id:"sharedViews",title:"Shared views",items:I},{id:"allPrivateViews",title:"All private views",items:v}],[p,I,v]),M=u.useMemo(()=>({...L,onClick:f,isEditable:!!l,onResetView:l}),[f,l]);return u.useMemo(()=>{const e=[M],r=C.filter(i=>{var s;return(((s=i.items)==null?void 0:s.length)||0)>0});return r.length>0&&e.push(E.VIEW_DIVIDER),r.forEach(i=>{const s=!!t[i.id];if(e.push({type:"section",id:i.id,title:i.title,collapsed:s,onToggle:()=>k(i.id)}),!s)e.push(...i.items);else if(c){const b=i.items.find(j=>j.id===c);b&&e.push(b)}}),r.length>0&&e.push(E.VIEW_DIVIDER),e},[M,C,t,k,c])};exports.WORKING_VIEW_ID=_;exports.default=Q;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=require("../../../../../_virtual/jsx-runtime.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");const F=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");const u=require("react"),E=require("../ViewsMenu/ViewsMenu.cjs.js"),S=require("@ynput/ayon-react-components"),G=require("../utils/generateWorkingView.cjs.js"),y=require("react-toastify"),K=require("../../../hooks/useLoadModule.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("lodash");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");const N=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const A=require("../utils/getCustomViewsFallback.cjs.js"),_="_working_",Q=({viewsList:d,workingView:q,viewType:n,projectName:w,currentUser:o,useWorkingView:m,editingViewId:g,collapsed:t,setCollapsed:V,onSelect:a,onEdit:R,onSave:W,onResetWorkingView:l,selectedId:c})=>{const{powerLicense:x}=N.usePowerpack(),[h]=F.useCreateViewMutation(),D=u.useMemo(()=>d.map(e=>({...e,isOwner:e.owner===(o==null?void 0:o.name),highlighted:g===e.id?"save":void 0})),[d,o,g]),L={id:_,label:m?"Personal view":"Working view",startContent:m&&B.jsxRuntimeExports.jsx(S.Icon,{icon:"person"}),isEditable:!1},f=u.useCallback(async()=>{let e=q==null?void 0:q.id;if(!q)try{console.warn("No working view found, creating a new one");const r=G.generateWorkingView();await h({payload:r,viewType:n,projectName:w}).unwrap(),e=r.id}catch(r){y.toast.error(`Failed to create working view: ${r}`)}a(e)},[q,n,h,w,a]),P=async e=>{try{await W(e),a(e)}catch(r){y.toast.error(r)}},[O,{isLoading:T}]=K.useLoadModule({addon:"powerpack",remote:"views",module:"getCustomViews",fallback:A.getCustomViewsFallback,skip:!n||!x}),{myViews:p,sharedViews:I,allPrivateViews:v}=O({viewsList:D,onEdit:R,onSelect:a,onSave:P}),k=u.useCallback(e=>{V({...t,[e]:!t[e]})},[t,V]),C=u.useMemo(()=>[{id:"myViews",title:"My views",items:p},{id:"sharedViews",title:"Shared views",items:I},{id:"allPrivateViews",title:"All private views",items:v}],[p,I,v]),M=u.useMemo(()=>({...L,onClick:f,isEditable:!!l,onResetView:l}),[f,l]);return u.useMemo(()=>{const e=[M],r=C.filter(i=>{var s;return(((s=i.items)==null?void 0:s.length)||0)>0});return r.length>0&&e.push(E.VIEW_DIVIDER),r.forEach(i=>{const s=!!t[i.id];if(e.push({type:"section",id:i.id,title:i.title,collapsed:s,onToggle:()=>k(i.id)}),!s)e.push(...i.items);else if(c){const b=i.items.find(j=>j.id===c);b&&e.push(b)}}),r.length>0&&e.push(E.VIEW_DIVIDER),e},[M,C,t,k,c])};exports.WORKING_VIEW_ID=_;exports.default=Q;
|
|
2
2
|
//# sourceMappingURL=useBuildViewMenuItems.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBuildViewMenuItems.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import { useCreateViewMutation, UserModel, ViewListItemModel } from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule, useLocalStorage } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { usePowerpack } from '@shared/context'\nimport { CollapsedViewState } from '../context/ViewsContext'\n\n// constants\nexport const WORKING_VIEW_ID = '_working_' as const\nexport const NEW_VIEW_ID = '_new_view_' as const\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: ViewListItemModel\n viewType?: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n selectedId?: string\n collapsed: CollapsedViewState\n setCollapsed: (state: CollapsedViewState) => void\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n onResetWorkingView?: () => void\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n collapsed,\n setCollapsed,\n onSelect,\n onEdit,\n onSave,\n onResetWorkingView,\n selectedId,\n}: Props): ViewMenuItem[] => {\n const { powerLicense } = usePowerpack()\n\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? 'Personal view' : 'Working view',\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn('No working view found, creating a new one')\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working view: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType || !powerLicense,\n })\n\n const { myViews, sharedViews, allPrivateViews } = getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n })\n\n const toggleSection = useCallback(\n (id: string) => {\n setCollapsed({ ...collapsed, [id]: !collapsed[id] })\n },\n [collapsed, setCollapsed],\n )\n\n const sections: Array<{ id: string; title: string; items: ViewItem[] }> = useMemo(() => {\n return [\n { id: 'myViews', title: 'My views', items: myViews as ViewItem[] },\n { id: 'sharedViews', title: 'Shared views', items: sharedViews as ViewItem[] },\n { id: 'allPrivateViews', title: 'All private views', items: allPrivateViews as ViewItem[] },\n ]\n }, [myViews, sharedViews, allPrivateViews])\n\n const workingViewItem: ViewMenuItem = useMemo(\n () => ({\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }),\n [handleWorkingViewChange, onResetWorkingView],\n )\n\n // Build list with headers after computing items, omit sections with no items, and hide items when collapsed\n const viewItems: ViewMenuItem[] = useMemo(() => {\n const result: ViewMenuItem[] = [workingViewItem]\n\n // Add divider only if any section exists\n const visibleSections = sections.filter((s) => (s.items?.length || 0) > 0)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n visibleSections.forEach((section) => {\n const isCollapsed = !!collapsed[section.id]\n result.push({\n type: 'section',\n id: section.id,\n title: section.title,\n collapsed: isCollapsed,\n onToggle: () => toggleSection(section.id),\n })\n if (!isCollapsed) {\n result.push(...section.items)\n } else if (selectedId) {\n const selectedItem = section.items.find((i) => i.id === selectedId)\n if (selectedItem) result.push(selectedItem)\n }\n })\n\n // Add a closing divider after all sections (only if sections exist)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n return result\n }, [workingViewItem, sections, collapsed, toggleSection, selectedId])\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["WORKING_VIEW_ID","useBuildViewMenuItems","viewsList","workingView","viewType","projectName","currentUser","useWorkingView","editingViewId","collapsed","setCollapsed","onSelect","onEdit","onSave","onResetWorkingView","selectedId","powerLicense","usePowerpack","createView","useCreateViewMutation","extendedViewsList","useMemo","view","workingBaseView","jsx","Icon","handleWorkingViewChange","useCallback","workingViewId","generateWorkingView","error","toast","handleEditView","viewId","getCustomViews","isLoadingQueries","useLoadModule","getCustomViewsFallback","myViews","sharedViews","allPrivateViews","toggleSection","id","sections","workingViewItem","result","visibleSections","s","_a","VIEW_DIVIDER","section","isCollapsed","selectedItem","i"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useBuildViewMenuItems.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import { useCreateViewMutation, UserModel, ViewListItemModel } from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule, useLocalStorage } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { usePowerpack } from '@shared/context'\nimport { CollapsedViewState } from '../context/ViewsContext'\n\n// constants\nexport const WORKING_VIEW_ID = '_working_' as const\nexport const NEW_VIEW_ID = '_new_view_' as const\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: ViewListItemModel\n viewType?: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n selectedId?: string\n collapsed: CollapsedViewState\n setCollapsed: (state: CollapsedViewState) => void\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n onResetWorkingView?: () => void\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n collapsed,\n setCollapsed,\n onSelect,\n onEdit,\n onSave,\n onResetWorkingView,\n selectedId,\n}: Props): ViewMenuItem[] => {\n const { powerLicense } = usePowerpack()\n\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? 'Personal view' : 'Working view',\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn('No working view found, creating a new one')\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working view: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType || !powerLicense,\n })\n\n const { myViews, sharedViews, allPrivateViews } = getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n })\n\n const toggleSection = useCallback(\n (id: string) => {\n setCollapsed({ ...collapsed, [id]: !collapsed[id] })\n },\n [collapsed, setCollapsed],\n )\n\n const sections: Array<{ id: string; title: string; items: ViewItem[] }> = useMemo(() => {\n return [\n { id: 'myViews', title: 'My views', items: myViews as ViewItem[] },\n { id: 'sharedViews', title: 'Shared views', items: sharedViews as ViewItem[] },\n { id: 'allPrivateViews', title: 'All private views', items: allPrivateViews as ViewItem[] },\n ]\n }, [myViews, sharedViews, allPrivateViews])\n\n const workingViewItem: ViewMenuItem = useMemo(\n () => ({\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }),\n [handleWorkingViewChange, onResetWorkingView],\n )\n\n // Build list with headers after computing items, omit sections with no items, and hide items when collapsed\n const viewItems: ViewMenuItem[] = useMemo(() => {\n const result: ViewMenuItem[] = [workingViewItem]\n\n // Add divider only if any section exists\n const visibleSections = sections.filter((s) => (s.items?.length || 0) > 0)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n visibleSections.forEach((section) => {\n const isCollapsed = !!collapsed[section.id]\n result.push({\n type: 'section',\n id: section.id,\n title: section.title,\n collapsed: isCollapsed,\n onToggle: () => toggleSection(section.id),\n })\n if (!isCollapsed) {\n result.push(...section.items)\n } else if (selectedId) {\n const selectedItem = section.items.find((i) => i.id === selectedId)\n if (selectedItem) result.push(selectedItem)\n }\n })\n\n // Add a closing divider after all sections (only if sections exist)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n return result\n }, [workingViewItem, sections, collapsed, toggleSection, selectedId])\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["WORKING_VIEW_ID","useBuildViewMenuItems","viewsList","workingView","viewType","projectName","currentUser","useWorkingView","editingViewId","collapsed","setCollapsed","onSelect","onEdit","onSave","onResetWorkingView","selectedId","powerLicense","usePowerpack","createView","useCreateViewMutation","extendedViewsList","useMemo","view","workingBaseView","jsx","Icon","handleWorkingViewChange","useCallback","workingViewId","generateWorkingView","error","toast","handleEditView","viewId","getCustomViews","isLoadingQueries","useLoadModule","getCustomViewsFallback","myViews","sharedViews","allPrivateViews","toggleSection","id","sections","workingViewItem","result","visibleSections","s","_a","VIEW_DIVIDER","section","isCollapsed","selectedItem","i"],"mappings":"s6LAaaA,EAAkB,YAwBzBC,EAAwB,CAAC,CAC7B,UAAAC,EACA,YAAAC,EACA,SAAAC,EACA,YAAAC,EACA,YAAAC,EACA,eAAAC,EACA,cAAAC,EACA,UAAAC,EACA,aAAAC,EACA,SAAAC,EACA,OAAAC,EACA,OAAAC,EACA,mBAAAC,EACA,WAAAC,CACF,IAA6B,CACrB,KAAA,CAAE,aAAAC,CAAa,EAAIC,eAAa,EAGhC,CAACC,CAAU,EAAIC,wBAAsB,EAErCC,EAAiDC,EAAA,QACrD,IACEnB,EAAU,IAAKoB,IAAU,CACvB,GAAGA,EACH,QAASA,EAAK,SAAUhB,GAAA,YAAAA,EAAa,MACrC,YAAaE,IAAkBc,EAAK,GAAK,OAAS,MAAA,EAClD,EACJ,CAACpB,EAAWI,EAAaE,CAAa,CACxC,EAEMe,EAA4B,CAChC,GAAIvB,EACJ,MAAOO,EAAiB,gBAAkB,eAC1C,aAAcA,GAAmBiB,EAAA,kBAAA,IAAAC,EAAA,KAAA,CAAK,KAAK,SAAS,EACpD,WAAY,EACd,EAGMC,EAA0BC,EAAAA,YAAY,SAAY,CACtD,IAAIC,EAAgBzB,GAAA,YAAAA,EAAa,GACjC,GAAI,CAACA,EAEC,GAAA,CACF,QAAQ,KAAK,2CAA2C,EACxD,MAAMA,EAAc0B,EAAAA,oBAAoB,EACxC,MAAMX,EAAW,CACf,QAASf,EACT,SAAAC,EACA,YAAAC,CACD,CAAA,EAAE,OAAO,EAEVuB,EAAgBzB,EAAY,SACrB2B,EAAY,CACbC,EAAAA,MAAA,MAAM,kCAAkCD,CAAK,EAAE,CAAA,CAIzDnB,EAASiB,CAAuB,CAAA,EAC/B,CAACzB,EAAaC,EAAUc,EAAYb,EAAaM,CAAQ,CAAC,EAEvDqB,EAAiB,MAAOC,GAAmB,CAE3C,GAAA,CACF,MAAMpB,EAAOoB,CAAM,EACnBtB,EAASsB,CAAM,QACRH,EAAY,CACnBC,EAAA,MAAM,MAAMD,CAAK,CAAA,CAErB,EAEM,CAACI,EAAgB,CAAE,UAAWC,CAAkB,CAAA,EAAIC,EAAAA,cAAc,CACtE,MAAO,YACP,OAAQ,QACR,OAAQ,iBACR,SAAUC,EAAA,uBAEV,KAAM,CAACjC,GAAY,CAACY,CAAA,CACrB,EAEK,CAAE,QAAAsB,EAAS,YAAAC,EAAa,gBAAAC,CAAA,EAAoBN,EAAe,CAC/D,UAAWd,EACX,OAAAR,EACA,SAAAD,EACA,OAAQqB,CAAA,CACT,EAEKS,EAAgBd,EAAA,YACnBe,GAAe,CACDhC,EAAA,CAAE,GAAGD,EAAW,CAACiC,CAAE,EAAG,CAACjC,EAAUiC,CAAE,EAAG,CACrD,EACA,CAACjC,EAAWC,CAAY,CAC1B,EAEMiC,EAAoEtB,EAAAA,QAAQ,IACzE,CACL,CAAE,GAAI,UAAW,MAAO,WAAY,MAAOiB,CAAsB,EACjE,CAAE,GAAI,cAAe,MAAO,eAAgB,MAAOC,CAA0B,EAC7E,CAAE,GAAI,kBAAmB,MAAO,oBAAqB,MAAOC,CAA8B,CAC5F,EACC,CAACF,EAASC,EAAaC,CAAe,CAAC,EAEpCI,EAAgCvB,EAAA,QACpC,KAAO,CACL,GAAGE,EACH,QAASG,EAET,WAAY,EAAQZ,EACpB,YAAaA,CAAA,GAEf,CAACY,EAAyBZ,CAAkB,CAC9C,EAiCO,OA9B2BO,EAAAA,QAAQ,IAAM,CACxC,MAAAwB,EAAyB,CAACD,CAAe,EAGzCE,EAAkBH,EAAS,OAAQI,UAAO,SAAAC,EAAAD,EAAE,QAAF,YAAAC,EAAS,SAAU,GAAK,EAAC,EACzE,OAAIF,EAAgB,OAAS,GAAGD,EAAO,KAAKI,EAAAA,YAAY,EAExCH,EAAA,QAASI,GAAY,CACnC,MAAMC,EAAc,CAAC,CAAC1C,EAAUyC,EAAQ,EAAE,EAQ1C,GAPAL,EAAO,KAAK,CACV,KAAM,UACN,GAAIK,EAAQ,GACZ,MAAOA,EAAQ,MACf,UAAWC,EACX,SAAU,IAAMV,EAAcS,EAAQ,EAAE,CAAA,CACzC,EACG,CAACC,EACIN,EAAA,KAAK,GAAGK,EAAQ,KAAK,UACnBnC,EAAY,CACf,MAAAqC,EAAeF,EAAQ,MAAM,KAAMG,GAAMA,EAAE,KAAOtC,CAAU,EAC9DqC,GAAqBP,EAAA,KAAKO,CAAY,CAAA,CAC5C,CACD,EAGGN,EAAgB,OAAS,GAAGD,EAAO,KAAKI,EAAAA,YAAY,EAEjDJ,CAAA,EACN,CAACD,EAAiBD,EAAUlC,EAAWgC,EAAe1B,CAAU,CAAC,CAGtE"}
|
|
@@ -104,11 +104,12 @@ import "../../../context/MoveEntityContext.es.js";
|
|
|
104
104
|
import "../../../context/MenuContext.es.js";
|
|
105
105
|
import "../../../context/WebsocketContext.es.js";
|
|
106
106
|
import "../../../context/GlobalContext.es.js";
|
|
107
|
+
import "../../../context/ProjectContext.es.js";
|
|
107
108
|
import "react-redux";
|
|
108
109
|
import "custom-protocol-check";
|
|
109
110
|
import "../../ProjectTreeTable/components/GroupSettingsFallback.es.js";
|
|
110
111
|
import { getCustomViewsFallback as S } from "../utils/getCustomViewsFallback.es.js";
|
|
111
|
-
const $ = "_working_",
|
|
112
|
+
const $ = "_working_", Yi = ({
|
|
112
113
|
viewsList: w,
|
|
113
114
|
workingView: r,
|
|
114
115
|
viewType: n,
|
|
@@ -212,6 +213,6 @@ const $ = "_working_", Xi = ({
|
|
|
212
213
|
};
|
|
213
214
|
export {
|
|
214
215
|
$ as WORKING_VIEW_ID,
|
|
215
|
-
|
|
216
|
+
Yi as default
|
|
216
217
|
};
|
|
217
218
|
//# sourceMappingURL=useBuildViewMenuItems.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBuildViewMenuItems.es.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import { useCreateViewMutation, UserModel, ViewListItemModel } from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule, useLocalStorage } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { usePowerpack } from '@shared/context'\nimport { CollapsedViewState } from '../context/ViewsContext'\n\n// constants\nexport const WORKING_VIEW_ID = '_working_' as const\nexport const NEW_VIEW_ID = '_new_view_' as const\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: ViewListItemModel\n viewType?: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n selectedId?: string\n collapsed: CollapsedViewState\n setCollapsed: (state: CollapsedViewState) => void\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n onResetWorkingView?: () => void\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n collapsed,\n setCollapsed,\n onSelect,\n onEdit,\n onSave,\n onResetWorkingView,\n selectedId,\n}: Props): ViewMenuItem[] => {\n const { powerLicense } = usePowerpack()\n\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? 'Personal view' : 'Working view',\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn('No working view found, creating a new one')\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working view: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType || !powerLicense,\n })\n\n const { myViews, sharedViews, allPrivateViews } = getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n })\n\n const toggleSection = useCallback(\n (id: string) => {\n setCollapsed({ ...collapsed, [id]: !collapsed[id] })\n },\n [collapsed, setCollapsed],\n )\n\n const sections: Array<{ id: string; title: string; items: ViewItem[] }> = useMemo(() => {\n return [\n { id: 'myViews', title: 'My views', items: myViews as ViewItem[] },\n { id: 'sharedViews', title: 'Shared views', items: sharedViews as ViewItem[] },\n { id: 'allPrivateViews', title: 'All private views', items: allPrivateViews as ViewItem[] },\n ]\n }, [myViews, sharedViews, allPrivateViews])\n\n const workingViewItem: ViewMenuItem = useMemo(\n () => ({\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }),\n [handleWorkingViewChange, onResetWorkingView],\n )\n\n // Build list with headers after computing items, omit sections with no items, and hide items when collapsed\n const viewItems: ViewMenuItem[] = useMemo(() => {\n const result: ViewMenuItem[] = [workingViewItem]\n\n // Add divider only if any section exists\n const visibleSections = sections.filter((s) => (s.items?.length || 0) > 0)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n visibleSections.forEach((section) => {\n const isCollapsed = !!collapsed[section.id]\n result.push({\n type: 'section',\n id: section.id,\n title: section.title,\n collapsed: isCollapsed,\n onToggle: () => toggleSection(section.id),\n })\n if (!isCollapsed) {\n result.push(...section.items)\n } else if (selectedId) {\n const selectedItem = section.items.find((i) => i.id === selectedId)\n if (selectedItem) result.push(selectedItem)\n }\n })\n\n // Add a closing divider after all sections (only if sections exist)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n return result\n }, [workingViewItem, sections, collapsed, toggleSection, selectedId])\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["WORKING_VIEW_ID","useBuildViewMenuItems","viewsList","workingView","viewType","projectName","currentUser","useWorkingView","editingViewId","collapsed","setCollapsed","onSelect","onEdit","onSave","onResetWorkingView","selectedId","powerLicense","usePowerpack","createView","useCreateViewMutation","extendedViewsList","useMemo","view","workingBaseView","jsx","Icon","handleWorkingViewChange","useCallback","workingViewId","generateWorkingView","error","toast","handleEditView","viewId","getCustomViews","isLoadingQueries","useLoadModule","getCustomViewsFallback","myViews","sharedViews","allPrivateViews","toggleSection","id","sections","workingViewItem","result","visibleSections","s","_a","VIEW_DIVIDER","section","isCollapsed","selectedItem","i"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useBuildViewMenuItems.es.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import { useCreateViewMutation, UserModel, ViewListItemModel } from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule, useLocalStorage } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { usePowerpack } from '@shared/context'\nimport { CollapsedViewState } from '../context/ViewsContext'\n\n// constants\nexport const WORKING_VIEW_ID = '_working_' as const\nexport const NEW_VIEW_ID = '_new_view_' as const\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: ViewListItemModel\n viewType?: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n selectedId?: string\n collapsed: CollapsedViewState\n setCollapsed: (state: CollapsedViewState) => void\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n onResetWorkingView?: () => void\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n collapsed,\n setCollapsed,\n onSelect,\n onEdit,\n onSave,\n onResetWorkingView,\n selectedId,\n}: Props): ViewMenuItem[] => {\n const { powerLicense } = usePowerpack()\n\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? 'Personal view' : 'Working view',\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn('No working view found, creating a new one')\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working view: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType || !powerLicense,\n })\n\n const { myViews, sharedViews, allPrivateViews } = getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n })\n\n const toggleSection = useCallback(\n (id: string) => {\n setCollapsed({ ...collapsed, [id]: !collapsed[id] })\n },\n [collapsed, setCollapsed],\n )\n\n const sections: Array<{ id: string; title: string; items: ViewItem[] }> = useMemo(() => {\n return [\n { id: 'myViews', title: 'My views', items: myViews as ViewItem[] },\n { id: 'sharedViews', title: 'Shared views', items: sharedViews as ViewItem[] },\n { id: 'allPrivateViews', title: 'All private views', items: allPrivateViews as ViewItem[] },\n ]\n }, [myViews, sharedViews, allPrivateViews])\n\n const workingViewItem: ViewMenuItem = useMemo(\n () => ({\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }),\n [handleWorkingViewChange, onResetWorkingView],\n )\n\n // Build list with headers after computing items, omit sections with no items, and hide items when collapsed\n const viewItems: ViewMenuItem[] = useMemo(() => {\n const result: ViewMenuItem[] = [workingViewItem]\n\n // Add divider only if any section exists\n const visibleSections = sections.filter((s) => (s.items?.length || 0) > 0)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n visibleSections.forEach((section) => {\n const isCollapsed = !!collapsed[section.id]\n result.push({\n type: 'section',\n id: section.id,\n title: section.title,\n collapsed: isCollapsed,\n onToggle: () => toggleSection(section.id),\n })\n if (!isCollapsed) {\n result.push(...section.items)\n } else if (selectedId) {\n const selectedItem = section.items.find((i) => i.id === selectedId)\n if (selectedItem) result.push(selectedItem)\n }\n })\n\n // Add a closing divider after all sections (only if sections exist)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n return result\n }, [workingViewItem, sections, collapsed, toggleSection, selectedId])\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["WORKING_VIEW_ID","useBuildViewMenuItems","viewsList","workingView","viewType","projectName","currentUser","useWorkingView","editingViewId","collapsed","setCollapsed","onSelect","onEdit","onSave","onResetWorkingView","selectedId","powerLicense","usePowerpack","createView","useCreateViewMutation","extendedViewsList","useMemo","view","workingBaseView","jsx","Icon","handleWorkingViewChange","useCallback","workingViewId","generateWorkingView","error","toast","handleEditView","viewId","getCustomViews","isLoadingQueries","useLoadModule","getCustomViewsFallback","myViews","sharedViews","allPrivateViews","toggleSection","id","sections","workingViewItem","result","visibleSections","s","_a","VIEW_DIVIDER","section","isCollapsed","selectedItem","i"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react");require("../../../../../_virtual/jsx-runtime.cjs.js");require("react-dom");const n=require("../context/ViewsContext.cjs.js");require("../Views.styled.cjs.js");require("clsx");require("../ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("lodash");const c=require("react-toastify");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("@ynput/ayon-react-components");require("../ViewsMenu/ViewsMenu.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");const w=({viewType:r,projectName:t,viewsList:o,sourceSettings:e,onUpdateView:s})=>({onSaveViewFromCurrent:a.useCallback(async i=>{if(!r)throw"viewType are required for saving a view from another view";if(!e)throw"sourceView is required for saving a view from another view";try{await s(i,{settings:e},n.isViewStudioScope(i,o)),c.toast.success("View settings saved")}catch(u){const q=typeof u=="string"?"Failed to save view settings: "+u:"Failed to save view settings";throw console.error(q),q}},[r,t,e])});exports.useSaveViewFromCurrent=w;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react");require("../../../../../_virtual/jsx-runtime.cjs.js");require("react-dom");const n=require("../context/ViewsContext.cjs.js");require("../Views.styled.cjs.js");require("clsx");require("../ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("lodash");const c=require("react-toastify");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("@ynput/ayon-react-components");require("../ViewsMenu/ViewsMenu.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");const w=({viewType:r,projectName:t,viewsList:o,sourceSettings:e,onUpdateView:s})=>({onSaveViewFromCurrent:a.useCallback(async i=>{if(!r)throw"viewType are required for saving a view from another view";if(!e)throw"sourceView is required for saving a view from another view";try{await s(i,{settings:e},n.isViewStudioScope(i,o)),c.toast.success("View settings saved")}catch(u){const q=typeof u=="string"?"Failed to save view settings: "+u:"Failed to save view settings";throw console.error(q),q}},[r,t,e])});exports.useSaveViewFromCurrent=w;
|
|
2
2
|
//# sourceMappingURL=useSaveViewFromCurrent.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSaveViewFromCurrent.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useSaveViewFromCurrent.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { isViewStudioScope, ViewData, ViewSettings, ViewType } from '..'\nimport { UseViewMutations } from './useViewsMutations'\nimport { ViewListItemModel } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n viewType?: ViewType\n projectName?: string\n viewsList: ViewListItemModel[]\n sourceSettings?: ViewSettings\n onUpdateView: UseViewMutations['onUpdateView']\n}\n\nexport const useSaveViewFromCurrent = ({\n viewType,\n projectName,\n viewsList,\n sourceSettings,\n onUpdateView,\n}: Props) => {\n // save the views settings from another views settings (uses update)\n const onSaveViewFromCurrent = useCallback(\n async (viewId: string) => {\n if (!viewType) {\n throw 'viewType are required for saving a view from another view'\n }\n\n // get the fromView settings\n if (!sourceSettings) {\n throw 'sourceView is required for saving a view from another view'\n }\n\n try {\n await onUpdateView(\n viewId,\n {\n settings: sourceSettings,\n },\n isViewStudioScope(viewId, viewsList),\n )\n\n toast.success('View settings saved')\n } catch (error) {\n const errorMessage =\n typeof error === 'string'\n ? 'Failed to save view settings: ' + error\n : 'Failed to save view settings'\n console.error(errorMessage)\n throw errorMessage\n }\n },\n [viewType, projectName, sourceSettings],\n )\n\n return { onSaveViewFromCurrent }\n}\n"],"names":["useSaveViewFromCurrent","viewType","projectName","viewsList","sourceSettings","onUpdateView","useCallback","viewId","isViewStudioScope","toast","error","errorMessage"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSaveViewFromCurrent.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useSaveViewFromCurrent.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { isViewStudioScope, ViewData, ViewSettings, ViewType } from '..'\nimport { UseViewMutations } from './useViewsMutations'\nimport { ViewListItemModel } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n viewType?: ViewType\n projectName?: string\n viewsList: ViewListItemModel[]\n sourceSettings?: ViewSettings\n onUpdateView: UseViewMutations['onUpdateView']\n}\n\nexport const useSaveViewFromCurrent = ({\n viewType,\n projectName,\n viewsList,\n sourceSettings,\n onUpdateView,\n}: Props) => {\n // save the views settings from another views settings (uses update)\n const onSaveViewFromCurrent = useCallback(\n async (viewId: string) => {\n if (!viewType) {\n throw 'viewType are required for saving a view from another view'\n }\n\n // get the fromView settings\n if (!sourceSettings) {\n throw 'sourceView is required for saving a view from another view'\n }\n\n try {\n await onUpdateView(\n viewId,\n {\n settings: sourceSettings,\n },\n isViewStudioScope(viewId, viewsList),\n )\n\n toast.success('View settings saved')\n } catch (error) {\n const errorMessage =\n typeof error === 'string'\n ? 'Failed to save view settings: ' + error\n : 'Failed to save view settings'\n console.error(errorMessage)\n throw errorMessage\n }\n },\n [viewType, projectName, sourceSettings],\n )\n\n return { onSaveViewFromCurrent }\n}\n"],"names":["useSaveViewFromCurrent","viewType","projectName","viewsList","sourceSettings","onUpdateView","useCallback","viewId","isViewStudioScope","toast","error","errorMessage"],"mappings":"86LAcO,MAAMA,EAAyB,CAAC,CACrC,SAAAC,EACA,YAAAC,EACA,UAAAC,EACA,eAAAC,EACA,aAAAC,CACF,KAmCS,CAAE,sBAjCqBC,EAAA,YAC5B,MAAOC,GAAmB,CACxB,GAAI,CAACN,EACG,KAAA,4DAIR,GAAI,CAACG,EACG,KAAA,6DAGJ,GAAA,CACI,MAAAC,EACJE,EACA,CACE,SAAUH,CACZ,EACAI,EAAA,kBAAkBD,EAAQJ,CAAS,CACrC,EAEAM,EAAA,MAAM,QAAQ,qBAAqB,QAC5BC,EAAO,CACd,MAAMC,EACJ,OAAOD,GAAU,SACb,iCAAmCA,EACnC,+BACN,cAAQ,MAAMC,CAAY,EACpBA,CAAA,CAEV,EACA,CAACV,EAAUC,EAAaE,CAAc,CACxC,CAE+B"}
|
|
@@ -104,6 +104,7 @@ import "../../../context/MoveEntityContext.es.js";
|
|
|
104
104
|
import "../../../context/MenuContext.es.js";
|
|
105
105
|
import "../../../context/WebsocketContext.es.js";
|
|
106
106
|
import "../../../context/GlobalContext.es.js";
|
|
107
|
+
import "../../../context/ProjectContext.es.js";
|
|
107
108
|
import "react-redux";
|
|
108
109
|
import "custom-protocol-check";
|
|
109
110
|
import "../../ProjectTreeTable/components/GroupSettingsFallback.es.js";
|
|
@@ -111,7 +112,7 @@ import "@ynput/ayon-react-components";
|
|
|
111
112
|
import "../ViewsMenu/ViewsMenu.es.js";
|
|
112
113
|
import "uuid";
|
|
113
114
|
import "../../../util/pubsub.es.js";
|
|
114
|
-
const
|
|
115
|
+
const lo = ({
|
|
115
116
|
viewType: o,
|
|
116
117
|
projectName: p,
|
|
117
118
|
viewsList: e,
|
|
@@ -139,6 +140,6 @@ const Vo = ({
|
|
|
139
140
|
[o, p, r]
|
|
140
141
|
) });
|
|
141
142
|
export {
|
|
142
|
-
|
|
143
|
+
lo as useSaveViewFromCurrent
|
|
143
144
|
};
|
|
144
145
|
//# sourceMappingURL=useSaveViewFromCurrent.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSaveViewFromCurrent.es.js","sources":["../../../../../../src/containers/Views/hooks/useSaveViewFromCurrent.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { isViewStudioScope, ViewData, ViewSettings, ViewType } from '..'\nimport { UseViewMutations } from './useViewsMutations'\nimport { ViewListItemModel } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n viewType?: ViewType\n projectName?: string\n viewsList: ViewListItemModel[]\n sourceSettings?: ViewSettings\n onUpdateView: UseViewMutations['onUpdateView']\n}\n\nexport const useSaveViewFromCurrent = ({\n viewType,\n projectName,\n viewsList,\n sourceSettings,\n onUpdateView,\n}: Props) => {\n // save the views settings from another views settings (uses update)\n const onSaveViewFromCurrent = useCallback(\n async (viewId: string) => {\n if (!viewType) {\n throw 'viewType are required for saving a view from another view'\n }\n\n // get the fromView settings\n if (!sourceSettings) {\n throw 'sourceView is required for saving a view from another view'\n }\n\n try {\n await onUpdateView(\n viewId,\n {\n settings: sourceSettings,\n },\n isViewStudioScope(viewId, viewsList),\n )\n\n toast.success('View settings saved')\n } catch (error) {\n const errorMessage =\n typeof error === 'string'\n ? 'Failed to save view settings: ' + error\n : 'Failed to save view settings'\n console.error(errorMessage)\n throw errorMessage\n }\n },\n [viewType, projectName, sourceSettings],\n )\n\n return { onSaveViewFromCurrent }\n}\n"],"names":["useSaveViewFromCurrent","viewType","projectName","viewsList","sourceSettings","onUpdateView","useCallback","viewId","isViewStudioScope","toast","error","errorMessage"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSaveViewFromCurrent.es.js","sources":["../../../../../../src/containers/Views/hooks/useSaveViewFromCurrent.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { isViewStudioScope, ViewData, ViewSettings, ViewType } from '..'\nimport { UseViewMutations } from './useViewsMutations'\nimport { ViewListItemModel } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n viewType?: ViewType\n projectName?: string\n viewsList: ViewListItemModel[]\n sourceSettings?: ViewSettings\n onUpdateView: UseViewMutations['onUpdateView']\n}\n\nexport const useSaveViewFromCurrent = ({\n viewType,\n projectName,\n viewsList,\n sourceSettings,\n onUpdateView,\n}: Props) => {\n // save the views settings from another views settings (uses update)\n const onSaveViewFromCurrent = useCallback(\n async (viewId: string) => {\n if (!viewType) {\n throw 'viewType are required for saving a view from another view'\n }\n\n // get the fromView settings\n if (!sourceSettings) {\n throw 'sourceView is required for saving a view from another view'\n }\n\n try {\n await onUpdateView(\n viewId,\n {\n settings: sourceSettings,\n },\n isViewStudioScope(viewId, viewsList),\n )\n\n toast.success('View settings saved')\n } catch (error) {\n const errorMessage =\n typeof error === 'string'\n ? 'Failed to save view settings: ' + error\n : 'Failed to save view settings'\n console.error(errorMessage)\n throw errorMessage\n }\n },\n [viewType, projectName, sourceSettings],\n )\n\n return { onSaveViewFromCurrent }\n}\n"],"names":["useSaveViewFromCurrent","viewType","projectName","viewsList","sourceSettings","onUpdateView","useCallback","viewId","isViewStudioScope","toast","error","errorMessage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAMA,KAAyB,CAAC;AAAA,EACrC,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAC;AACF,OAmCS,EAAE,uBAjCqBC;AAAA,EAC5B,OAAOC,MAAmB;AACxB,QAAI,CAACN;AACG,YAAA;AAIR,QAAI,CAACG;AACG,YAAA;AAGJ,QAAA;AACI,YAAAC;AAAA,QACJE;AAAA,QACA;AAAA,UACE,UAAUH;AAAA,QACZ;AAAA,QACAI,EAAkBD,GAAQJ,CAAS;AAAA,MACrC,GAEAM,EAAM,QAAQ,qBAAqB;AAAA,aAC5BC,GAAO;AACd,YAAMC,IACJ,OAAOD,KAAU,WACb,mCAAmCA,IACnC;AACN,oBAAQ,MAAMC,CAAY,GACpBA;AAAA,IAAA;AAAA,EAEV;AAAA,EACA,CAACV,GAAUC,GAAaE,CAAc;AACxC,EAE+B;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddonProjectContext.cjs.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["// NOT USED IN AYON-FRONTEND, ONLY IN ADDONS\n\nimport { ProjectModel, useGetProjectQuery, UserModel } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport
|
|
1
|
+
{"version":3,"file":"AddonProjectContext.cjs.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["// NOT USED IN AYON-FRONTEND, ONLY IN ADDONS\n\nimport { ProjectModel, useGetProjectQuery, UserModel } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport type { toast } from 'react-toastify'\nimport { useGlobalContext } from './GlobalContext'\nimport { RemotePageProps } from '@shared/components'\n\ntype ToastFunc = typeof toast\n\nexport interface RemoteAddonProjectProps extends RemotePageProps {}\n\nexport type RemoteAddonProjectComponent = FC<RemoteAddonProjectProps>\nexport type RemoteAddonProject = {\n id: string\n component: RemoteAddonProjectComponent\n name: string\n module: string\n viewType?: string // if the addon is using views\n slicer?: { fields: string[] }\n}\n\n// types for props passed to the provider\nexport interface AddonProjectContextValue extends RemoteAddonProjectProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonProjectContextType extends RemoteAddonProjectProps {\n project: ProjectModel | undefined\n user: UserModel | undefined\n toast: ToastFunc\n}\n\nconst AddonProjectContext = createContext<AddonProjectContextType | undefined>(undefined)\n\nexport const AddonProjectProvider = ({\n children,\n projectName,\n // utils\n toast,\n ...props\n}: AddonProjectContextValue) => {\n // get current project data\n const { data: project } = useGetProjectQuery(\n { projectName: projectName as string },\n { skip: !projectName },\n )\n\n const { user } = useGlobalContext()\n\n return (\n <AddonProjectContext.Provider\n value={{\n ...props,\n projectName,\n project,\n user,\n toast,\n }}\n >\n {children}\n </AddonProjectContext.Provider>\n )\n}\n\nexport const useAddonProjectContext = () => {\n const context = useContext(AddonProjectContext)\n if (!context) {\n throw new Error('useAddonProjectContext must be used within a AddonProjectContext')\n }\n return context\n}\n"],"names":["AddonProjectContext","createContext","AddonProjectProvider","children","projectName","toast","props","project","useGetProjectQuery","user","useGlobalContext","jsx","useAddonProjectContext","context","useContext"],"mappings":"6rIAkCMA,EAAsBC,gBAAmD,MAAS,EAE3EC,EAAuB,CAAC,CACnC,SAAAC,EACA,YAAAC,EAEA,MAAAC,EACA,GAAGC,CACL,IAAgC,CAExB,KAAA,CAAE,KAAMC,CAAA,EAAYC,EAAA,mBACxB,CAAE,YAAAJ,CAAmC,EACrC,CAAE,KAAM,CAACA,CAAY,CACvB,EAEM,CAAE,KAAAK,CAAK,EAAIC,mBAAiB,EAGhC,OAAAC,EAAA,kBAAA,IAACX,EAAoB,SAApB,CACC,MAAO,CACL,GAAGM,EACH,YAAAF,EACA,QAAAG,EACA,KAAAE,EACA,MAAAJ,CACF,EAEC,SAAAF,CAAA,CACH,CAEJ,EAEaS,EAAyB,IAAM,CACpC,MAAAC,EAAUC,aAAWd,CAAmB,EAC9C,GAAI,CAACa,EACG,MAAA,IAAI,MAAM,kEAAkE,EAE7E,OAAAA,CACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddonProjectContext.es.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["// NOT USED IN AYON-FRONTEND, ONLY IN ADDONS\n\nimport { ProjectModel, useGetProjectQuery, UserModel } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport
|
|
1
|
+
{"version":3,"file":"AddonProjectContext.es.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["// NOT USED IN AYON-FRONTEND, ONLY IN ADDONS\n\nimport { ProjectModel, useGetProjectQuery, UserModel } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport type { toast } from 'react-toastify'\nimport { useGlobalContext } from './GlobalContext'\nimport { RemotePageProps } from '@shared/components'\n\ntype ToastFunc = typeof toast\n\nexport interface RemoteAddonProjectProps extends RemotePageProps {}\n\nexport type RemoteAddonProjectComponent = FC<RemoteAddonProjectProps>\nexport type RemoteAddonProject = {\n id: string\n component: RemoteAddonProjectComponent\n name: string\n module: string\n viewType?: string // if the addon is using views\n slicer?: { fields: string[] }\n}\n\n// types for props passed to the provider\nexport interface AddonProjectContextValue extends RemoteAddonProjectProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonProjectContextType extends RemoteAddonProjectProps {\n project: ProjectModel | undefined\n user: UserModel | undefined\n toast: ToastFunc\n}\n\nconst AddonProjectContext = createContext<AddonProjectContextType | undefined>(undefined)\n\nexport const AddonProjectProvider = ({\n children,\n projectName,\n // utils\n toast,\n ...props\n}: AddonProjectContextValue) => {\n // get current project data\n const { data: project } = useGetProjectQuery(\n { projectName: projectName as string },\n { skip: !projectName },\n )\n\n const { user } = useGlobalContext()\n\n return (\n <AddonProjectContext.Provider\n value={{\n ...props,\n projectName,\n project,\n user,\n toast,\n }}\n >\n {children}\n </AddonProjectContext.Provider>\n )\n}\n\nexport const useAddonProjectContext = () => {\n const context = useContext(AddonProjectContext)\n if (!context) {\n throw new Error('useAddonProjectContext must be used within a AddonProjectContext')\n }\n return context\n}\n"],"names":["AddonProjectContext","createContext","AddonProjectProvider","children","projectName","toast","props","project","useGetProjectQuery","user","useGlobalContext","jsx","useAddonProjectContext","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAMA,IAAsBC,EAAmD,MAAS,GAE3EC,KAAuB,CAAC;AAAA,EACnC,UAAAC;AAAA,EACA,aAAAC;AAAA;AAAA,EAEA,OAAAC;AAAA,EACA,GAAGC;AACL,MAAgC;AAExB,QAAA,EAAE,MAAMC,EAAA,IAAYC;AAAA,IACxB,EAAE,aAAAJ,EAAmC;AAAA,IACrC,EAAE,MAAM,CAACA,EAAY;AAAA,EACvB,GAEM,EAAE,MAAAK,EAAK,IAAIC,EAAiB;AAGhC,SAAAC,gBAAAA,EAAA;AAAA,IAACX,EAAoB;AAAA,IAApB;AAAA,MACC,OAAO;AAAA,QACL,GAAGM;AAAA,QACH,aAAAF;AAAA,QACA,SAAAG;AAAA,QACA,MAAAE;AAAA,QACA,OAAAJ;AAAA,MACF;AAAA,MAEC,UAAAF;AAAA,IAAA;AAAA,EACH;AAEJ,GAEaS,KAAyB,MAAM;AACpC,QAAAC,IAAUC,EAAWd,CAAmB;AAC9C,MAAI,CAACa;AACG,UAAA,IAAI,MAAM,kEAAkE;AAE7E,SAAAA;AACT;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("../../../_virtual/jsx-runtime.cjs.js"),e=require("react"),k=require("../hooks/useLocalStorage.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("lodash");require("react-toastify");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");const J=require("./PowerpackContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");const K=require("./GlobalContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const y=e.createContext(void 0),N=({children:r,defaultTab:q="activity",hasLicense:l,debug:s={},...n})=>{var D,O;const{user:u}=K.useGlobalContext(),c="isDeveloperMode"in s?s.isDeveloperMode:((D=u==null?void 0:u.attrib)==null?void 0:D.developerMode)??!1,p="isGuest"in s?s.isGuest:(O=u==null?void 0:u.data)==null?void 0:O.isGuest,{powerLicense:S,setPowerpackDialog:o}=J.usePowerpack(),d="hasLicense"in s?s.hasLicense:!!S||l,[i,P]=e.useState({}),[w,L]=e.useState([]),f=e.useCallback(t=>i[t]?i[t]:!1,[i]),F=e.useCallback((t,z)=>{const h={...i};h[t]=z,P(h)},[i]),[a]=k.useLocalStorage("details/tabs-by-scope",{}),m=e.useCallback(t=>a[t]?a[t]:q,[a,q]),[b,v]=e.useState(null),G=e.useCallback(t=>{v(t)},[]),T=e.useCallback(()=>{v(null),b&&x([])},[]),[B,C]=e.useState(null),M=e.useCallback(t=>{C(t)},[]),j=e.useCallback(()=>{C(null)},[]),[A,E]=e.useState(null),[R,x]=e.useState([]),H={panelOpenByScope:i,getOpenForScope:f,setPanelOpen:F,setPanelOpenByScope:P,tabsByScope:a,getTabForScope:m,slideOut:b,openSlideOut:G,closeSlideOut:T,highlightedActivities:R,setHighlightedActivities:x,pip:B,openPip:M,closePip:j,entities:A,setEntities:E,feedAnnotations:w,setFeedAnnotations:L,isDeveloperMode:c,isGuest:p,hasLicense:d,onPowerFeature:o,...n};return I.jsxRuntimeExports.jsx(y.Provider,{value:H,children:r})},g=()=>{const r=e.useContext(y);if(r===void 0)throw new Error("useDetailsPanel must be used within a DetailsProvider");return r},Q=r=>{const{getOpenForScope:q,setPanelOpen:l,getTabForScope:s}=g(),[n,u]=k.useLocalStorage("details/tabs-by-scope",{}),[c,p]=e.useState(()=>n[r]??s(r)),S=e.useCallback(i=>{p(i),u({...n,[r]:i})},[r,u]),o=c,d=["activity","comments","versions","checklists"].includes(o);return{isOpen:q(r),setOpen:i=>l(r,i),currentTab:o,setTab:S,isFeed:d}};exports.DetailsPanelProvider=N;exports.useDetailsPanelContext=g;exports.useScopedDetailsPanel=Q;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("../../../_virtual/jsx-runtime.cjs.js"),e=require("react"),k=require("../hooks/useLocalStorage.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("lodash");require("react-toastify");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");const J=require("./PowerpackContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");const K=require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const y=e.createContext(void 0),N=({children:r,defaultTab:q="activity",hasLicense:l,debug:s={},...n})=>{var D,O;const{user:u}=K.useGlobalContext(),c="isDeveloperMode"in s?s.isDeveloperMode:((D=u==null?void 0:u.attrib)==null?void 0:D.developerMode)??!1,p="isGuest"in s?s.isGuest:(O=u==null?void 0:u.data)==null?void 0:O.isGuest,{powerLicense:S,setPowerpackDialog:o}=J.usePowerpack(),d="hasLicense"in s?s.hasLicense:!!S||l,[i,P]=e.useState({}),[w,L]=e.useState([]),f=e.useCallback(t=>i[t]?i[t]:!1,[i]),F=e.useCallback((t,z)=>{const h={...i};h[t]=z,P(h)},[i]),[a]=k.useLocalStorage("details/tabs-by-scope",{}),m=e.useCallback(t=>a[t]?a[t]:q,[a,q]),[b,v]=e.useState(null),G=e.useCallback(t=>{v(t)},[]),T=e.useCallback(()=>{v(null),b&&x([])},[]),[B,C]=e.useState(null),M=e.useCallback(t=>{C(t)},[]),j=e.useCallback(()=>{C(null)},[]),[A,E]=e.useState(null),[R,x]=e.useState([]),H={panelOpenByScope:i,getOpenForScope:f,setPanelOpen:F,setPanelOpenByScope:P,tabsByScope:a,getTabForScope:m,slideOut:b,openSlideOut:G,closeSlideOut:T,highlightedActivities:R,setHighlightedActivities:x,pip:B,openPip:M,closePip:j,entities:A,setEntities:E,feedAnnotations:w,setFeedAnnotations:L,isDeveloperMode:c,isGuest:p,hasLicense:d,onPowerFeature:o,...n};return I.jsxRuntimeExports.jsx(y.Provider,{value:H,children:r})},g=()=>{const r=e.useContext(y);if(r===void 0)throw new Error("useDetailsPanel must be used within a DetailsProvider");return r},Q=r=>{const{getOpenForScope:q,setPanelOpen:l,getTabForScope:s}=g(),[n,u]=k.useLocalStorage("details/tabs-by-scope",{}),[c,p]=e.useState(()=>n[r]??s(r)),S=e.useCallback(i=>{p(i),u({...n,[r]:i})},[r,u]),o=c,d=["activity","comments","versions","checklists"].includes(o);return{isOpen:q(r),setOpen:i=>l(r,i),currentTab:o,setTab:S,isFeed:d}};exports.DetailsPanelProvider=N;exports.useDetailsPanelContext=g;exports.useScopedDetailsPanel=Q;
|
|
2
2
|
//# sourceMappingURL=DetailsPanelContext.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, ReactNode, useState } from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useGlobalContext } from './GlobalContext'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'details' | 'files'\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: boolean\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'activity',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n // get current user\n const { user: currentUser } = useGlobalContext()\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : currentUser?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : currentUser?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n if (tabsByScope[scope]) {\n return tabsByScope[scope]\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [tab, setTab] = useState<DetailsPanelTab>(() => tabsByScope[scope] ?? getTabForScope(scope))\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const currentTab = tab\n const isFeed = ['activity', 'comments', 'versions', 'checklists'].includes(currentTab)\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","currentUser","useGlobalContext","isDeveloperMode","_a","isGuest","_b","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","tab","setTab","updateTab","newTab","currentTab","isFeed"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, ReactNode, useState } from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useGlobalContext } from './GlobalContext'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'details' | 'files'\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: boolean\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'activity',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n // get current user\n const { user: currentUser } = useGlobalContext()\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : currentUser?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : currentUser?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n if (tabsByScope[scope]) {\n return tabsByScope[scope]\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [tab, setTab] = useState<DetailsPanelTab>(() => tabsByScope[scope] ?? getTabForScope(scope))\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const currentTab = tab\n const isFeed = ['activity', 'comments', 'versions', 'checklists'].includes(currentTab)\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","currentUser","useGlobalContext","isDeveloperMode","_a","isGuest","_b","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","tab","setTab","updateTab","newTab","currentTab","isFeed"],"mappings":"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"}
|
|
@@ -100,10 +100,11 @@ import "./MoveEntityContext.es.js";
|
|
|
100
100
|
import "./MenuContext.es.js";
|
|
101
101
|
import "./WebsocketContext.es.js";
|
|
102
102
|
import { useGlobalContext as Q } from "./GlobalContext.es.js";
|
|
103
|
+
import "./ProjectContext.es.js";
|
|
103
104
|
import "react-redux";
|
|
104
105
|
import "custom-protocol-check";
|
|
105
106
|
import "../containers/ProjectTreeTable/components/GroupSettingsFallback.es.js";
|
|
106
|
-
const F = J(void 0),
|
|
107
|
+
const F = J(void 0), Vo = ({
|
|
107
108
|
children: t,
|
|
108
109
|
defaultTab: s = "activity",
|
|
109
110
|
hasLicense: l,
|
|
@@ -168,7 +169,7 @@ const F = J(void 0), Qo = ({
|
|
|
168
169
|
if (t === void 0)
|
|
169
170
|
throw new Error("useDetailsPanel must be used within a DetailsProvider");
|
|
170
171
|
return t;
|
|
171
|
-
},
|
|
172
|
+
}, Wo = (t) => {
|
|
172
173
|
const { getOpenForScope: s, setPanelOpen: l, getTabForScope: e } = V(), [n, r] = w(
|
|
173
174
|
"details/tabs-by-scope",
|
|
174
175
|
{}
|
|
@@ -187,8 +188,8 @@ const F = J(void 0), Qo = ({
|
|
|
187
188
|
};
|
|
188
189
|
};
|
|
189
190
|
export {
|
|
190
|
-
|
|
191
|
+
Vo as DetailsPanelProvider,
|
|
191
192
|
V as useDetailsPanelContext,
|
|
192
|
-
|
|
193
|
+
Wo as useScopedDetailsPanel
|
|
193
194
|
};
|
|
194
195
|
//# sourceMappingURL=DetailsPanelContext.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanelContext.es.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, ReactNode, useState } from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useGlobalContext } from './GlobalContext'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'details' | 'files'\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: boolean\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'activity',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n // get current user\n const { user: currentUser } = useGlobalContext()\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : currentUser?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : currentUser?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n if (tabsByScope[scope]) {\n return tabsByScope[scope]\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [tab, setTab] = useState<DetailsPanelTab>(() => tabsByScope[scope] ?? getTabForScope(scope))\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const currentTab = tab\n const isFeed = ['activity', 'comments', 'versions', 'checklists'].includes(currentTab)\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","currentUser","useGlobalContext","isDeveloperMode","_a","isGuest","_b","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","tab","setTab","updateTab","newTab","currentTab","isFeed"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DetailsPanelContext.es.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, ReactNode, useState } from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useGlobalContext } from './GlobalContext'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'details' | 'files'\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: boolean\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'activity',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n // get current user\n const { user: currentUser } = useGlobalContext()\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : currentUser?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : currentUser?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n if (tabsByScope[scope]) {\n return tabsByScope[scope]\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [tab, setTab] = useState<DetailsPanelTab>(() => tabsByScope[scope] ?? getTabForScope(scope))\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const currentTab = tab\n const isFeed = ['activity', 'comments', 'versions', 'checklists'].includes(currentTab)\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","currentUser","useGlobalContext","isDeveloperMode","_a","isGuest","_b","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","tab","setTab","updateTab","newTab","currentTab","isFeed"],"mappings":"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"}
|