@ynput/ayon-frontend-shared 0.2.36 → 0.2.37
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 +23 -22
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/Views.cjs.js +1 -1
- package/dist/Views.cjs.js.map +1 -1
- package/dist/Views.es.js +25 -24
- package/dist/Views.es.js.map +1 -1
- package/dist/_virtual/index.cjs2.js +1 -1
- package/dist/_virtual/index.cjs3.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.es2.js +2 -5
- package/dist/_virtual/index.es2.js.map +1 -1
- package/dist/_virtual/index.es3.js +5 -2
- package/dist/_virtual/index.es3.js.map +1 -1
- package/dist/_virtual/index.es4.js +2 -2
- package/dist/_virtual/index.es5.js +2 -2
- package/dist/context.cjs.js +1 -1
- package/dist/context.es.js +19 -16
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +10 -9
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
- package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/actions.es.js.map +1 -1
- package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
- package/dist/shared/src/api/generated/authentication.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/authentication.es.js.map +1 -1
- package/dist/shared/src/api/generated/configuration.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/configuration.es.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.es.js +88 -84
- package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +22 -20
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +34 -32
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/generated/onboarding.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/onboarding.es.js.map +1 -1
- package/dist/shared/src/api/generated/products.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/products.es.js.map +1 -1
- package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/projects.es.js.map +1 -1
- package/dist/shared/src/api/generated/system.cjs.js +1 -1
- package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/system.es.js +3 -0
- package/dist/shared/src/api/generated/system.es.js.map +1 -1
- package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/users.es.js.map +1 -1
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/generated/ynputCloud.cjs.js +1 -1
- package/dist/shared/src/api/generated/ynputCloud.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/ynputCloud.es.js +6 -1
- package/dist/shared/src/api/generated/ynputCloud.es.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +129 -122
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +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/hooks/useEntityData.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +23 -9
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.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 +5 -4
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +3 -2
- 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 +6 -5
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +118 -112
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +3 -2
- 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 +3 -2
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.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 +8 -7
- 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 +3 -2
- 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 +18 -17
- 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 +3 -2
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +3 -2
- 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 +3 -2
- 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 +4 -3
- 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 +3 -2
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +263 -210
- 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 +24 -23
- 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 +3 -2
- 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 +3 -2
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +3 -2
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +3 -2
- 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 +3 -2
- 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 +61 -57
- 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 +3 -2
- 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 +58 -55
- 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 +3 -2
- 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 +3 -2
- 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 +33 -30
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.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 +16 -15
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +3 -2
- 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 +3 -2
- 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 +3 -2
- 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 +3 -2
- 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 +3 -2
- 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 +8 -7
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
- 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 +3 -2
- 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 +9 -8
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +3 -2
- 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 +3 -2
- 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 +45 -42
- package/dist/shared/src/containers/Feed/context/FeedContext.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 +289 -283
- 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 +4 -3
- 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 +3 -2
- 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 +3 -2
- 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 +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.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 +3 -2
- 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 +25 -90
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +6 -5
- 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 +3 -2
- 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 +3 -2
- 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 +3 -2
- 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 +3 -2
- 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/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 +22 -21
- 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 +19 -16
- 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 +3 -2
- 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 +3 -2
- 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 +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +14 -13
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.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 +38 -37
- 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 +5 -4
- 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 +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.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 +3 -2
- 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 +3 -2
- 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 +7 -6
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +26 -25
- 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/containers/Views/hooks/useSelectedView.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +9 -9
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +40 -35
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +8 -7
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +77 -78
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js +2 -0
- package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -0
- package/dist/shared/src/context/GlobalContext.es.js +123 -0
- package/dist/shared/src/context/GlobalContext.es.js.map +1 -0
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +7 -6
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +35 -34
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +5 -4
- 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/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 +26 -12
- package/dist/shared/src/hooks/useUserProjectConfig.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 +1 -0
- 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 +17 -16
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
- package/dist/types/api/generated/actions.d.ts +2 -0
- package/dist/types/api/generated/attributes.d.ts +20 -5
- package/dist/types/api/generated/authentication.d.ts +2 -0
- package/dist/types/api/generated/configuration.d.ts +3 -1
- package/dist/types/api/generated/entityLists.d.ts +22 -5
- package/dist/types/api/generated/enums.d.ts +36 -0
- package/dist/types/api/generated/graphql.d.ts +9 -2
- package/dist/types/api/generated/graphqlLinks.d.ts +3 -0
- package/dist/types/api/generated/onboarding.d.ts +1 -0
- package/dist/types/api/generated/products.d.ts +9 -3
- package/dist/types/api/generated/projects.d.ts +4 -4
- package/dist/types/api/generated/system.d.ts +27 -5
- package/dist/types/api/generated/users.d.ts +2 -0
- package/dist/types/api/generated/views.d.ts +48 -5
- package/dist/types/api/generated/ynputCloud.d.ts +7 -20
- package/dist/types/api/queries/activities/getActivities.d.ts +2 -0
- package/dist/types/api/queries/activities/updateActivities.d.ts +4 -0
- package/dist/types/api/queries/cloud/cloud.d.ts +17 -17
- package/dist/types/api/queries/entities/getEntity.d.ts +2 -0
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +2 -0
- package/dist/types/api/queries/entities/updateEntity.d.ts +2 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +2 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +2 -0
- package/dist/types/api/queries/system/getSystem.d.ts +85 -75
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +2 -0
- package/dist/types/api/queries/users/getUsers.d.ts +43 -37
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +20 -0
- package/dist/types/components/DetailsPanelDetails/hooks/useEntityData.d.ts +1 -1
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +3 -0
- package/dist/types/containers/Feed/context/FeedContext.d.ts +4 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useGroupBySettings.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +2 -0
- package/dist/types/containers/Views/index.d.ts +1 -1
- package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +6 -10
- package/dist/types/context/DetailsPanelContext.d.ts +1 -2
- package/dist/types/context/GlobalContext.d.ts +25 -0
- package/dist/types/context/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +0 -2
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +0 -1
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +0 -64
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +0 -1
- package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +0 -11
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../_virtual/jsx-runtime.cjs.js"),G=require("@ynput/ayon-react-components"),q=require("react"),P=require("./DetailsPanel.styled.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");const ne=require("../../api/queries/entities/getEntityPanel.cjs.js"),ae=require("../../api/queries/entities/transformDetailsPanelData.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("clsx");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("react-toastify");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */const oe=require("../../util/productTypes.cjs.js");require("lodash");require("uuid");require("../../util/pubsub.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../context/RemoteModulesContext.cjs.js");const H=require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");const ce=require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("date-fns");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("@tanstack/react-table");require("../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");const le=require("./DetailsPanelHeader/DetailsPanelHeader.cjs.js"),de=require("./DetailsPanelFiles/DetailsPanelFiles.cjs.js"),pe=require("./hooks/useGetEntityPath.cjs.js"),ye=require("./helpers/getAllProjectsStatuses.cjs.js"),fe=require("./FeedWrapper.cjs.js"),me=require("./FeedContextWrapper.cjs.js"),xe=require("./helpers/mergeProjectInfo.cjs.js");require("./DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("./DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("./DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/context/ViewsContext.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");const je=require("../../components/EntityPath/EntityPath.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");const Ee=require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");const Pe=require("../../components/Watchers/Watchers.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../components/SizeSlider/SizeSlider.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../components/LegacyBadge/LegacyBadge.cjs.js");const M=["product","representation"],ge=({entityType:g,entitySubTypes:_=[],entitiesData:B=[],entities:O=[],tagsOptions:Q=[],disabledStatuses:K,projectUsers:h,disabledProjectUsers:U,activeProjectUsers:T,projectsInfo:f={},projectNames:m=[],isSlideOut:l=!1,style:he={},scope:s,isCompact:X=!1,onClose:a,onWatchersUpdate:D,onOpenViewer:j,onEntityFocus:z,onOpen:R,annotations:b,removeAnnotation:v,exportAnnotationComposite:N,entityListId:F,guestCategories:J={}})=>{const{closeSlideOut:Y,openPip:Z,user:w,isGuest:$,entities:t}=H.useDetailsPanelContext(),{currentTab:n,setTab:x,isFeed:V}=H.useScopedDetailsPanel(s),W=q.useRef(!1),i=(t==null?void 0:t.entityType)??g,k=(t==null?void 0:t.entities)??O,ee=(t==null?void 0:t.entitySubTypes)??_;q.useEffect(()=>{R&&!W.current&&(W.current=!0,R())},[]),q.useEffect(()=>{M.includes(i)&&n!=="details"&&x("details")},[i,n,x]);const E=q.useMemo(()=>xe(f,m),[f,m]),C=q.useMemo(()=>({task:E.taskTypes.filter(e=>!!e.icon).reduce((e,u)=>({...e,[u.name]:u.icon}),{}),folder:E.folderTypes.filter(e=>!!e.icon).reduce((e,u)=>({...e,[u.name]:u.icon}),{}),product:Object.entries(oe).reduce((e,[u,y])=>({...e,[u]:y.icon}),{})}),[E]);q.useEffect(()=>{n==="files"&&i!=="version"&&x("activity")},[i,n,s]);let o=k.length?k.map(e=>({id:e.id,projectName:e.projectName})):B.map(e=>({id:e.id,projectName:e.projectName}));o=o.filter(e=>e.id);const{data:c=[],isFetching:d,isError:re,originalArgs:ie}=ne.useGetEntitiesDetailsPanelQuery({entityType:i,entities:o},{skip:!o.length||!ae.detailsPanelEntityTypes.includes(i)});q.useEffect(()=>{l||Y()},[ie,l]);const S=ye(f),p=m[0],L=f[p]||{},ue=c[0]||{},[I,te]=pe({entity:ue,entityType:i,projectName:p,isLoading:d});q.useEffect(()=>{const e=u=>{if(u.key==="Escape"&&a){const y=u.target;if(!(["INPUT","TEXTAREA","SELECT"].includes(y.tagName)||y.isContentEditable)||l===!1&&y.closest("#viewer-dialog"))return;a()}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[a,l]);const{requestPipWindow:qe}=ce.usePiPWindow(),se=()=>{Z({entityType:i,entities:o,scope:s}),qe(500,500)},A=()=>{var e;return!(m.length>1||$&&(!F||!Object.prototype.hasOwnProperty.call(J,((e=w.attrib)==null?void 0:e.email)||"")))};return r.jsxRuntimeExports.jsx(r.jsxRuntimeExports.Fragment,{children:r.jsxRuntimeExports.jsxs(P.Panel,{className:"details-panel",children:[r.jsxRuntimeExports.jsxs(P.Toolbar,{children:[r.jsxRuntimeExports.jsx(je.EntityPath,{segments:I,versions:te,projectName:p,hideProjectName:l,isLoading:d||!I.length,entityType:i,scope:s,entityTypeIcons:C}),r.jsxRuntimeExports.jsxs(P.RightTools,{className:"right-tools",children:[r.jsxRuntimeExports.jsx(Pe.Watchers,{entities:o,entityType:g,options:h||[],onWatchersUpdate:D&&D,userName:w.name}),r.jsxRuntimeExports.jsx(G.Button,{icon:"picture_in_picture",variant:"text","data-tooltip":"Picture in Picture",onClick:se}),a&&r.jsxRuntimeExports.jsx(G.Button,{icon:"close",variant:"text",onClick:()=>a&&a(),"data-shortcut":"Escape"})]})]}),r.jsxRuntimeExports.jsx(le,{entityType:i,entitySubTypes:ee,entities:c,users:h,disabledAssignees:U,disabledStatuses:K,tagsOptions:Q,isFetching:d,isCompact:X,currentTab:n,onTabChange:x,entityTypeIcons:C,onOpenViewer:e=>j==null?void 0:j(e),onEntityFocus:z}),V&&!re&&r.jsxRuntimeExports.jsx(fe,{entityType:i,entities:c,activeUsers:T||[],projectInfo:L,projectName:p,disabled:!A(),scope:s,statuses:S,readOnly:!1,entityListId:F,annotations:b,removeAnnotation:v,exportAnnotationComposite:N}),n==="files"&&r.jsxRuntimeExports.jsx(de,{entities:c,scope:s,isLoadingVersion:d}),n==="details"&&r.jsxRuntimeExports.jsx(me,{entityType:i,entities:c,activeUsers:T||[],projectInfo:L,projectName:p,disabled:!A(),scope:s,statuses:S,readOnly:!1,annotations:b,removeAnnotation:v,exportAnnotationComposite:N,children:r.jsxRuntimeExports.jsx(Ee.DetailsPanelDetails,{entities:c,isLoading:d})})]})})};exports.DetailsPanel=ge;exports.entitiesWithoutFeed=M;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../_virtual/jsx-runtime.cjs.js"),G=require("@ynput/ayon-react-components"),s=require("react"),P=require("./DetailsPanel.styled.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");const ne=require("../../api/queries/entities/getEntityPanel.cjs.js"),ae=require("../../api/queries/entities/transformDetailsPanelData.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("clsx");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("react-toastify");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */const oe=require("../../util/productTypes.cjs.js");require("lodash");require("uuid");require("../../util/pubsub.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../context/RemoteModulesContext.cjs.js");const H=require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");const ce=require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("date-fns");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("@tanstack/react-table");require("../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");const le=require("./DetailsPanelHeader/DetailsPanelHeader.cjs.js"),de=require("./DetailsPanelFiles/DetailsPanelFiles.cjs.js"),pe=require("./hooks/useGetEntityPath.cjs.js"),ye=require("./helpers/getAllProjectsStatuses.cjs.js"),fe=require("./FeedWrapper.cjs.js"),me=require("./FeedContextWrapper.cjs.js"),xe=require("./helpers/mergeProjectInfo.cjs.js");require("./DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("./DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("./DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/context/ViewsContext.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");const je=require("../../components/EntityPath/EntityPath.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");const Ee=require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");const Pe=require("../../components/Watchers/Watchers.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../components/SizeSlider/SizeSlider.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../components/LegacyBadge/LegacyBadge.cjs.js");const M=["product","representation"],ge=({entityType:g,entitySubTypes:_=[],entitiesData:B=[],entities:O=[],tagsOptions:Q=[],disabledStatuses:K,projectUsers:h,disabledProjectUsers:U,activeProjectUsers:T,projectsInfo:m={},projectNames:x=[],isSlideOut:l=!1,style:he={},scope:n,isCompact:X=!1,onClose:a,onWatchersUpdate:D,onOpenViewer:j,onEntityFocus:z,onOpen:R,annotations:b,removeAnnotation:v,exportAnnotationComposite:N,entityListId:F,guestCategories:J={}})=>{const{closeSlideOut:Y,openPip:Z,user:w,isGuest:$,entities:t}=H.useDetailsPanelContext(),{currentTab:q,setTab:d,isFeed:V}=H.useScopedDetailsPanel(n),C=s.useRef(!1),i=(t==null?void 0:t.entityType)??g,W=(t==null?void 0:t.entities)??O,ee=(t==null?void 0:t.entitySubTypes)??_;s.useEffect(()=>{R&&!C.current&&(C.current=!0,R())},[]),s.useEffect(()=>{M.includes(i)&&q!=="details"&&d("details")},[i,q,d]);const E=s.useMemo(()=>xe(m,x),[m,x]),k=s.useMemo(()=>({task:E.taskTypes.filter(e=>!!e.icon).reduce((e,u)=>({...e,[u.name]:u.icon}),{}),folder:E.folderTypes.filter(e=>!!e.icon).reduce((e,u)=>({...e,[u.name]:u.icon}),{}),product:Object.entries(oe).reduce((e,[u,f])=>({...e,[u]:f.icon}),{})}),[E]);s.useEffect(()=>{q==="files"&&i!=="version"&&d("activity")},[i,q,n]);let o=W.length?W.map(e=>({id:e.id,projectName:e.projectName})):B.map(e=>({id:e.id,projectName:e.projectName}));o=o.filter(e=>e.id);const{data:c=[],isFetching:p,isError:re,originalArgs:ie}=ne.useGetEntitiesDetailsPanelQuery({entityType:i,entities:o},{skip:!o.length||!ae.detailsPanelEntityTypes.includes(i)});s.useEffect(()=>{l||Y()},[ie,l]);const S=ye(m),y=x[0],L=m[y]||{},ue=c[0]||{},[I,te]=pe({entity:ue,entityType:i,projectName:y,isLoading:p});s.useEffect(()=>{const e=u=>{if(u.key==="Escape"&&a){const f=u.target;if(!(["INPUT","TEXTAREA","SELECT"].includes(f.tagName)||f.isContentEditable)||l===!1&&f.closest("#viewer-dialog"))return;a()}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[a,l]);const{requestPipWindow:qe}=ce.usePiPWindow(),se=()=>{Z({entityType:i,entities:o,scope:n}),qe(500,500)},A=()=>{var e;return!(x.length>1||$&&(!F||!Object.prototype.hasOwnProperty.call(J,((e=w.attrib)==null?void 0:e.email)||"")))};return r.jsxRuntimeExports.jsx(r.jsxRuntimeExports.Fragment,{children:r.jsxRuntimeExports.jsxs(P.Panel,{className:"details-panel",children:[r.jsxRuntimeExports.jsxs(P.Toolbar,{children:[r.jsxRuntimeExports.jsx(je.EntityPath,{segments:I,versions:te,projectName:y,hideProjectName:l,isLoading:p||!I.length,entityType:i,scope:n,entityTypeIcons:k}),r.jsxRuntimeExports.jsxs(P.RightTools,{className:"right-tools",children:[r.jsxRuntimeExports.jsx(Pe.Watchers,{entities:o,entityType:g,options:h||[],onWatchersUpdate:D&&D,userName:w.name}),r.jsxRuntimeExports.jsx(G.Button,{icon:"picture_in_picture",variant:"text","data-tooltip":"Picture in Picture",onClick:se}),a&&r.jsxRuntimeExports.jsx(G.Button,{icon:"close",variant:"text",onClick:()=>a&&a(),"data-shortcut":"Escape"})]})]}),r.jsxRuntimeExports.jsx(le,{entityType:i,entitySubTypes:ee,entities:c,users:h,disabledAssignees:U,disabledStatuses:K,tagsOptions:Q,isFetching:p,isCompact:X,currentTab:q,onTabChange:d,entityTypeIcons:k,onOpenViewer:e=>j==null?void 0:j(e),onEntityFocus:z}),V&&!re&&r.jsxRuntimeExports.jsx(fe,{entityType:i,entities:c,activeUsers:T||[],projectInfo:L,projectName:y,disabled:!A(),scope:n,statuses:S,readOnly:!1,entityListId:F,annotations:b,removeAnnotation:v,exportAnnotationComposite:N,currentTab:q,setCurrentTab:d}),q==="files"&&r.jsxRuntimeExports.jsx(de,{entities:c,scope:n,isLoadingVersion:p}),q==="details"&&r.jsxRuntimeExports.jsx(me,{entityType:i,entities:c,activeUsers:T||[],projectInfo:L,projectName:y,disabled:!A(),scope:n,statuses:S,readOnly:!1,annotations:b,removeAnnotation:v,exportAnnotationComposite:N,children:r.jsxRuntimeExports.jsx(Ee.DetailsPanelDetails,{entities:c,isLoading:p})})]})})};exports.DetailsPanel=ge;exports.entitiesWithoutFeed=M;
|
|
2
2
|
//# sourceMappingURL=DetailsPanel.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanel.cjs.js","sources":["../../../../../src/containers/DetailsPanel/DetailsPanel.tsx"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport React, { useEffect, useMemo, useRef } from 'react'\nimport * as Styled from './DetailsPanel.styled'\n\n// shared\nimport { useGetEntitiesDetailsPanelQuery, detailsPanelEntityTypes } from '@shared/api'\nimport type { ProjectModel, Tag, DetailsPanelEntityType } from '@shared/api'\nimport { DetailsPanelDetails, EntityPath, Watchers } from '@shared/components'\nimport { usePiPWindow } from '@shared/context/pip/PiPProvider'\nimport { productTypes } from '@shared/util'\nimport { useDetailsPanelContext, usePowerpack, useScopedDetailsPanel } from '@shared/context'\n\nimport DetailsPanelHeader from './DetailsPanelHeader/DetailsPanelHeader'\nimport DetailsPanelFiles from './DetailsPanelFiles'\nimport useGetEntityPath from './hooks/useGetEntityPath'\nimport getAllProjectStatuses from './helpers/getAllProjectsStatuses'\nimport FeedWrapper from './FeedWrapper'\nimport FeedContextWrapper from './FeedContextWrapper'\nimport mergeProjectInfo from './helpers/mergeProjectInfo'\n\nexport const entitiesWithoutFeed = ['product', 'representation']\n\ntype User = { avatarUrl: string; name: string; fullName?: string }\n\nexport type DetailsPanelProps = {\n entityType: DetailsPanelEntityType\n entitySubTypes?: string[] // used to get actions before the entity has loaded\n entitiesData?: { id: string; label: string; type: DetailsPanelEntityType }[]\n entities?: { id: string; projectName: string }[]\n tagsOptions?: Tag[]\n disabledStatuses?: string[]\n projectUsers?: User[]\n disabledProjectUsers?: string[]\n activeProjectUsers?: string[]\n projectsInfo?: Record<string, ProjectModel>\n projectNames?: string[]\n isSlideOut?: boolean\n style?: React.CSSProperties\n scope: string\n isCompact?: boolean\n onClose?: () => void\n onWatchersUpdate?: (added: any[], removed: any[]) => void\n onOpenViewer?: (entity: any) => void\n onEntityFocus?: (id: string, entityType: DetailsPanelEntityType) => void\n onOpen?: () => void\n // annotations\n annotations?: any\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n entityListId?: string\n guestCategories?: Record<string, string> // only used for guests to find if they have access to any categories\n}\n\nexport const DetailsPanel = ({\n entityType,\n entitySubTypes = [],\n // entities is data we already have from kanban\n entitiesData = [],\n // entityIds are used to get the full details data for the entities\n entities = [],\n tagsOptions = [],\n disabledStatuses,\n projectUsers,\n disabledProjectUsers,\n activeProjectUsers,\n projectsInfo = {},\n projectNames = [],\n isSlideOut = false,\n style = {},\n scope,\n isCompact = false,\n onClose,\n onWatchersUpdate,\n onOpenViewer,\n onEntityFocus,\n onOpen,\n // annotations\n annotations,\n removeAnnotation,\n exportAnnotationComposite,\n entityListId,\n guestCategories = {},\n}: DetailsPanelProps) => {\n const {\n closeSlideOut,\n openPip,\n user,\n isGuest,\n entities: contextEntities,\n } = useDetailsPanelContext()\n const { currentTab, setTab, isFeed } = useScopedDetailsPanel(scope)\n const hasCalledOnOpen = useRef(false)\n\n // Use context entities if available, otherwise use props\n const activeEntityType = contextEntities?.entityType ?? entityType\n const activeEntities = contextEntities?.entities ?? entities\n const activeEntitySubTypes = contextEntities?.entitySubTypes ?? entitySubTypes\n\n // Fire onOpen callback once when component mounts and renders\n useEffect(() => {\n if (onOpen && !hasCalledOnOpen.current) {\n hasCalledOnOpen.current = true\n onOpen()\n }\n }, [])\n\n // Force details tab for specific entity types\n useEffect(() => {\n if (entitiesWithoutFeed.includes(activeEntityType) && currentTab !== 'details') {\n setTab('details')\n }\n }, [activeEntityType, currentTab, setTab])\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, projectNames),\n [projectsInfo, projectNames],\n )\n\n // build icons for entity types\n const entityTypeIcons = useMemo(\n () => ({\n task: projectInfo.taskTypes\n .filter((task) => !!task.icon)\n .reduce((acc, task) => ({ ...acc, [task.name]: task.icon }), {}),\n folder: projectInfo.folderTypes\n .filter((folder) => !!folder.icon)\n .reduce((acc, folder) => ({ ...acc, [folder.name]: folder.icon }), {}),\n product: Object.entries(productTypes).reduce(\n (acc, [key, product]) => ({ ...acc, [key]: product.icon }),\n {},\n ),\n }),\n [projectInfo],\n )\n\n // check if tab needs to be updated when entity type changes\n // for example when switching from version to task, task doesn't have reps tab\n // if reps tab was selected, set default to feed\n useEffect(() => {\n if (currentTab === 'files') {\n // check entity type is still version\n if (activeEntityType !== 'version') {\n setTab('activity')\n }\n }\n }, [activeEntityType, currentTab, scope])\n\n // now we get the full details data for selected entities\n let entitiesToQuery = activeEntities.length\n ? activeEntities.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n : // @ts-expect-error = not sure what's going on with entitiesData, we should try and remove it\n entitiesData.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n\n entitiesToQuery = entitiesToQuery.filter((entity) => entity.id)\n\n const {\n data: entityDetailsData = [],\n isFetching: isFetchingEntitiesDetails,\n isError,\n originalArgs,\n } = useGetEntitiesDetailsPanelQuery(\n { entityType: activeEntityType, entities: entitiesToQuery },\n {\n skip: !entitiesToQuery.length || !detailsPanelEntityTypes.includes(activeEntityType),\n },\n )\n\n // the entity changes then we close the slide out\n useEffect(() => {\n if (!isSlideOut) {\n closeSlideOut()\n }\n }, [originalArgs, isSlideOut])\n\n // TODO: merge current entities data with fresh details data\n\n const allStatuses = getAllProjectStatuses(projectsInfo)\n\n // get the first project name and info to be used in the feed.\n const firstProject = projectNames[0]\n const firstProjectInfo = projectsInfo[firstProject] || {}\n const firstEntityData = entityDetailsData[0] || {}\n\n // build the full entity path for the first entity\n const [entityPathSegments, entityPathVersions] = useGetEntityPath({\n entity: firstEntityData,\n entityType: activeEntityType,\n projectName: firstProject,\n isLoading: isFetchingEntitiesDetails,\n })\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape' && onClose) {\n // Don't trigger if we're in an input element\n const target = e.target as HTMLElement\n const isInputElement =\n ['INPUT', 'TEXTAREA', 'SELECT'].includes(target.tagName) || target.isContentEditable\n\n if (!isInputElement) return\n\n // don't trigger if the viewer is open and panel not in slideout mode\n if (isSlideOut === false && target.closest('#viewer-dialog')) return\n\n onClose()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [onClose, isSlideOut])\n\n const { requestPipWindow } = usePiPWindow()\n\n const handleOpenPip = () => {\n openPip({\n entityType: activeEntityType,\n entities: entitiesToQuery,\n scope: scope,\n })\n requestPipWindow(500, 500)\n }\n\n const isCommentingEnabled = () => {\n // cannot comment on multiple projects\n if (projectNames.length > 1) return false\n if (isGuest) {\n // Guest can only comment in review sessions (for now)\n if (!entityListId) return false\n // Guest must have at least one category set for list\n const guestHasCategory = Object.prototype.hasOwnProperty.call(\n guestCategories,\n user.attrib?.email || '',\n )\n if (!guestHasCategory) return false\n }\n return true\n }\n\n return (\n <>\n <Styled.Panel className=\"details-panel\">\n <Styled.Toolbar>\n {/* TODO FIX PATH */}\n <EntityPath\n segments={entityPathSegments}\n versions={entityPathVersions}\n projectName={firstProject}\n hideProjectName={isSlideOut}\n isLoading={isFetchingEntitiesDetails || !entityPathSegments.length}\n entityType={activeEntityType}\n scope={scope}\n // @ts-ignore\n entityTypeIcons={entityTypeIcons}\n />\n <Styled.RightTools className=\"right-tools\">\n <Watchers\n entities={entitiesToQuery}\n entityType={entityType}\n options={projectUsers || []}\n onWatchersUpdate={onWatchersUpdate && onWatchersUpdate}\n userName={user.name}\n />\n <Button\n icon=\"picture_in_picture\"\n variant={'text'}\n data-tooltip=\"Picture in Picture\"\n onClick={handleOpenPip}\n />\n\n {onClose && (\n <Button\n icon=\"close\"\n variant={'text'}\n onClick={() => onClose && onClose()}\n data-shortcut={'Escape'}\n />\n )}\n </Styled.RightTools>\n </Styled.Toolbar>\n\n <DetailsPanelHeader\n entityType={activeEntityType}\n entitySubTypes={activeEntitySubTypes}\n entities={entityDetailsData}\n users={projectUsers}\n disabledAssignees={disabledProjectUsers}\n disabledStatuses={disabledStatuses}\n tagsOptions={tagsOptions}\n isFetching={isFetchingEntitiesDetails}\n isCompact={isCompact}\n currentTab={currentTab}\n onTabChange={setTab}\n entityTypeIcons={entityTypeIcons}\n onOpenViewer={(args) => onOpenViewer?.(args)}\n onEntityFocus={onEntityFocus}\n />\n {isFeed && !isError && (\n <FeedWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n entityListId={entityListId}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n />\n )}\n {currentTab === 'files' && (\n <DetailsPanelFiles\n entities={entityDetailsData}\n scope={scope}\n isLoadingVersion={isFetchingEntitiesDetails}\n />\n )}\n {currentTab === 'details' && (\n <FeedContextWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n >\n <DetailsPanelDetails\n entities={entityDetailsData}\n isLoading={isFetchingEntitiesDetails}\n />\n </FeedContextWrapper>\n )}\n </Styled.Panel>\n </>\n )\n}\n"],"names":["entitiesWithoutFeed","DetailsPanel","entityType","entitySubTypes","entitiesData","entities","tagsOptions","disabledStatuses","projectUsers","disabledProjectUsers","activeProjectUsers","projectsInfo","projectNames","isSlideOut","style","scope","isCompact","onClose","onWatchersUpdate","onOpenViewer","onEntityFocus","onOpen","annotations","removeAnnotation","exportAnnotationComposite","entityListId","guestCategories","closeSlideOut","openPip","user","isGuest","contextEntities","useDetailsPanelContext","currentTab","setTab","isFeed","useScopedDetailsPanel","hasCalledOnOpen","useRef","activeEntityType","activeEntities","activeEntitySubTypes","useEffect","projectInfo","useMemo","mergeProjectInfo","entityTypeIcons","task","acc","folder","productTypes","key","product","entitiesToQuery","entity","entityDetailsData","isFetchingEntitiesDetails","isError","originalArgs","useGetEntitiesDetailsPanelQuery","detailsPanelEntityTypes","allStatuses","getAllProjectStatuses","firstProject","firstProjectInfo","firstEntityData","entityPathSegments","entityPathVersions","useGetEntityPath","handleKeyDown","e","target","requestPipWindow","usePiPWindow","handleOpenPip","isCommentingEnabled","_a","jsxs","Styled.Panel","Styled.Toolbar","jsx","EntityPath","Styled.RightTools","Watchers","Button","DetailsPanelHeader","args","FeedWrapper","DetailsPanelFiles","FeedContextWrapper","DetailsPanelDetails"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DetailsPanel.cjs.js","sources":["../../../../../src/containers/DetailsPanel/DetailsPanel.tsx"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport React, { useEffect, useMemo, useRef } from 'react'\nimport * as Styled from './DetailsPanel.styled'\n\n// shared\nimport { useGetEntitiesDetailsPanelQuery, detailsPanelEntityTypes } from '@shared/api'\nimport type { ProjectModel, Tag, DetailsPanelEntityType } from '@shared/api'\nimport { DetailsPanelDetails, EntityPath, Watchers } from '@shared/components'\nimport { usePiPWindow } from '@shared/context/pip/PiPProvider'\nimport { productTypes } from '@shared/util'\nimport { useDetailsPanelContext, usePowerpack, useScopedDetailsPanel, DetailsPanelTab } from '@shared/context'\n\nimport DetailsPanelHeader from './DetailsPanelHeader/DetailsPanelHeader'\nimport DetailsPanelFiles from './DetailsPanelFiles'\nimport useGetEntityPath from './hooks/useGetEntityPath'\nimport getAllProjectStatuses from './helpers/getAllProjectsStatuses'\nimport FeedWrapper from './FeedWrapper'\nimport FeedContextWrapper from './FeedContextWrapper'\nimport mergeProjectInfo from './helpers/mergeProjectInfo'\n\nexport const entitiesWithoutFeed = ['product', 'representation']\n\ntype User = { avatarUrl: string; name: string; fullName?: string }\n\nexport type DetailsPanelProps = {\n entityType: DetailsPanelEntityType\n entitySubTypes?: string[] // used to get actions before the entity has loaded\n entitiesData?: { id: string; label: string; type: DetailsPanelEntityType }[]\n entities?: { id: string; projectName: string }[]\n tagsOptions?: Tag[]\n disabledStatuses?: string[]\n projectUsers?: User[]\n disabledProjectUsers?: string[]\n activeProjectUsers?: string[]\n projectsInfo?: Record<string, ProjectModel>\n projectNames?: string[]\n isSlideOut?: boolean\n style?: React.CSSProperties\n scope: string\n isCompact?: boolean\n onClose?: () => void\n onWatchersUpdate?: (added: any[], removed: any[]) => void\n onOpenViewer?: (entity: any) => void\n onEntityFocus?: (id: string, entityType: DetailsPanelEntityType) => void\n onOpen?: () => void\n // annotations\n annotations?: any\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n entityListId?: string\n guestCategories?: Record<string, string> // only used for guests to find if they have access to any categories\n // optional tab state for independent tab management\n}\n\nexport const DetailsPanel = ({\n entityType,\n entitySubTypes = [],\n // entities is data we already have from kanban\n entitiesData = [],\n // entityIds are used to get the full details data for the entities\n entities = [],\n tagsOptions = [],\n disabledStatuses,\n projectUsers,\n disabledProjectUsers,\n activeProjectUsers,\n projectsInfo = {},\n projectNames = [],\n isSlideOut = false,\n style = {},\n scope,\n isCompact = false,\n onClose,\n onWatchersUpdate,\n onOpenViewer,\n onEntityFocus,\n onOpen,\n // annotations\n annotations,\n removeAnnotation,\n exportAnnotationComposite,\n entityListId,\n guestCategories = {},\n // optional tab state for independent tab management\n}: DetailsPanelProps) => {\n const {\n closeSlideOut,\n openPip,\n user,\n isGuest,\n entities: contextEntities,\n } = useDetailsPanelContext()\n const { currentTab, setTab, isFeed } = useScopedDetailsPanel(scope)\n const hasCalledOnOpen = useRef(false)\n\n // Use context entities if available, otherwise use props\n const activeEntityType = contextEntities?.entityType ?? entityType\n const activeEntities = contextEntities?.entities ?? entities\n const activeEntitySubTypes = contextEntities?.entitySubTypes ?? entitySubTypes\n\n // Fire onOpen callback once when component mounts and renders\n useEffect(() => {\n if (onOpen && !hasCalledOnOpen.current) {\n hasCalledOnOpen.current = true\n onOpen()\n }\n }, [])\n\n // Force details tab for specific entity types\n useEffect(() => {\n if (entitiesWithoutFeed.includes(activeEntityType) && currentTab !== 'details') {\n setTab('details')\n }\n }, [activeEntityType, currentTab, setTab])\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, projectNames),\n [projectsInfo, projectNames],\n )\n\n // build icons for entity types\n const entityTypeIcons = useMemo(\n () => ({\n task: projectInfo.taskTypes\n .filter((task) => !!task.icon)\n .reduce((acc, task) => ({ ...acc, [task.name]: task.icon }), {}),\n folder: projectInfo.folderTypes\n .filter((folder) => !!folder.icon)\n .reduce((acc, folder) => ({ ...acc, [folder.name]: folder.icon }), {}),\n product: Object.entries(productTypes).reduce(\n (acc, [key, product]) => ({ ...acc, [key]: product.icon }),\n {},\n ),\n }),\n [projectInfo],\n )\n\n // check if tab needs to be updated when entity type changes\n // for example when switching from version to task, task doesn't have reps tab\n // if reps tab was selected, set default to feed\n useEffect(() => {\n if (currentTab === 'files') {\n // check entity type is still version\n if (activeEntityType !== 'version') {\n setTab('activity')\n }\n }\n }, [activeEntityType, currentTab, scope])\n\n // now we get the full details data for selected entities\n let entitiesToQuery = activeEntities.length\n ? activeEntities.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n : // @ts-expect-error = not sure what's going on with entitiesData, we should try and remove it\n entitiesData.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n\n entitiesToQuery = entitiesToQuery.filter((entity) => entity.id)\n\n const {\n data: entityDetailsData = [],\n isFetching: isFetchingEntitiesDetails,\n isError,\n originalArgs,\n } = useGetEntitiesDetailsPanelQuery(\n { entityType: activeEntityType, entities: entitiesToQuery },\n {\n skip: !entitiesToQuery.length || !detailsPanelEntityTypes.includes(activeEntityType),\n },\n )\n\n // the entity changes then we close the slide out\n useEffect(() => {\n if (!isSlideOut) {\n closeSlideOut()\n }\n }, [originalArgs, isSlideOut])\n\n // TODO: merge current entities data with fresh details data\n\n const allStatuses = getAllProjectStatuses(projectsInfo)\n\n // get the first project name and info to be used in the feed.\n const firstProject = projectNames[0]\n const firstProjectInfo = projectsInfo[firstProject] || {}\n const firstEntityData = entityDetailsData[0] || {}\n\n // build the full entity path for the first entity\n const [entityPathSegments, entityPathVersions] = useGetEntityPath({\n entity: firstEntityData,\n entityType: activeEntityType,\n projectName: firstProject,\n isLoading: isFetchingEntitiesDetails,\n })\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape' && onClose) {\n // Don't trigger if we're in an input element\n const target = e.target as HTMLElement\n const isInputElement =\n ['INPUT', 'TEXTAREA', 'SELECT'].includes(target.tagName) || target.isContentEditable\n\n if (!isInputElement) return\n\n // don't trigger if the viewer is open and panel not in slideout mode\n if (isSlideOut === false && target.closest('#viewer-dialog')) return\n\n onClose()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [onClose, isSlideOut])\n\n const { requestPipWindow } = usePiPWindow()\n\n const handleOpenPip = () => {\n openPip({\n entityType: activeEntityType,\n entities: entitiesToQuery,\n scope: scope,\n })\n requestPipWindow(500, 500)\n }\n\n const isCommentingEnabled = () => {\n // cannot comment on multiple projects\n if (projectNames.length > 1) return false\n if (isGuest) {\n // Guest can only comment in review sessions (for now)\n if (!entityListId) return false\n // Guest must have at least one category set for list\n const guestHasCategory = Object.prototype.hasOwnProperty.call(\n guestCategories,\n user.attrib?.email || '',\n )\n if (!guestHasCategory) return false\n }\n return true\n }\n\n return (\n <>\n <Styled.Panel className=\"details-panel\">\n <Styled.Toolbar>\n {/* TODO FIX PATH */}\n <EntityPath\n segments={entityPathSegments}\n versions={entityPathVersions}\n projectName={firstProject}\n hideProjectName={isSlideOut}\n isLoading={isFetchingEntitiesDetails || !entityPathSegments.length}\n entityType={activeEntityType}\n scope={scope}\n // @ts-ignore\n entityTypeIcons={entityTypeIcons}\n />\n <Styled.RightTools className=\"right-tools\">\n <Watchers\n entities={entitiesToQuery}\n entityType={entityType}\n options={projectUsers || []}\n onWatchersUpdate={onWatchersUpdate && onWatchersUpdate}\n userName={user.name}\n />\n <Button\n icon=\"picture_in_picture\"\n variant={'text'}\n data-tooltip=\"Picture in Picture\"\n onClick={handleOpenPip}\n />\n\n {onClose && (\n <Button\n icon=\"close\"\n variant={'text'}\n onClick={() => onClose && onClose()}\n data-shortcut={'Escape'}\n />\n )}\n </Styled.RightTools>\n </Styled.Toolbar>\n\n <DetailsPanelHeader\n entityType={activeEntityType}\n entitySubTypes={activeEntitySubTypes}\n entities={entityDetailsData}\n users={projectUsers}\n disabledAssignees={disabledProjectUsers}\n disabledStatuses={disabledStatuses}\n tagsOptions={tagsOptions}\n isFetching={isFetchingEntitiesDetails}\n isCompact={isCompact}\n currentTab={currentTab}\n onTabChange={setTab}\n entityTypeIcons={entityTypeIcons}\n onOpenViewer={(args) => onOpenViewer?.(args)}\n onEntityFocus={onEntityFocus}\n />\n {isFeed && !isError && (\n <FeedWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n entityListId={entityListId}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n currentTab={currentTab}\n setCurrentTab={setTab}\n />\n )}\n {currentTab === 'files' && (\n <DetailsPanelFiles\n entities={entityDetailsData}\n scope={scope}\n isLoadingVersion={isFetchingEntitiesDetails}\n />\n )}\n {currentTab === 'details' && (\n <FeedContextWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n >\n <DetailsPanelDetails\n entities={entityDetailsData}\n isLoading={isFetchingEntitiesDetails}\n />\n </FeedContextWrapper>\n )}\n </Styled.Panel>\n </>\n )\n}\n"],"names":["entitiesWithoutFeed","DetailsPanel","entityType","entitySubTypes","entitiesData","entities","tagsOptions","disabledStatuses","projectUsers","disabledProjectUsers","activeProjectUsers","projectsInfo","projectNames","isSlideOut","style","scope","isCompact","onClose","onWatchersUpdate","onOpenViewer","onEntityFocus","onOpen","annotations","removeAnnotation","exportAnnotationComposite","entityListId","guestCategories","closeSlideOut","openPip","user","isGuest","contextEntities","useDetailsPanelContext","currentTab","setTab","isFeed","useScopedDetailsPanel","hasCalledOnOpen","useRef","activeEntityType","activeEntities","activeEntitySubTypes","useEffect","projectInfo","useMemo","mergeProjectInfo","entityTypeIcons","task","acc","folder","productTypes","key","product","entitiesToQuery","entity","entityDetailsData","isFetchingEntitiesDetails","isError","originalArgs","useGetEntitiesDetailsPanelQuery","detailsPanelEntityTypes","allStatuses","getAllProjectStatuses","firstProject","firstProjectInfo","firstEntityData","entityPathSegments","entityPathVersions","useGetEntityPath","handleKeyDown","e","target","requestPipWindow","usePiPWindow","handleOpenPip","isCommentingEnabled","_a","jsxs","Styled.Panel","Styled.Toolbar","jsx","EntityPath","Styled.RightTools","Watchers","Button","DetailsPanelHeader","args","FeedWrapper","DetailsPanelFiles","FeedContextWrapper","DetailsPanelDetails"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as i } from "../../../../_virtual/jsx-runtime.es.js";
|
|
2
2
|
import { Button as G } from "@ynput/ayon-react-components";
|
|
3
|
-
import { useRef as pt, useEffect as
|
|
3
|
+
import { useRef as pt, useEffect as y, useMemo as H } from "react";
|
|
4
4
|
import { Panel as et, Toolbar as st, RightTools as nt } from "./DetailsPanel.styled.es.js";
|
|
5
5
|
import "../../api/base/client.es.js";
|
|
6
6
|
import "../../api/generated/graphql.es.js";
|
|
@@ -114,6 +114,7 @@ import "../../context/PowerpackContext.es.js";
|
|
|
114
114
|
import "../../context/MoveEntityContext.es.js";
|
|
115
115
|
import "../../context/MenuContext.es.js";
|
|
116
116
|
import "../../context/WebsocketContext.es.js";
|
|
117
|
+
import "../../context/GlobalContext.es.js";
|
|
117
118
|
import "../../components/ReviewableCard/ReviewableCard.es.js";
|
|
118
119
|
import "../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
|
|
119
120
|
import "../../components/FileThumbnail/FileThumbnail.es.js";
|
|
@@ -189,8 +190,8 @@ import "../ProjectTreeTable/components/ColumnHeaderMenu.es.js";
|
|
|
189
190
|
import yt from "./DetailsPanelHeader/DetailsPanelHeader.es.js";
|
|
190
191
|
import gt from "./DetailsPanelFiles/DetailsPanelFiles.es.js";
|
|
191
192
|
import ht from "./hooks/useGetEntityPath.es.js";
|
|
192
|
-
import
|
|
193
|
-
import
|
|
193
|
+
import Tt from "./helpers/getAllProjectsStatuses.es.js";
|
|
194
|
+
import Pt from "./FeedWrapper.es.js";
|
|
194
195
|
import jt from "./FeedContextWrapper.es.js";
|
|
195
196
|
import Et from "./helpers/mergeProjectInfo.es.js";
|
|
196
197
|
import "./DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
|
|
@@ -240,7 +241,7 @@ import "../../components/TableGridSwitch/TableGridSwitch.es.js";
|
|
|
240
241
|
import "../../components/SortingSetting/SortingSetting.styled.es.js";
|
|
241
242
|
import "../../components/EarlyPreview/EarlyPreview.es.js";
|
|
242
243
|
import "../../components/LegacyBadge/LegacyBadge.es.js";
|
|
243
|
-
const vt = ["product", "representation"],
|
|
244
|
+
const vt = ["product", "representation"], rp = ({
|
|
244
245
|
entityType: j,
|
|
245
246
|
entitySubTypes: Q = [],
|
|
246
247
|
// entities is data we already have from kanban
|
|
@@ -252,15 +253,15 @@ const vt = ["product", "representation"], ip = ({
|
|
|
252
253
|
projectUsers: E,
|
|
253
254
|
disabledProjectUsers: M,
|
|
254
255
|
activeProjectUsers: b,
|
|
255
|
-
projectsInfo:
|
|
256
|
-
projectNames:
|
|
256
|
+
projectsInfo: g = {},
|
|
257
|
+
projectNames: h = [],
|
|
257
258
|
isSlideOut: l = !1,
|
|
258
259
|
style: Nt = {},
|
|
259
|
-
scope:
|
|
260
|
+
scope: e,
|
|
260
261
|
isCompact: O = !1,
|
|
261
262
|
onClose: s,
|
|
262
263
|
onWatchersUpdate: x,
|
|
263
|
-
onOpenViewer:
|
|
264
|
+
onOpenViewer: T,
|
|
264
265
|
onEntityFocus: U,
|
|
265
266
|
onOpen: D,
|
|
266
267
|
// annotations
|
|
@@ -269,6 +270,7 @@ const vt = ["product", "representation"], ip = ({
|
|
|
269
270
|
exportAnnotationComposite: F,
|
|
270
271
|
entityListId: w,
|
|
271
272
|
guestCategories: X = {}
|
|
273
|
+
// optional tab state for independent tab management
|
|
272
274
|
}) => {
|
|
273
275
|
const {
|
|
274
276
|
closeSlideOut: z,
|
|
@@ -276,37 +278,37 @@ const vt = ["product", "representation"], ip = ({
|
|
|
276
278
|
user: k,
|
|
277
279
|
isGuest: Y,
|
|
278
280
|
entities: m
|
|
279
|
-
} = dt(), { currentTab:
|
|
280
|
-
|
|
281
|
-
D && !
|
|
282
|
-
}, []),
|
|
283
|
-
vt.includes(r) &&
|
|
284
|
-
}, [r,
|
|
285
|
-
const
|
|
286
|
-
() => Et(
|
|
287
|
-
[
|
|
288
|
-
),
|
|
281
|
+
} = dt(), { currentTab: p, setTab: c, isFeed: Z } = ft(e), C = pt(!1), r = (m == null ? void 0 : m.entityType) ?? j, L = (m == null ? void 0 : m.entities) ?? q, $ = (m == null ? void 0 : m.entitySubTypes) ?? Q;
|
|
282
|
+
y(() => {
|
|
283
|
+
D && !C.current && (C.current = !0, D());
|
|
284
|
+
}, []), y(() => {
|
|
285
|
+
vt.includes(r) && p !== "details" && c("details");
|
|
286
|
+
}, [r, p, c]);
|
|
287
|
+
const P = H(
|
|
288
|
+
() => Et(g, h),
|
|
289
|
+
[g, h]
|
|
290
|
+
), W = H(
|
|
289
291
|
() => ({
|
|
290
|
-
task:
|
|
291
|
-
folder:
|
|
292
|
+
task: P.taskTypes.filter((t) => !!t.icon).reduce((t, o) => ({ ...t, [o.name]: o.icon }), {}),
|
|
293
|
+
folder: P.folderTypes.filter((t) => !!t.icon).reduce((t, o) => ({ ...t, [o.name]: o.icon }), {}),
|
|
292
294
|
product: Object.entries(ct).reduce(
|
|
293
|
-
(t, [o,
|
|
295
|
+
(t, [o, u]) => ({ ...t, [o]: u.icon }),
|
|
294
296
|
{}
|
|
295
297
|
)
|
|
296
298
|
}),
|
|
297
|
-
[
|
|
299
|
+
[P]
|
|
298
300
|
);
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
}, [r,
|
|
302
|
-
let n =
|
|
301
|
+
y(() => {
|
|
302
|
+
p === "files" && r !== "version" && c("activity");
|
|
303
|
+
}, [r, p, e]);
|
|
304
|
+
let n = L.length ? L.map((t) => ({ id: t.id, projectName: t.projectName })) : (
|
|
303
305
|
// @ts-expect-error = not sure what's going on with entitiesData, we should try and remove it
|
|
304
306
|
_.map((t) => ({ id: t.id, projectName: t.projectName }))
|
|
305
307
|
);
|
|
306
308
|
n = n.filter((t) => t.id);
|
|
307
309
|
const {
|
|
308
310
|
data: a = [],
|
|
309
|
-
isFetching:
|
|
311
|
+
isFetching: d,
|
|
310
312
|
isError: V,
|
|
311
313
|
originalArgs: tt
|
|
312
314
|
} = at(
|
|
@@ -315,20 +317,20 @@ const vt = ["product", "representation"], ip = ({
|
|
|
315
317
|
skip: !n.length || !lt.includes(r)
|
|
316
318
|
}
|
|
317
319
|
);
|
|
318
|
-
|
|
320
|
+
y(() => {
|
|
319
321
|
l || z();
|
|
320
322
|
}, [tt, l]);
|
|
321
|
-
const I =
|
|
323
|
+
const I = Tt(g), f = h[0], S = g[f] || {}, it = a[0] || {}, [R, rt] = ht({
|
|
322
324
|
entity: it,
|
|
323
325
|
entityType: r,
|
|
324
|
-
projectName:
|
|
325
|
-
isLoading:
|
|
326
|
+
projectName: f,
|
|
327
|
+
isLoading: d
|
|
326
328
|
});
|
|
327
|
-
|
|
329
|
+
y(() => {
|
|
328
330
|
const t = (o) => {
|
|
329
331
|
if (o.key === "Escape" && s) {
|
|
330
|
-
const
|
|
331
|
-
if (!(["INPUT", "TEXTAREA", "SELECT"].includes(
|
|
332
|
+
const u = o.target;
|
|
333
|
+
if (!(["INPUT", "TEXTAREA", "SELECT"].includes(u.tagName) || u.isContentEditable) || l === !1 && u.closest("#viewer-dialog")) return;
|
|
332
334
|
s();
|
|
333
335
|
}
|
|
334
336
|
};
|
|
@@ -338,11 +340,11 @@ const vt = ["product", "representation"], ip = ({
|
|
|
338
340
|
J({
|
|
339
341
|
entityType: r,
|
|
340
342
|
entities: n,
|
|
341
|
-
scope:
|
|
343
|
+
scope: e
|
|
342
344
|
}), ot(500, 500);
|
|
343
345
|
}, A = () => {
|
|
344
346
|
var t;
|
|
345
|
-
return !(
|
|
347
|
+
return !(h.length > 1 || Y && (!w || !Object.prototype.hasOwnProperty.call(
|
|
346
348
|
X,
|
|
347
349
|
((t = k.attrib) == null ? void 0 : t.email) || ""
|
|
348
350
|
)));
|
|
@@ -354,12 +356,12 @@ const vt = ["product", "representation"], ip = ({
|
|
|
354
356
|
{
|
|
355
357
|
segments: R,
|
|
356
358
|
versions: rt,
|
|
357
|
-
projectName:
|
|
359
|
+
projectName: f,
|
|
358
360
|
hideProjectName: l,
|
|
359
|
-
isLoading:
|
|
361
|
+
isLoading: d || !R.length,
|
|
360
362
|
entityType: r,
|
|
361
|
-
scope:
|
|
362
|
-
entityTypeIcons:
|
|
363
|
+
scope: e,
|
|
364
|
+
entityTypeIcons: W
|
|
363
365
|
}
|
|
364
366
|
),
|
|
365
367
|
/* @__PURE__ */ i.jsxs(nt, { className: "right-tools", children: [
|
|
@@ -403,51 +405,53 @@ const vt = ["product", "representation"], ip = ({
|
|
|
403
405
|
disabledAssignees: M,
|
|
404
406
|
disabledStatuses: K,
|
|
405
407
|
tagsOptions: B,
|
|
406
|
-
isFetching:
|
|
408
|
+
isFetching: d,
|
|
407
409
|
isCompact: O,
|
|
408
|
-
currentTab:
|
|
409
|
-
onTabChange:
|
|
410
|
-
entityTypeIcons:
|
|
411
|
-
onOpenViewer: (t) =>
|
|
410
|
+
currentTab: p,
|
|
411
|
+
onTabChange: c,
|
|
412
|
+
entityTypeIcons: W,
|
|
413
|
+
onOpenViewer: (t) => T == null ? void 0 : T(t),
|
|
412
414
|
onEntityFocus: U
|
|
413
415
|
}
|
|
414
416
|
),
|
|
415
417
|
Z && !V && /* @__PURE__ */ i.jsx(
|
|
416
|
-
|
|
418
|
+
Pt,
|
|
417
419
|
{
|
|
418
420
|
entityType: r,
|
|
419
421
|
entities: a,
|
|
420
422
|
activeUsers: b || [],
|
|
421
423
|
projectInfo: S,
|
|
422
|
-
projectName:
|
|
424
|
+
projectName: f,
|
|
423
425
|
disabled: !A(),
|
|
424
|
-
scope:
|
|
426
|
+
scope: e,
|
|
425
427
|
statuses: I,
|
|
426
428
|
readOnly: !1,
|
|
427
429
|
entityListId: w,
|
|
428
430
|
annotations: v,
|
|
429
431
|
removeAnnotation: N,
|
|
430
|
-
exportAnnotationComposite: F
|
|
432
|
+
exportAnnotationComposite: F,
|
|
433
|
+
currentTab: p,
|
|
434
|
+
setCurrentTab: c
|
|
431
435
|
}
|
|
432
436
|
),
|
|
433
|
-
|
|
437
|
+
p === "files" && /* @__PURE__ */ i.jsx(
|
|
434
438
|
gt,
|
|
435
439
|
{
|
|
436
440
|
entities: a,
|
|
437
|
-
scope:
|
|
438
|
-
isLoadingVersion:
|
|
441
|
+
scope: e,
|
|
442
|
+
isLoadingVersion: d
|
|
439
443
|
}
|
|
440
444
|
),
|
|
441
|
-
|
|
445
|
+
p === "details" && /* @__PURE__ */ i.jsx(
|
|
442
446
|
jt,
|
|
443
447
|
{
|
|
444
448
|
entityType: r,
|
|
445
449
|
entities: a,
|
|
446
450
|
activeUsers: b || [],
|
|
447
451
|
projectInfo: S,
|
|
448
|
-
projectName:
|
|
452
|
+
projectName: f,
|
|
449
453
|
disabled: !A(),
|
|
450
|
-
scope:
|
|
454
|
+
scope: e,
|
|
451
455
|
statuses: I,
|
|
452
456
|
readOnly: !1,
|
|
453
457
|
annotations: v,
|
|
@@ -457,7 +461,7 @@ const vt = ["product", "representation"], ip = ({
|
|
|
457
461
|
xt,
|
|
458
462
|
{
|
|
459
463
|
entities: a,
|
|
460
|
-
isLoading:
|
|
464
|
+
isLoading: d
|
|
461
465
|
}
|
|
462
466
|
)
|
|
463
467
|
}
|
|
@@ -465,7 +469,7 @@ const vt = ["product", "representation"], ip = ({
|
|
|
465
469
|
] }) });
|
|
466
470
|
};
|
|
467
471
|
export {
|
|
468
|
-
|
|
472
|
+
rp as DetailsPanel,
|
|
469
473
|
vt as entitiesWithoutFeed
|
|
470
474
|
};
|
|
471
475
|
//# sourceMappingURL=DetailsPanel.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanel.es.js","sources":["../../../../../src/containers/DetailsPanel/DetailsPanel.tsx"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport React, { useEffect, useMemo, useRef } from 'react'\nimport * as Styled from './DetailsPanel.styled'\n\n// shared\nimport { useGetEntitiesDetailsPanelQuery, detailsPanelEntityTypes } from '@shared/api'\nimport type { ProjectModel, Tag, DetailsPanelEntityType } from '@shared/api'\nimport { DetailsPanelDetails, EntityPath, Watchers } from '@shared/components'\nimport { usePiPWindow } from '@shared/context/pip/PiPProvider'\nimport { productTypes } from '@shared/util'\nimport { useDetailsPanelContext, usePowerpack, useScopedDetailsPanel } from '@shared/context'\n\nimport DetailsPanelHeader from './DetailsPanelHeader/DetailsPanelHeader'\nimport DetailsPanelFiles from './DetailsPanelFiles'\nimport useGetEntityPath from './hooks/useGetEntityPath'\nimport getAllProjectStatuses from './helpers/getAllProjectsStatuses'\nimport FeedWrapper from './FeedWrapper'\nimport FeedContextWrapper from './FeedContextWrapper'\nimport mergeProjectInfo from './helpers/mergeProjectInfo'\n\nexport const entitiesWithoutFeed = ['product', 'representation']\n\ntype User = { avatarUrl: string; name: string; fullName?: string }\n\nexport type DetailsPanelProps = {\n entityType: DetailsPanelEntityType\n entitySubTypes?: string[] // used to get actions before the entity has loaded\n entitiesData?: { id: string; label: string; type: DetailsPanelEntityType }[]\n entities?: { id: string; projectName: string }[]\n tagsOptions?: Tag[]\n disabledStatuses?: string[]\n projectUsers?: User[]\n disabledProjectUsers?: string[]\n activeProjectUsers?: string[]\n projectsInfo?: Record<string, ProjectModel>\n projectNames?: string[]\n isSlideOut?: boolean\n style?: React.CSSProperties\n scope: string\n isCompact?: boolean\n onClose?: () => void\n onWatchersUpdate?: (added: any[], removed: any[]) => void\n onOpenViewer?: (entity: any) => void\n onEntityFocus?: (id: string, entityType: DetailsPanelEntityType) => void\n onOpen?: () => void\n // annotations\n annotations?: any\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n entityListId?: string\n guestCategories?: Record<string, string> // only used for guests to find if they have access to any categories\n}\n\nexport const DetailsPanel = ({\n entityType,\n entitySubTypes = [],\n // entities is data we already have from kanban\n entitiesData = [],\n // entityIds are used to get the full details data for the entities\n entities = [],\n tagsOptions = [],\n disabledStatuses,\n projectUsers,\n disabledProjectUsers,\n activeProjectUsers,\n projectsInfo = {},\n projectNames = [],\n isSlideOut = false,\n style = {},\n scope,\n isCompact = false,\n onClose,\n onWatchersUpdate,\n onOpenViewer,\n onEntityFocus,\n onOpen,\n // annotations\n annotations,\n removeAnnotation,\n exportAnnotationComposite,\n entityListId,\n guestCategories = {},\n}: DetailsPanelProps) => {\n const {\n closeSlideOut,\n openPip,\n user,\n isGuest,\n entities: contextEntities,\n } = useDetailsPanelContext()\n const { currentTab, setTab, isFeed } = useScopedDetailsPanel(scope)\n const hasCalledOnOpen = useRef(false)\n\n // Use context entities if available, otherwise use props\n const activeEntityType = contextEntities?.entityType ?? entityType\n const activeEntities = contextEntities?.entities ?? entities\n const activeEntitySubTypes = contextEntities?.entitySubTypes ?? entitySubTypes\n\n // Fire onOpen callback once when component mounts and renders\n useEffect(() => {\n if (onOpen && !hasCalledOnOpen.current) {\n hasCalledOnOpen.current = true\n onOpen()\n }\n }, [])\n\n // Force details tab for specific entity types\n useEffect(() => {\n if (entitiesWithoutFeed.includes(activeEntityType) && currentTab !== 'details') {\n setTab('details')\n }\n }, [activeEntityType, currentTab, setTab])\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, projectNames),\n [projectsInfo, projectNames],\n )\n\n // build icons for entity types\n const entityTypeIcons = useMemo(\n () => ({\n task: projectInfo.taskTypes\n .filter((task) => !!task.icon)\n .reduce((acc, task) => ({ ...acc, [task.name]: task.icon }), {}),\n folder: projectInfo.folderTypes\n .filter((folder) => !!folder.icon)\n .reduce((acc, folder) => ({ ...acc, [folder.name]: folder.icon }), {}),\n product: Object.entries(productTypes).reduce(\n (acc, [key, product]) => ({ ...acc, [key]: product.icon }),\n {},\n ),\n }),\n [projectInfo],\n )\n\n // check if tab needs to be updated when entity type changes\n // for example when switching from version to task, task doesn't have reps tab\n // if reps tab was selected, set default to feed\n useEffect(() => {\n if (currentTab === 'files') {\n // check entity type is still version\n if (activeEntityType !== 'version') {\n setTab('activity')\n }\n }\n }, [activeEntityType, currentTab, scope])\n\n // now we get the full details data for selected entities\n let entitiesToQuery = activeEntities.length\n ? activeEntities.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n : // @ts-expect-error = not sure what's going on with entitiesData, we should try and remove it\n entitiesData.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n\n entitiesToQuery = entitiesToQuery.filter((entity) => entity.id)\n\n const {\n data: entityDetailsData = [],\n isFetching: isFetchingEntitiesDetails,\n isError,\n originalArgs,\n } = useGetEntitiesDetailsPanelQuery(\n { entityType: activeEntityType, entities: entitiesToQuery },\n {\n skip: !entitiesToQuery.length || !detailsPanelEntityTypes.includes(activeEntityType),\n },\n )\n\n // the entity changes then we close the slide out\n useEffect(() => {\n if (!isSlideOut) {\n closeSlideOut()\n }\n }, [originalArgs, isSlideOut])\n\n // TODO: merge current entities data with fresh details data\n\n const allStatuses = getAllProjectStatuses(projectsInfo)\n\n // get the first project name and info to be used in the feed.\n const firstProject = projectNames[0]\n const firstProjectInfo = projectsInfo[firstProject] || {}\n const firstEntityData = entityDetailsData[0] || {}\n\n // build the full entity path for the first entity\n const [entityPathSegments, entityPathVersions] = useGetEntityPath({\n entity: firstEntityData,\n entityType: activeEntityType,\n projectName: firstProject,\n isLoading: isFetchingEntitiesDetails,\n })\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape' && onClose) {\n // Don't trigger if we're in an input element\n const target = e.target as HTMLElement\n const isInputElement =\n ['INPUT', 'TEXTAREA', 'SELECT'].includes(target.tagName) || target.isContentEditable\n\n if (!isInputElement) return\n\n // don't trigger if the viewer is open and panel not in slideout mode\n if (isSlideOut === false && target.closest('#viewer-dialog')) return\n\n onClose()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [onClose, isSlideOut])\n\n const { requestPipWindow } = usePiPWindow()\n\n const handleOpenPip = () => {\n openPip({\n entityType: activeEntityType,\n entities: entitiesToQuery,\n scope: scope,\n })\n requestPipWindow(500, 500)\n }\n\n const isCommentingEnabled = () => {\n // cannot comment on multiple projects\n if (projectNames.length > 1) return false\n if (isGuest) {\n // Guest can only comment in review sessions (for now)\n if (!entityListId) return false\n // Guest must have at least one category set for list\n const guestHasCategory = Object.prototype.hasOwnProperty.call(\n guestCategories,\n user.attrib?.email || '',\n )\n if (!guestHasCategory) return false\n }\n return true\n }\n\n return (\n <>\n <Styled.Panel className=\"details-panel\">\n <Styled.Toolbar>\n {/* TODO FIX PATH */}\n <EntityPath\n segments={entityPathSegments}\n versions={entityPathVersions}\n projectName={firstProject}\n hideProjectName={isSlideOut}\n isLoading={isFetchingEntitiesDetails || !entityPathSegments.length}\n entityType={activeEntityType}\n scope={scope}\n // @ts-ignore\n entityTypeIcons={entityTypeIcons}\n />\n <Styled.RightTools className=\"right-tools\">\n <Watchers\n entities={entitiesToQuery}\n entityType={entityType}\n options={projectUsers || []}\n onWatchersUpdate={onWatchersUpdate && onWatchersUpdate}\n userName={user.name}\n />\n <Button\n icon=\"picture_in_picture\"\n variant={'text'}\n data-tooltip=\"Picture in Picture\"\n onClick={handleOpenPip}\n />\n\n {onClose && (\n <Button\n icon=\"close\"\n variant={'text'}\n onClick={() => onClose && onClose()}\n data-shortcut={'Escape'}\n />\n )}\n </Styled.RightTools>\n </Styled.Toolbar>\n\n <DetailsPanelHeader\n entityType={activeEntityType}\n entitySubTypes={activeEntitySubTypes}\n entities={entityDetailsData}\n users={projectUsers}\n disabledAssignees={disabledProjectUsers}\n disabledStatuses={disabledStatuses}\n tagsOptions={tagsOptions}\n isFetching={isFetchingEntitiesDetails}\n isCompact={isCompact}\n currentTab={currentTab}\n onTabChange={setTab}\n entityTypeIcons={entityTypeIcons}\n onOpenViewer={(args) => onOpenViewer?.(args)}\n onEntityFocus={onEntityFocus}\n />\n {isFeed && !isError && (\n <FeedWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n entityListId={entityListId}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n />\n )}\n {currentTab === 'files' && (\n <DetailsPanelFiles\n entities={entityDetailsData}\n scope={scope}\n isLoadingVersion={isFetchingEntitiesDetails}\n />\n )}\n {currentTab === 'details' && (\n <FeedContextWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n >\n <DetailsPanelDetails\n entities={entityDetailsData}\n isLoading={isFetchingEntitiesDetails}\n />\n </FeedContextWrapper>\n )}\n </Styled.Panel>\n </>\n )\n}\n"],"names":["entitiesWithoutFeed","DetailsPanel","entityType","entitySubTypes","entitiesData","entities","tagsOptions","disabledStatuses","projectUsers","disabledProjectUsers","activeProjectUsers","projectsInfo","projectNames","isSlideOut","style","scope","isCompact","onClose","onWatchersUpdate","onOpenViewer","onEntityFocus","onOpen","annotations","removeAnnotation","exportAnnotationComposite","entityListId","guestCategories","closeSlideOut","openPip","user","isGuest","contextEntities","useDetailsPanelContext","currentTab","setTab","isFeed","useScopedDetailsPanel","hasCalledOnOpen","useRef","activeEntityType","activeEntities","activeEntitySubTypes","useEffect","projectInfo","useMemo","mergeProjectInfo","entityTypeIcons","task","acc","folder","productTypes","key","product","entitiesToQuery","entity","entityDetailsData","isFetchingEntitiesDetails","isError","originalArgs","useGetEntitiesDetailsPanelQuery","detailsPanelEntityTypes","allStatuses","getAllProjectStatuses","firstProject","firstProjectInfo","firstEntityData","entityPathSegments","entityPathVersions","useGetEntityPath","handleKeyDown","e","target","requestPipWindow","usePiPWindow","handleOpenPip","isCommentingEnabled","_a","jsxs","Styled.Panel","Styled.Toolbar","jsx","EntityPath","Styled.RightTools","Watchers","Button","DetailsPanelHeader","args","FeedWrapper","DetailsPanelFiles","FeedContextWrapper","DetailsPanelDetails"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DetailsPanel.es.js","sources":["../../../../../src/containers/DetailsPanel/DetailsPanel.tsx"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport React, { useEffect, useMemo, useRef } from 'react'\nimport * as Styled from './DetailsPanel.styled'\n\n// shared\nimport { useGetEntitiesDetailsPanelQuery, detailsPanelEntityTypes } from '@shared/api'\nimport type { ProjectModel, Tag, DetailsPanelEntityType } from '@shared/api'\nimport { DetailsPanelDetails, EntityPath, Watchers } from '@shared/components'\nimport { usePiPWindow } from '@shared/context/pip/PiPProvider'\nimport { productTypes } from '@shared/util'\nimport { useDetailsPanelContext, usePowerpack, useScopedDetailsPanel, DetailsPanelTab } from '@shared/context'\n\nimport DetailsPanelHeader from './DetailsPanelHeader/DetailsPanelHeader'\nimport DetailsPanelFiles from './DetailsPanelFiles'\nimport useGetEntityPath from './hooks/useGetEntityPath'\nimport getAllProjectStatuses from './helpers/getAllProjectsStatuses'\nimport FeedWrapper from './FeedWrapper'\nimport FeedContextWrapper from './FeedContextWrapper'\nimport mergeProjectInfo from './helpers/mergeProjectInfo'\n\nexport const entitiesWithoutFeed = ['product', 'representation']\n\ntype User = { avatarUrl: string; name: string; fullName?: string }\n\nexport type DetailsPanelProps = {\n entityType: DetailsPanelEntityType\n entitySubTypes?: string[] // used to get actions before the entity has loaded\n entitiesData?: { id: string; label: string; type: DetailsPanelEntityType }[]\n entities?: { id: string; projectName: string }[]\n tagsOptions?: Tag[]\n disabledStatuses?: string[]\n projectUsers?: User[]\n disabledProjectUsers?: string[]\n activeProjectUsers?: string[]\n projectsInfo?: Record<string, ProjectModel>\n projectNames?: string[]\n isSlideOut?: boolean\n style?: React.CSSProperties\n scope: string\n isCompact?: boolean\n onClose?: () => void\n onWatchersUpdate?: (added: any[], removed: any[]) => void\n onOpenViewer?: (entity: any) => void\n onEntityFocus?: (id: string, entityType: DetailsPanelEntityType) => void\n onOpen?: () => void\n // annotations\n annotations?: any\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n entityListId?: string\n guestCategories?: Record<string, string> // only used for guests to find if they have access to any categories\n // optional tab state for independent tab management\n}\n\nexport const DetailsPanel = ({\n entityType,\n entitySubTypes = [],\n // entities is data we already have from kanban\n entitiesData = [],\n // entityIds are used to get the full details data for the entities\n entities = [],\n tagsOptions = [],\n disabledStatuses,\n projectUsers,\n disabledProjectUsers,\n activeProjectUsers,\n projectsInfo = {},\n projectNames = [],\n isSlideOut = false,\n style = {},\n scope,\n isCompact = false,\n onClose,\n onWatchersUpdate,\n onOpenViewer,\n onEntityFocus,\n onOpen,\n // annotations\n annotations,\n removeAnnotation,\n exportAnnotationComposite,\n entityListId,\n guestCategories = {},\n // optional tab state for independent tab management\n}: DetailsPanelProps) => {\n const {\n closeSlideOut,\n openPip,\n user,\n isGuest,\n entities: contextEntities,\n } = useDetailsPanelContext()\n const { currentTab, setTab, isFeed } = useScopedDetailsPanel(scope)\n const hasCalledOnOpen = useRef(false)\n\n // Use context entities if available, otherwise use props\n const activeEntityType = contextEntities?.entityType ?? entityType\n const activeEntities = contextEntities?.entities ?? entities\n const activeEntitySubTypes = contextEntities?.entitySubTypes ?? entitySubTypes\n\n // Fire onOpen callback once when component mounts and renders\n useEffect(() => {\n if (onOpen && !hasCalledOnOpen.current) {\n hasCalledOnOpen.current = true\n onOpen()\n }\n }, [])\n\n // Force details tab for specific entity types\n useEffect(() => {\n if (entitiesWithoutFeed.includes(activeEntityType) && currentTab !== 'details') {\n setTab('details')\n }\n }, [activeEntityType, currentTab, setTab])\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, projectNames),\n [projectsInfo, projectNames],\n )\n\n // build icons for entity types\n const entityTypeIcons = useMemo(\n () => ({\n task: projectInfo.taskTypes\n .filter((task) => !!task.icon)\n .reduce((acc, task) => ({ ...acc, [task.name]: task.icon }), {}),\n folder: projectInfo.folderTypes\n .filter((folder) => !!folder.icon)\n .reduce((acc, folder) => ({ ...acc, [folder.name]: folder.icon }), {}),\n product: Object.entries(productTypes).reduce(\n (acc, [key, product]) => ({ ...acc, [key]: product.icon }),\n {},\n ),\n }),\n [projectInfo],\n )\n\n // check if tab needs to be updated when entity type changes\n // for example when switching from version to task, task doesn't have reps tab\n // if reps tab was selected, set default to feed\n useEffect(() => {\n if (currentTab === 'files') {\n // check entity type is still version\n if (activeEntityType !== 'version') {\n setTab('activity')\n }\n }\n }, [activeEntityType, currentTab, scope])\n\n // now we get the full details data for selected entities\n let entitiesToQuery = activeEntities.length\n ? activeEntities.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n : // @ts-expect-error = not sure what's going on with entitiesData, we should try and remove it\n entitiesData.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n\n entitiesToQuery = entitiesToQuery.filter((entity) => entity.id)\n\n const {\n data: entityDetailsData = [],\n isFetching: isFetchingEntitiesDetails,\n isError,\n originalArgs,\n } = useGetEntitiesDetailsPanelQuery(\n { entityType: activeEntityType, entities: entitiesToQuery },\n {\n skip: !entitiesToQuery.length || !detailsPanelEntityTypes.includes(activeEntityType),\n },\n )\n\n // the entity changes then we close the slide out\n useEffect(() => {\n if (!isSlideOut) {\n closeSlideOut()\n }\n }, [originalArgs, isSlideOut])\n\n // TODO: merge current entities data with fresh details data\n\n const allStatuses = getAllProjectStatuses(projectsInfo)\n\n // get the first project name and info to be used in the feed.\n const firstProject = projectNames[0]\n const firstProjectInfo = projectsInfo[firstProject] || {}\n const firstEntityData = entityDetailsData[0] || {}\n\n // build the full entity path for the first entity\n const [entityPathSegments, entityPathVersions] = useGetEntityPath({\n entity: firstEntityData,\n entityType: activeEntityType,\n projectName: firstProject,\n isLoading: isFetchingEntitiesDetails,\n })\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape' && onClose) {\n // Don't trigger if we're in an input element\n const target = e.target as HTMLElement\n const isInputElement =\n ['INPUT', 'TEXTAREA', 'SELECT'].includes(target.tagName) || target.isContentEditable\n\n if (!isInputElement) return\n\n // don't trigger if the viewer is open and panel not in slideout mode\n if (isSlideOut === false && target.closest('#viewer-dialog')) return\n\n onClose()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [onClose, isSlideOut])\n\n const { requestPipWindow } = usePiPWindow()\n\n const handleOpenPip = () => {\n openPip({\n entityType: activeEntityType,\n entities: entitiesToQuery,\n scope: scope,\n })\n requestPipWindow(500, 500)\n }\n\n const isCommentingEnabled = () => {\n // cannot comment on multiple projects\n if (projectNames.length > 1) return false\n if (isGuest) {\n // Guest can only comment in review sessions (for now)\n if (!entityListId) return false\n // Guest must have at least one category set for list\n const guestHasCategory = Object.prototype.hasOwnProperty.call(\n guestCategories,\n user.attrib?.email || '',\n )\n if (!guestHasCategory) return false\n }\n return true\n }\n\n return (\n <>\n <Styled.Panel className=\"details-panel\">\n <Styled.Toolbar>\n {/* TODO FIX PATH */}\n <EntityPath\n segments={entityPathSegments}\n versions={entityPathVersions}\n projectName={firstProject}\n hideProjectName={isSlideOut}\n isLoading={isFetchingEntitiesDetails || !entityPathSegments.length}\n entityType={activeEntityType}\n scope={scope}\n // @ts-ignore\n entityTypeIcons={entityTypeIcons}\n />\n <Styled.RightTools className=\"right-tools\">\n <Watchers\n entities={entitiesToQuery}\n entityType={entityType}\n options={projectUsers || []}\n onWatchersUpdate={onWatchersUpdate && onWatchersUpdate}\n userName={user.name}\n />\n <Button\n icon=\"picture_in_picture\"\n variant={'text'}\n data-tooltip=\"Picture in Picture\"\n onClick={handleOpenPip}\n />\n\n {onClose && (\n <Button\n icon=\"close\"\n variant={'text'}\n onClick={() => onClose && onClose()}\n data-shortcut={'Escape'}\n />\n )}\n </Styled.RightTools>\n </Styled.Toolbar>\n\n <DetailsPanelHeader\n entityType={activeEntityType}\n entitySubTypes={activeEntitySubTypes}\n entities={entityDetailsData}\n users={projectUsers}\n disabledAssignees={disabledProjectUsers}\n disabledStatuses={disabledStatuses}\n tagsOptions={tagsOptions}\n isFetching={isFetchingEntitiesDetails}\n isCompact={isCompact}\n currentTab={currentTab}\n onTabChange={setTab}\n entityTypeIcons={entityTypeIcons}\n onOpenViewer={(args) => onOpenViewer?.(args)}\n onEntityFocus={onEntityFocus}\n />\n {isFeed && !isError && (\n <FeedWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n entityListId={entityListId}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n currentTab={currentTab}\n setCurrentTab={setTab}\n />\n )}\n {currentTab === 'files' && (\n <DetailsPanelFiles\n entities={entityDetailsData}\n scope={scope}\n isLoadingVersion={isFetchingEntitiesDetails}\n />\n )}\n {currentTab === 'details' && (\n <FeedContextWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n >\n <DetailsPanelDetails\n entities={entityDetailsData}\n isLoading={isFetchingEntitiesDetails}\n />\n </FeedContextWrapper>\n )}\n </Styled.Panel>\n </>\n )\n}\n"],"names":["entitiesWithoutFeed","DetailsPanel","entityType","entitySubTypes","entitiesData","entities","tagsOptions","disabledStatuses","projectUsers","disabledProjectUsers","activeProjectUsers","projectsInfo","projectNames","isSlideOut","style","scope","isCompact","onClose","onWatchersUpdate","onOpenViewer","onEntityFocus","onOpen","annotations","removeAnnotation","exportAnnotationComposite","entityListId","guestCategories","closeSlideOut","openPip","user","isGuest","contextEntities","useDetailsPanelContext","currentTab","setTab","isFeed","useScopedDetailsPanel","hasCalledOnOpen","useRef","activeEntityType","activeEntities","activeEntitySubTypes","useEffect","projectInfo","useMemo","mergeProjectInfo","entityTypeIcons","task","acc","folder","productTypes","key","product","entitiesToQuery","entity","entityDetailsData","isFetchingEntitiesDetails","isError","originalArgs","useGetEntitiesDetailsPanelQuery","detailsPanelEntityTypes","allStatuses","getAllProjectStatuses","firstProject","firstProjectInfo","firstEntityData","entityPathSegments","entityPathVersions","useGetEntityPath","handleKeyDown","e","target","requestPipWindow","usePiPWindow","handleOpenPip","isCommentingEnabled","_a","jsxs","Styled.Panel","Styled.Toolbar","jsx","EntityPath","Styled.RightTools","Watchers","Button","DetailsPanelHeader","args","FeedWrapper","DetailsPanelFiles","FeedContextWrapper","DetailsPanelDetails"],"mappings":"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"}
|