@ynput/ayon-frontend-shared 0.2.16 → 0.2.18
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 +15 -13
- package/dist/DetailsPanel.cjs.js.map +1 -1
- package/dist/DetailsPanel.es.js +15 -13
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +38 -34
- package/dist/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/ProjectTreeTable.es.js +20 -16
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/api.cjs.js +7 -0
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +7 -0
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +9 -4
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +10 -5
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +12 -10
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +12 -10
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.cjs.js +1 -2
- package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.cjs.js.map +1 -1
- package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.es.js +1 -2
- package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +26 -23
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +26 -23
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +4 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +4 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +13 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +13 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +2 -0
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +2 -0
- package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +2 -0
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +2 -0
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/products/createProduct.cjs.js +54 -0
- package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/products/createProduct.es.js +54 -0
- package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -0
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -0
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +2 -0
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +80 -0
- package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/versions/updateVersions.es.js +80 -0
- package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +2 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +2 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +2 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +2 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/Dropzone.cjs.js +13 -0
- package/dist/shared/src/components/EntityPanelUploader/Dropzone.cjs.js.map +1 -0
- package/dist/shared/src/components/EntityPanelUploader/Dropzone.es.js +14 -0
- package/dist/shared/src/components/EntityPanelUploader/Dropzone.es.js.map +1 -0
- package/dist/shared/src/components/{EntityThumbnailUploader/EntityThumbnailUploader.cjs.js → EntityPanelUploader/EntityPanelUploader.cjs.js} +378 -120
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -0
- package/dist/shared/src/components/{EntityThumbnailUploader/EntityThumbnailUploader.es.js → EntityPanelUploader/EntityPanelUploader.es.js} +378 -120
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js +95 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.styled.es.js +95 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.styled.es.js.map +1 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +76 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +77 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -0
- 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 +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js +2 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js +2 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +5 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +5 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +23 -86
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +23 -86
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js +2 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js +2 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +2 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +2 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +12 -10
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +12 -10
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +35 -109
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +35 -109
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +12 -10
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +12 -10
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +212 -0
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -0
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +212 -0
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +2 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +2 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +28 -7
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +28 -7
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +12 -10
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +12 -10
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionDialog.cjs.js +85 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionDialog.cjs.js.map +1 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionDialog.es.js +85 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionDialog.es.js.map +1 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +401 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +401 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -0
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +308 -0
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -0
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +308 -0
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -0
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +2 -0
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +2 -0
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +12 -10
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +12 -10
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +2 -0
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +2 -0
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.styled.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.styled.es.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +12 -10
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +12 -10
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +18 -14
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +18 -14
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +12 -10
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +12 -10
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +12 -10
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +12 -10
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +15 -11
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +15 -11
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.es.js +2 -2
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +2 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +2 -0
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +20 -11
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +20 -11
- 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 +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +11 -10
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +11 -10
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js +1 -174
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js +2 -175
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +212 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +212 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -185
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +2 -186
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +197 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +197 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js +1 -79
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js +2 -80
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +84 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +84 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -277
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +2 -278
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +282 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +282 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +8 -175
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +8 -175
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/{context/ProjectTableModulesContext.cjs.js → hooks/useProjectTableModules.cjs.js} +28 -48
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/{context/ProjectTableModulesContext.es.js → hooks/useProjectTableModules.es.js} +28 -48
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +8 -5
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +7 -4
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +13 -11
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +13 -11
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +2 -0
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +2 -0
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +2 -0
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +2 -0
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +2 -0
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +2 -0
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +2 -0
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +3 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +15 -4
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js +15 -4
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
- package/dist/shared/src/context/pip/PiPWrapper.cjs.js +1 -1
- package/dist/shared/src/context/pip/PiPWrapper.cjs.js.map +1 -1
- package/dist/shared/src/context/pip/PiPWrapper.es.js +1 -1
- package/dist/shared/src/context/pip/PiPWrapper.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +2 -0
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +2 -0
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +2 -0
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +2 -0
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js +3 -3
- package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js +3 -3
- package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +2 -0
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +2 -0
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +2 -0
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +2 -0
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/productTypes.cjs.js +1 -0
- package/dist/shared/src/util/productTypes.cjs.js.map +1 -1
- package/dist/shared/src/util/productTypes.es.js +1 -0
- package/dist/shared/src/util/productTypes.es.js.map +1 -1
- package/dist/shared/src/utils/extractVersionFromFilename.cjs.js +32 -0
- package/dist/shared/src/utils/extractVersionFromFilename.cjs.js.map +1 -0
- package/dist/shared/src/utils/extractVersionFromFilename.es.js +32 -0
- package/dist/shared/src/utils/extractVersionFromFilename.es.js.map +1 -0
- package/dist/shared/src/utils/versionUploadHelpers.cjs.js +121 -0
- package/dist/shared/src/utils/versionUploadHelpers.cjs.js.map +1 -0
- package/dist/shared/src/utils/versionUploadHelpers.es.js +121 -0
- package/dist/shared/src/utils/versionUploadHelpers.es.js.map +1 -0
- package/dist/types/api/generated/graphql.d.ts +47 -36
- package/dist/types/api/queries/activities/getActivities.d.ts +4 -4
- package/dist/types/api/queries/activities/updateActivities.d.ts +8 -8
- package/dist/types/api/queries/entities/getEntity.d.ts +4 -4
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +4 -4
- package/dist/types/api/queries/entities/updateEntity.d.ts +4 -4
- package/dist/types/api/queries/entityLists/getLists.d.ts +4 -4
- package/dist/types/api/queries/index.d.ts +2 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +4 -4
- package/dist/types/api/queries/products/createProduct.d.ts +161 -0
- package/dist/types/api/queries/products/index.d.ts +1 -0
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +4 -4
- package/dist/types/api/queries/users/getUsers.d.ts +4 -4
- package/dist/types/api/queries/versions/index.d.ts +1 -0
- package/dist/types/api/queries/versions/updateVersions.d.ts +685 -0
- package/dist/types/components/EntityPanelUploader/Dropzone.d.ts +11 -0
- package/dist/types/components/{EntityThumbnailUploader/EntityThumbnailUploader.d.ts → EntityPanelUploader/EntityPanelUploader.d.ts} +3 -3
- package/dist/types/components/EntityPanelUploader/EntityPanelUploader.styled.d.ts +8 -0
- package/dist/types/components/EntityPanelUploader/EntityPanelUploaderDialog.d.ts +10 -0
- package/dist/types/components/EntityPanelUploader/index.d.ts +1 -0
- package/dist/types/components/ProjectTableSettings/ColumnItem.d.ts +1 -0
- package/dist/types/components/ProjectTableSettings/SortableColumnItem.d.ts +1 -0
- package/dist/types/components/ReviewablesList/index.d.ts +1 -0
- package/dist/types/components/ReviewablesList/useReviewablesUpload.d.ts +19 -0
- package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +1 -0
- package/dist/types/components/VersionUploader/components/UploadVersionDialog.d.ts +5 -0
- package/dist/types/components/VersionUploader/components/UploadVersionForm.d.ts +18 -0
- package/dist/types/components/VersionUploader/context/VersionUploadContext.d.ts +54 -0
- package/dist/types/components/VersionUploader/index.d.ts +2 -0
- package/dist/types/components/index.d.ts +2 -2
- package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +2 -1
- package/dist/types/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/components/GroupSettingsFallback.d.ts +9 -2
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +16 -16
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsProvider.d.ts +9 -0
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +6 -61
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +60 -0
- package/dist/types/containers/ProjectTreeTable/context/SelectedRowsContext.d.ts +3 -8
- package/dist/types/containers/ProjectTreeTable/context/SelectedRowsProvider.d.ts +6 -0
- package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +2 -4
- package/dist/types/containers/ProjectTreeTable/context/SelectionCellsProvider.d.ts +4 -0
- package/dist/types/containers/ProjectTreeTable/context/index.d.ts +4 -2
- package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +1 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useEntitiesMap.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +4 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useGetGroupedFields.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/{context/ProjectTableModulesContext.d.ts → hooks/useProjectTableModules.d.ts} +5 -12
- package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -10
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +3 -3
- package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +2 -1
- package/dist/types/context/ThumbnailUploaderContext.d.ts +3 -2
- package/dist/types/utils/versionUploadHelpers.d.ts +63 -0
- package/package.json +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +0 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +0 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.cjs.js +0 -12
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.cjs.js.map +0 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.es.js +0 -12
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.es.js.map +0 -1
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.cjs.js +0 -112
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.cjs.js.map +0 -1
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.es.js +0 -112
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.es.js.map +0 -1
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.styled.cjs.js +0 -104
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.styled.cjs.js.map +0 -1
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.styled.es.js +0 -104
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.styled.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js +0 -33
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.es.js +0 -33
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.es.js.map +0 -1
- package/dist/types/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.d.ts +0 -1
- package/dist/types/components/EntityThumbnailUploader/index.d.ts +0 -1
- package/dist/types/components/ThumbnailUploader/ThumbnailUploader.d.ts +0 -17
- package/dist/types/components/ThumbnailUploader/ThumbnailUploader.styled.d.ts +0 -4
- package/dist/types/components/ThumbnailUploader/index.d.ts +0 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableSelectionContext.d.ts +0 -11
|
@@ -74,10 +74,12 @@ import "../../../api/queries/users/updateUsers.es.js";
|
|
|
74
74
|
import "../../../api/queries/watchers/getWatchers.es.js";
|
|
75
75
|
import "../../../api/queries/permissions/getPermissions.es.js";
|
|
76
76
|
import "../../../api/queries/grouping/getGrouping.es.js";
|
|
77
|
+
import "../../../api/queries/versions/updateVersions.es.js";
|
|
78
|
+
import "../../../api/queries/products/createProduct.es.js";
|
|
77
79
|
import ReviewablesList from "../../../components/ReviewablesList/ReviewablesList.es.js";
|
|
78
|
-
import "axios";
|
|
79
80
|
import "react";
|
|
80
81
|
import "../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
|
|
82
|
+
import "axios";
|
|
81
83
|
import "../../../components/ReviewableCard/ReviewableCard.es.js";
|
|
82
84
|
import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
|
|
83
85
|
import "../../../components/FileThumbnail/FileThumbnail.es.js";
|
|
@@ -126,17 +128,15 @@ import "../../Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
|
|
|
126
128
|
import "../../Feed/Feed.styled.es.js";
|
|
127
129
|
import "date-fns";
|
|
128
130
|
import "../../ProjectTreeTable/ProjectTreeTable.es.js";
|
|
131
|
+
import "../../ProjectTreeTable/context/CellEditingContext.es.js";
|
|
132
|
+
import "../../ProjectTreeTable/context/ClipboardContext.es.js";
|
|
133
|
+
import "@tanstack/react-table";
|
|
129
134
|
import "../../ProjectTreeTable/context/SelectionCellsContext.es.js";
|
|
135
|
+
import "../../ProjectTreeTable/context/ColumnSettingsContext.es.js";
|
|
130
136
|
import "../../ProjectTreeTable/context/ProjectTableContext.es.js";
|
|
131
137
|
import "../../ProjectTreeTable/context/ProjectTableQueriesContext.es.js";
|
|
132
138
|
import "../../ProjectTreeTable/context/SelectedRowsContext.es.js";
|
|
133
|
-
import "../../ProjectTreeTable/context/ColumnSettingsContext.es.js";
|
|
134
|
-
import "../../ProjectTreeTable/context/CellEditingContext.es.js";
|
|
135
|
-
import "../../ProjectTreeTable/context/ClipboardContext.es.js";
|
|
136
|
-
import "../../ProjectTreeTable/context/ProjectTableSelectionContext.es.js";
|
|
137
139
|
import "../../ProjectTreeTable/context/ProjectDataContext.es.js";
|
|
138
|
-
import "../../ProjectTreeTable/context/ProjectTableModulesContext.es.js";
|
|
139
|
-
import "@tanstack/react-table";
|
|
140
140
|
import "../../ProjectTreeTable/widgets/CollapsedWidget.es.js";
|
|
141
141
|
import "../../ProjectTreeTable/widgets/DateWidget.es.js";
|
|
142
142
|
import "../../ProjectTreeTable/widgets/EnumWidget.es.js";
|
|
@@ -150,11 +150,12 @@ import "../../ProjectTreeTable/ProjectTreeTable.styled.es.js";
|
|
|
150
150
|
import "../../ProjectTreeTable/components/SelectionCell.es.js";
|
|
151
151
|
import "../../ProjectTreeTable/components/RowSelectionHeader.es.js";
|
|
152
152
|
import "../../ProjectTreeTable/widgets/LoadMoreWidget.es.js";
|
|
153
|
-
import "../DetailsPanel.styled.es.js";
|
|
154
153
|
import "../../../../../_virtual/runtime.es.js";
|
|
155
154
|
import "../../../../../_virtual/semver.es.js";
|
|
156
155
|
import "react-redux";
|
|
157
156
|
import "custom-protocol-check";
|
|
157
|
+
import "../../ProjectTreeTable/components/GroupSettingsFallback.es.js";
|
|
158
|
+
import "../DetailsPanel.styled.es.js";
|
|
158
159
|
import "../FeedFilters/FeedFilters.styled.es.js";
|
|
159
160
|
import "../DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
|
|
160
161
|
import "../DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
|
|
@@ -162,8 +163,7 @@ import "../DetailsPanelFloating/DetailsPanelFloating.styled.es.js";
|
|
|
162
163
|
import "../../Actions/Actions.styled.es.js";
|
|
163
164
|
import "../../Actions/ActionsDropdown/ActionsDropdown.es.js";
|
|
164
165
|
import "../../Actions/ActionIcon.es.js";
|
|
165
|
-
import "../../../components/
|
|
166
|
-
import "../../../components/ThumbnailUploader/ThumbnailUploader.styled.es.js";
|
|
166
|
+
import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
|
|
167
167
|
import "../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
|
|
168
168
|
import "../../../components/EntityPath/EntityPath.styled.es.js";
|
|
169
169
|
import "../../../components/EntityPath/SegmentProvider.es.js";
|
|
@@ -181,6 +181,8 @@ import "@dnd-kit/sortable";
|
|
|
181
181
|
import "../../../components/EnumEditor/EnumEditor.styled.es.js";
|
|
182
182
|
import "../../../components/SearchFilter/filterDates.es.js";
|
|
183
183
|
import "../../../components/Badge/Badge.es.js";
|
|
184
|
+
import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
|
|
185
|
+
import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
|
|
184
186
|
const StyledContainer = styled.div`
|
|
185
187
|
display: flex;
|
|
186
188
|
flex-direction: column;
|
package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanelFiles.es.js","sources":["../../../../../../src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.tsx"],"sourcesContent":["import { FC } from 'react'\nimport styled from 'styled-components'\nimport { RepresentationsList } from '@shared/containers/RepresentationsList'\nimport { ReviewablesList } from '@shared/components'\nimport { DetailsPanelEntityData } from '@shared/api'\n\nconst StyledContainer = styled.div`\n display: flex;\n flex-direction: column;\n\n height: 100%;\n overflow: hidden;\n`\n\nconst StyledSection = styled.div`\n position: relative;\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-small);\n overflow: hidden;\n\n padding: var(--padding-m);\n overflow: auto;\n\n &:first-child {\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n }\n`\n\ninterface DetailsPanelFilesProps {\n entities: DetailsPanelEntityData[]\n scope: string\n isLoadingVersion: boolean\n}\n\nconst DetailsPanelFiles: FC<DetailsPanelFilesProps> = ({\n entities = [],\n scope,\n isLoadingVersion,\n}) => {\n const firstVersion = entities[0]\n\n if (!firstVersion) return null\n\n let reviewablesTitle = 'Reviewables'\n if (entities.length > 1) reviewablesTitle += ` (${firstVersion.name})`\n if (entities.some((e) => e.entityType !== 'version')) return null\n\n return (\n <StyledContainer>\n <StyledSection>\n <h4>{reviewablesTitle}</h4>\n <ReviewablesList\n projectName={firstVersion.projectName}\n // @ts-expect-error - entityType is a version and will have a product\n productId={firstVersion.product?.id}\n versionId={firstVersion.id}\n isLoadingVersion={isLoadingVersion}\n scope={scope}\n />\n </StyledSection>\n <StyledSection>\n <h4>Representations</h4>\n <RepresentationsList entities={entities} />\n </StyledSection>\n </StyledContainer>\n )\n}\n\nexport default DetailsPanelFiles\n"],"names":["jsxs","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DetailsPanelFiles.es.js","sources":["../../../../../../src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.tsx"],"sourcesContent":["import { FC } from 'react'\nimport styled from 'styled-components'\nimport { RepresentationsList } from '@shared/containers/RepresentationsList'\nimport { ReviewablesList } from '@shared/components'\nimport { DetailsPanelEntityData } from '@shared/api'\n\nconst StyledContainer = styled.div`\n display: flex;\n flex-direction: column;\n\n height: 100%;\n overflow: hidden;\n`\n\nconst StyledSection = styled.div`\n position: relative;\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-small);\n overflow: hidden;\n\n padding: var(--padding-m);\n overflow: auto;\n\n &:first-child {\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n }\n`\n\ninterface DetailsPanelFilesProps {\n entities: DetailsPanelEntityData[]\n scope: string\n isLoadingVersion: boolean\n}\n\nconst DetailsPanelFiles: FC<DetailsPanelFilesProps> = ({\n entities = [],\n scope,\n isLoadingVersion,\n}) => {\n const firstVersion = entities[0]\n\n if (!firstVersion) return null\n\n let reviewablesTitle = 'Reviewables'\n if (entities.length > 1) reviewablesTitle += ` (${firstVersion.name})`\n if (entities.some((e) => e.entityType !== 'version')) return null\n\n return (\n <StyledContainer>\n <StyledSection>\n <h4>{reviewablesTitle}</h4>\n <ReviewablesList\n projectName={firstVersion.projectName}\n // @ts-expect-error - entityType is a version and will have a product\n productId={firstVersion.product?.id}\n versionId={firstVersion.id}\n isLoadingVersion={isLoadingVersion}\n scope={scope}\n />\n </StyledSection>\n <StyledSection>\n <h4>Representations</h4>\n <RepresentationsList entities={entities} />\n </StyledSection>\n </StyledContainer>\n )\n}\n\nexport default DetailsPanelFiles\n"],"names":["jsxs","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,kBAAkB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ/B,MAAM,gBAAgB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsB7B,MAAM,oBAAgD,CAAC;AAAA,EACrD,WAAW,CAAC;AAAA,EACZ;AAAA,EACA;AACF,MAAM;;AACE,QAAA,eAAe,SAAS,CAAC;AAE3B,MAAA,CAAC,aAAqB,QAAA;AAE1B,MAAI,mBAAmB;AACvB,MAAI,SAAS,SAAS,EAAuB,qBAAA,KAAK,aAAa,IAAI;AAC/D,MAAA,SAAS,KAAK,CAAC,MAAM,EAAE,eAAe,SAAS,EAAU,QAAA;AAE7D,gDACG,iBACC,EAAA,UAAA;AAAA,IAAAA,uCAAC,eACC,EAAA,UAAA;AAAA,MAAAC,kCAAAA,IAAC,QAAI,UAAiB,iBAAA,CAAA;AAAA,MACtBA,kCAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,aAAa,aAAa;AAAA,UAE1B,YAAW,kBAAa,YAAb,mBAAsB;AAAA,UACjC,WAAW,aAAa;AAAA,UACxB;AAAA,UACA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF,GACF;AAAA,2CACC,eACC,EAAA,UAAA;AAAA,MAAAA,kCAAAA,IAAC,QAAG,UAAe,kBAAA,CAAA;AAAA,MACnBA,sCAAC,uBAAoB,SAAoB,CAAA;AAAA,IAAA,EAC3C,CAAA;AAAA,EAAA,GACF;AAEJ;"}
|
package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js
CHANGED
|
@@ -77,6 +77,8 @@ require("../../../api/queries/users/updateUsers.cjs.js");
|
|
|
77
77
|
require("../../../api/queries/watchers/getWatchers.cjs.js");
|
|
78
78
|
require("../../../api/queries/permissions/getPermissions.cjs.js");
|
|
79
79
|
require("../../../api/queries/grouping/getGrouping.cjs.js");
|
|
80
|
+
require("../../../api/queries/versions/updateVersions.cjs.js");
|
|
81
|
+
require("../../../api/queries/products/createProduct.cjs.js");
|
|
80
82
|
require("@dnd-kit/core");
|
|
81
83
|
require("@dnd-kit/sortable");
|
|
82
84
|
require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");
|
|
@@ -85,8 +87,8 @@ require("../../ContextMenu/ContextMenuContext.cjs.js");
|
|
|
85
87
|
const productTypes = require("../../../util/productTypes.cjs.js");
|
|
86
88
|
const lodash = require("lodash");
|
|
87
89
|
require("../../../util/pubsub.cjs.js");
|
|
88
|
-
require("axios");
|
|
89
90
|
require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");
|
|
91
|
+
require("axios");
|
|
90
92
|
require("../../../context/RemoteModulesContext.cjs.js");
|
|
91
93
|
const DetailsPanelContext = require("../../../context/DetailsPanelContext.cjs.js");
|
|
92
94
|
require("../../../context/ThumbnailUploaderContext.cjs.js");
|
|
@@ -131,17 +133,15 @@ require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");
|
|
|
131
133
|
require("../../Feed/Feed.styled.cjs.js");
|
|
132
134
|
require("date-fns");
|
|
133
135
|
require("../../ProjectTreeTable/ProjectTreeTable.cjs.js");
|
|
136
|
+
require("../../ProjectTreeTable/context/CellEditingContext.cjs.js");
|
|
137
|
+
require("../../ProjectTreeTable/context/ClipboardContext.cjs.js");
|
|
138
|
+
require("@tanstack/react-table");
|
|
134
139
|
require("../../ProjectTreeTable/context/SelectionCellsContext.cjs.js");
|
|
140
|
+
require("../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");
|
|
135
141
|
require("../../ProjectTreeTable/context/ProjectTableContext.cjs.js");
|
|
136
142
|
require("../../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");
|
|
137
143
|
require("../../ProjectTreeTable/context/SelectedRowsContext.cjs.js");
|
|
138
|
-
require("../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");
|
|
139
|
-
require("../../ProjectTreeTable/context/CellEditingContext.cjs.js");
|
|
140
|
-
require("../../ProjectTreeTable/context/ClipboardContext.cjs.js");
|
|
141
|
-
require("../../ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js");
|
|
142
144
|
require("../../ProjectTreeTable/context/ProjectDataContext.cjs.js");
|
|
143
|
-
require("../../ProjectTreeTable/context/ProjectTableModulesContext.cjs.js");
|
|
144
|
-
require("@tanstack/react-table");
|
|
145
145
|
require("../../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");
|
|
146
146
|
require("../../ProjectTreeTable/widgets/DateWidget.cjs.js");
|
|
147
147
|
require("../../ProjectTreeTable/widgets/EnumWidget.cjs.js");
|
|
@@ -155,11 +155,12 @@ require("../../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");
|
|
|
155
155
|
require("../../ProjectTreeTable/components/SelectionCell.cjs.js");
|
|
156
156
|
require("../../ProjectTreeTable/components/RowSelectionHeader.cjs.js");
|
|
157
157
|
require("../../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");
|
|
158
|
-
require("../DetailsPanel.styled.cjs.js");
|
|
159
158
|
require("../../../../../_virtual/runtime.cjs.js");
|
|
160
159
|
require("../../../../../_virtual/semver.cjs.js");
|
|
161
160
|
require("react-redux");
|
|
162
161
|
require("custom-protocol-check");
|
|
162
|
+
require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");
|
|
163
|
+
require("../DetailsPanel.styled.cjs.js");
|
|
163
164
|
require("../FeedFilters/FeedFilters.styled.cjs.js");
|
|
164
165
|
require("../DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");
|
|
165
166
|
const buildDetailsPanelTitles = require("../helpers/buildDetailsPanelTitles.cjs.js");
|
|
@@ -171,8 +172,7 @@ require("../DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");
|
|
|
171
172
|
require("../../Actions/Actions.styled.cjs.js");
|
|
172
173
|
require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");
|
|
173
174
|
require("../../Actions/ActionIcon.cjs.js");
|
|
174
|
-
require("../../../components/
|
|
175
|
-
require("../../../components/ThumbnailUploader/ThumbnailUploader.styled.cjs.js");
|
|
175
|
+
require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");
|
|
176
176
|
require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");
|
|
177
177
|
require("../../../components/EntityPath/EntityPath.styled.cjs.js");
|
|
178
178
|
require("../../../components/EntityPath/SegmentProvider.cjs.js");
|
|
@@ -188,6 +188,8 @@ require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");
|
|
|
188
188
|
require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");
|
|
189
189
|
require("../../../components/SearchFilter/filterDates.cjs.js");
|
|
190
190
|
require("../../../components/Badge/Badge.cjs.js");
|
|
191
|
+
require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");
|
|
192
|
+
require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");
|
|
191
193
|
const DetailsPanelFloating = () => {
|
|
192
194
|
const { pip } = DetailsPanelContext.useDetailsPanelContext();
|
|
193
195
|
const entityType = pip == null ? void 0 : pip.entityType;
|
package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanelFloating.cjs.js","sources":["../../../../../../src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.tsx"],"sourcesContent":["import { FC, useMemo } from 'react'\nimport * as Styled from './DetailsPanelFloating.styled'\nimport getThumbnails from '../helpers/getThumbnails'\nimport { StackedThumbnails } from '@shared/components'\nimport { upperFirst } from 'lodash'\nimport { AssigneeField, Icon } from '@ynput/ayon-react-components'\nimport { PiPWrapper } from '@shared/context'\nimport { useGetEntitiesDetailsPanelQuery } from '@shared/api'\nimport { useGetKanbanProjectUsersQuery, useGetProjectsInfoQuery } from '@shared/api'\nimport getAllProjectStatuses from '../helpers/getAllProjectsStatuses'\nimport FeedWrapper from '../FeedWrapper'\nimport mergeProjectInfo from '../helpers/mergeProjectInfo'\nimport { buildDetailsPanelTitles } from '../helpers/buildDetailsPanelTitles'\nimport { productTypes } from '@shared/util'\nimport { useDetailsPanelContext } from '@shared/context'\n\nexport interface DetailsPanelFloatingProps {}\n\nexport const DetailsPanelFloating: FC<DetailsPanelFloatingProps> = () => {\n // TODO: fix this\n const { pip } = useDetailsPanelContext()\n const entityType = pip?.entityType\n const entities = pip?.entities || []\n const scope = pip?.scope || ''\n const isOpen = entities.length > 0 && !!entityType\n\n const projects: string[] = entities.map((e: any) => e.projectName)\n\n const { data: allUsers = [] } = useGetKanbanProjectUsersQuery({ projects }, { skip: !isOpen })\n\n const { data: projectsInfo = {}, isFetching: isFetchingInfo } = useGetProjectsInfoQuery(\n {\n projects: projects,\n },\n { skip: !isOpen },\n )\n\n // get all statuses from projects info, removing duplicate names\n const statuses = useMemo(\n () => getAllProjectStatuses(projectsInfo, projects),\n [projectsInfo, projects],\n )\n\n const { data: entitiesData = [], isFetching: isFetchingEntitiesDetails } =\n useGetEntitiesDetailsPanelQuery(\n // @ts-expect-error\n { entityType: entityType, entities: entities },\n {\n skip: !isOpen || isFetchingInfo,\n },\n )\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, projects),\n [projectsInfo, projects],\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 const thumbnails = useMemo(\n () => (entityType ? getThumbnails(entitiesData, entityType, entityTypeIcons) : []),\n [entitiesData, entityType],\n )\n\n // users for assignee field, find in all users\n const users = useMemo(() => {\n return allUsers\n .filter((u) => entitiesData.some((e) => e?.task?.assignees?.includes(u.name)))\n .map((u) => ({ ...u, avatarUrl: `/api/users/${u.name}/avatar` }))\n }, [allUsers, entities])\n\n const firstEntity = entitiesData[0]\n if (!entitiesData.length || !firstEntity) return null\n\n if (isFetchingEntitiesDetails) return <div>Loading...</div>\n\n const projectName = firstEntity?.projectName\n\n // are there multiple statuses of different names?\n const mixedStatuses = entitiesData.some((e) => e?.status !== firstEntity?.status)\n const mixedStatus = {\n icon: 'question_mark',\n color: 'var(--md-sys-color-surface-container-highest)',\n name: 'Mixed statuses',\n }\n\n const statusAnatomy = mixedStatuses\n ? mixedStatus\n : statuses.find((s) => s.name === firstEntity?.status) || {\n icon: '',\n color: '',\n name: 'None',\n }\n\n if (!entityType) return null\n\n // Get title and subtitle from the imported function\n const { title, subTitle } = buildDetailsPanelTitles(entitiesData, entityType)\n\n return (\n <PiPWrapper>\n <Styled.Container>\n <Styled.Header>\n <StackedThumbnails thumbnails={thumbnails} />\n <Styled.Content>\n <h2>{title}</h2>\n <div className=\"sub-title\">\n <span>{upperFirst(entityType)} - </span>\n <h3>{subTitle}</h3>\n </div>\n </Styled.Content>\n </Styled.Header>\n <Styled.Row>\n <Styled.Status style={{ backgroundColor: statusAnatomy?.color }}>\n {<Icon icon={statusAnatomy.icon || 'question_mark'} />}\n <span className=\"label\">{statusAnatomy?.name}</span>\n </Styled.Status>\n <AssigneeField users={users} style={{ pointerEvents: 'none' }} />\n </Styled.Row>\n <Styled.FeedContainer>\n <FeedWrapper\n entityType={entityType}\n // @ts-ignore\n entities={entitiesData}\n activeUsers={[]}\n // selectedTasksProjects={{}}\n projectInfo={projectsInfo[projectName]}\n projectName={projectName}\n isMultiProjects={false}\n scope={scope}\n readOnly\n // @ts-ignore\n statuses={statuses}\n />\n </Styled.FeedContainer>\n </Styled.Container>\n </PiPWrapper>\n )\n}\n\nexport default DetailsPanelFloating\n"],"names":["useDetailsPanelContext","useGetKanbanProjectUsersQuery","useGetProjectsInfoQuery","useMemo","getAllProjectStatuses","useGetEntitiesDetailsPanelQuery","jsx","buildDetailsPanelTitles","PiPWrapper","jsxs","Styled.Container","Styled.Header","StackedThumbnails","Styled.Content","upperFirst","Styled.Row","Styled.Status","Icon","AssigneeField","Styled.FeedContainer"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DetailsPanelFloating.cjs.js","sources":["../../../../../../src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.tsx"],"sourcesContent":["import { FC, useMemo } from 'react'\nimport * as Styled from './DetailsPanelFloating.styled'\nimport getThumbnails from '../helpers/getThumbnails'\nimport { StackedThumbnails } from '@shared/components'\nimport { upperFirst } from 'lodash'\nimport { AssigneeField, Icon } from '@ynput/ayon-react-components'\nimport { PiPWrapper } from '@shared/context'\nimport { useGetEntitiesDetailsPanelQuery } from '@shared/api'\nimport { useGetKanbanProjectUsersQuery, useGetProjectsInfoQuery } from '@shared/api'\nimport getAllProjectStatuses from '../helpers/getAllProjectsStatuses'\nimport FeedWrapper from '../FeedWrapper'\nimport mergeProjectInfo from '../helpers/mergeProjectInfo'\nimport { buildDetailsPanelTitles } from '../helpers/buildDetailsPanelTitles'\nimport { productTypes } from '@shared/util'\nimport { useDetailsPanelContext } from '@shared/context'\n\nexport interface DetailsPanelFloatingProps {}\n\nexport const DetailsPanelFloating: FC<DetailsPanelFloatingProps> = () => {\n // TODO: fix this\n const { pip } = useDetailsPanelContext()\n const entityType = pip?.entityType\n const entities = pip?.entities || []\n const scope = pip?.scope || ''\n const isOpen = entities.length > 0 && !!entityType\n\n const projects: string[] = entities.map((e: any) => e.projectName)\n\n const { data: allUsers = [] } = useGetKanbanProjectUsersQuery({ projects }, { skip: !isOpen })\n\n const { data: projectsInfo = {}, isFetching: isFetchingInfo } = useGetProjectsInfoQuery(\n {\n projects: projects,\n },\n { skip: !isOpen },\n )\n\n // get all statuses from projects info, removing duplicate names\n const statuses = useMemo(\n () => getAllProjectStatuses(projectsInfo, projects),\n [projectsInfo, projects],\n )\n\n const { data: entitiesData = [], isFetching: isFetchingEntitiesDetails } =\n useGetEntitiesDetailsPanelQuery(\n // @ts-expect-error\n { entityType: entityType, entities: entities },\n {\n skip: !isOpen || isFetchingInfo,\n },\n )\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, projects),\n [projectsInfo, projects],\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 const thumbnails = useMemo(\n () => (entityType ? getThumbnails(entitiesData, entityType, entityTypeIcons) : []),\n [entitiesData, entityType],\n )\n\n // users for assignee field, find in all users\n const users = useMemo(() => {\n return allUsers\n .filter((u) => entitiesData.some((e) => e?.task?.assignees?.includes(u.name)))\n .map((u) => ({ ...u, avatarUrl: `/api/users/${u.name}/avatar` }))\n }, [allUsers, entities])\n\n const firstEntity = entitiesData[0]\n if (!entitiesData.length || !firstEntity) return null\n\n if (isFetchingEntitiesDetails) return <div>Loading...</div>\n\n const projectName = firstEntity?.projectName\n\n // are there multiple statuses of different names?\n const mixedStatuses = entitiesData.some((e) => e?.status !== firstEntity?.status)\n const mixedStatus = {\n icon: 'question_mark',\n color: 'var(--md-sys-color-surface-container-highest)',\n name: 'Mixed statuses',\n }\n\n const statusAnatomy = mixedStatuses\n ? mixedStatus\n : statuses.find((s) => s.name === firstEntity?.status) || {\n icon: '',\n color: '',\n name: 'None',\n }\n\n if (!entityType) return null\n\n // Get title and subtitle from the imported function\n const { title, subTitle } = buildDetailsPanelTitles(entitiesData, entityType)\n\n return (\n <PiPWrapper>\n <Styled.Container>\n <Styled.Header>\n <StackedThumbnails thumbnails={thumbnails} />\n <Styled.Content>\n <h2>{title}</h2>\n <div className=\"sub-title\">\n <span>{upperFirst(entityType)} - </span>\n <h3>{subTitle}</h3>\n </div>\n </Styled.Content>\n </Styled.Header>\n <Styled.Row>\n <Styled.Status style={{ backgroundColor: statusAnatomy?.color }}>\n {<Icon icon={statusAnatomy.icon || 'question_mark'} />}\n <span className=\"label\">{statusAnatomy?.name}</span>\n </Styled.Status>\n <AssigneeField users={users} style={{ pointerEvents: 'none' }} />\n </Styled.Row>\n <Styled.FeedContainer>\n <FeedWrapper\n entityType={entityType}\n // @ts-ignore\n entities={entitiesData}\n activeUsers={[]}\n // selectedTasksProjects={{}}\n projectInfo={projectsInfo[projectName]}\n projectName={projectName}\n isMultiProjects={false}\n scope={scope}\n readOnly\n // @ts-ignore\n statuses={statuses}\n />\n </Styled.FeedContainer>\n </Styled.Container>\n </PiPWrapper>\n )\n}\n\nexport default DetailsPanelFloating\n"],"names":["useDetailsPanelContext","useGetKanbanProjectUsersQuery","useGetProjectsInfoQuery","useMemo","getAllProjectStatuses","useGetEntitiesDetailsPanelQuery","jsx","buildDetailsPanelTitles","PiPWrapper","jsxs","Styled.Container","Styled.Header","StackedThumbnails","Styled.Content","upperFirst","Styled.Row","Styled.Status","Icon","AssigneeField","Styled.FeedContainer"],"mappings":"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"}
|
package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js
CHANGED
|
@@ -75,6 +75,8 @@ import "../../../api/queries/users/updateUsers.es.js";
|
|
|
75
75
|
import "../../../api/queries/watchers/getWatchers.es.js";
|
|
76
76
|
import "../../../api/queries/permissions/getPermissions.es.js";
|
|
77
77
|
import "../../../api/queries/grouping/getGrouping.es.js";
|
|
78
|
+
import "../../../api/queries/versions/updateVersions.es.js";
|
|
79
|
+
import "../../../api/queries/products/createProduct.es.js";
|
|
78
80
|
import "@dnd-kit/core";
|
|
79
81
|
import "@dnd-kit/sortable";
|
|
80
82
|
import "../../../components/ReviewablesList/ReviewablesList.styled.es.js";
|
|
@@ -83,8 +85,8 @@ import "../../ContextMenu/ContextMenuContext.es.js";
|
|
|
83
85
|
import productTypes from "../../../util/productTypes.es.js";
|
|
84
86
|
import { upperFirst } from "lodash";
|
|
85
87
|
import "../../../util/pubsub.es.js";
|
|
86
|
-
import "axios";
|
|
87
88
|
import "../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
|
|
89
|
+
import "axios";
|
|
88
90
|
import "../../../context/RemoteModulesContext.es.js";
|
|
89
91
|
import { useDetailsPanelContext } from "../../../context/DetailsPanelContext.es.js";
|
|
90
92
|
import "../../../context/ThumbnailUploaderContext.es.js";
|
|
@@ -129,17 +131,15 @@ import "../../Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
|
|
|
129
131
|
import "../../Feed/Feed.styled.es.js";
|
|
130
132
|
import "date-fns";
|
|
131
133
|
import "../../ProjectTreeTable/ProjectTreeTable.es.js";
|
|
134
|
+
import "../../ProjectTreeTable/context/CellEditingContext.es.js";
|
|
135
|
+
import "../../ProjectTreeTable/context/ClipboardContext.es.js";
|
|
136
|
+
import "@tanstack/react-table";
|
|
132
137
|
import "../../ProjectTreeTable/context/SelectionCellsContext.es.js";
|
|
138
|
+
import "../../ProjectTreeTable/context/ColumnSettingsContext.es.js";
|
|
133
139
|
import "../../ProjectTreeTable/context/ProjectTableContext.es.js";
|
|
134
140
|
import "../../ProjectTreeTable/context/ProjectTableQueriesContext.es.js";
|
|
135
141
|
import "../../ProjectTreeTable/context/SelectedRowsContext.es.js";
|
|
136
|
-
import "../../ProjectTreeTable/context/ColumnSettingsContext.es.js";
|
|
137
|
-
import "../../ProjectTreeTable/context/CellEditingContext.es.js";
|
|
138
|
-
import "../../ProjectTreeTable/context/ClipboardContext.es.js";
|
|
139
|
-
import "../../ProjectTreeTable/context/ProjectTableSelectionContext.es.js";
|
|
140
142
|
import "../../ProjectTreeTable/context/ProjectDataContext.es.js";
|
|
141
|
-
import "../../ProjectTreeTable/context/ProjectTableModulesContext.es.js";
|
|
142
|
-
import "@tanstack/react-table";
|
|
143
143
|
import "../../ProjectTreeTable/widgets/CollapsedWidget.es.js";
|
|
144
144
|
import "../../ProjectTreeTable/widgets/DateWidget.es.js";
|
|
145
145
|
import "../../ProjectTreeTable/widgets/EnumWidget.es.js";
|
|
@@ -153,11 +153,12 @@ import "../../ProjectTreeTable/ProjectTreeTable.styled.es.js";
|
|
|
153
153
|
import "../../ProjectTreeTable/components/SelectionCell.es.js";
|
|
154
154
|
import "../../ProjectTreeTable/components/RowSelectionHeader.es.js";
|
|
155
155
|
import "../../ProjectTreeTable/widgets/LoadMoreWidget.es.js";
|
|
156
|
-
import "../DetailsPanel.styled.es.js";
|
|
157
156
|
import "../../../../../_virtual/runtime.es.js";
|
|
158
157
|
import "../../../../../_virtual/semver.es.js";
|
|
159
158
|
import "react-redux";
|
|
160
159
|
import "custom-protocol-check";
|
|
160
|
+
import "../../ProjectTreeTable/components/GroupSettingsFallback.es.js";
|
|
161
|
+
import "../DetailsPanel.styled.es.js";
|
|
161
162
|
import "../FeedFilters/FeedFilters.styled.es.js";
|
|
162
163
|
import "../DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
|
|
163
164
|
import { buildDetailsPanelTitles } from "../helpers/buildDetailsPanelTitles.es.js";
|
|
@@ -169,8 +170,7 @@ import "../DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
|
|
|
169
170
|
import "../../Actions/Actions.styled.es.js";
|
|
170
171
|
import "../../Actions/ActionsDropdown/ActionsDropdown.es.js";
|
|
171
172
|
import "../../Actions/ActionIcon.es.js";
|
|
172
|
-
import "../../../components/
|
|
173
|
-
import "../../../components/ThumbnailUploader/ThumbnailUploader.styled.es.js";
|
|
173
|
+
import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
|
|
174
174
|
import "../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
|
|
175
175
|
import "../../../components/EntityPath/EntityPath.styled.es.js";
|
|
176
176
|
import "../../../components/EntityPath/SegmentProvider.es.js";
|
|
@@ -186,6 +186,8 @@ import "../../../components/AttributeEditor/components/MinMaxField.es.js";
|
|
|
186
186
|
import "../../../components/EnumEditor/EnumEditor.styled.es.js";
|
|
187
187
|
import "../../../components/SearchFilter/filterDates.es.js";
|
|
188
188
|
import "../../../components/Badge/Badge.es.js";
|
|
189
|
+
import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
|
|
190
|
+
import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
|
|
189
191
|
const DetailsPanelFloating = () => {
|
|
190
192
|
const { pip } = useDetailsPanelContext();
|
|
191
193
|
const entityType = pip == null ? void 0 : pip.entityType;
|
package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanelFloating.es.js","sources":["../../../../../../src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.tsx"],"sourcesContent":["import { FC, useMemo } from 'react'\nimport * as Styled from './DetailsPanelFloating.styled'\nimport getThumbnails from '../helpers/getThumbnails'\nimport { StackedThumbnails } from '@shared/components'\nimport { upperFirst } from 'lodash'\nimport { AssigneeField, Icon } from '@ynput/ayon-react-components'\nimport { PiPWrapper } from '@shared/context'\nimport { useGetEntitiesDetailsPanelQuery } from '@shared/api'\nimport { useGetKanbanProjectUsersQuery, useGetProjectsInfoQuery } from '@shared/api'\nimport getAllProjectStatuses from '../helpers/getAllProjectsStatuses'\nimport FeedWrapper from '../FeedWrapper'\nimport mergeProjectInfo from '../helpers/mergeProjectInfo'\nimport { buildDetailsPanelTitles } from '../helpers/buildDetailsPanelTitles'\nimport { productTypes } from '@shared/util'\nimport { useDetailsPanelContext } from '@shared/context'\n\nexport interface DetailsPanelFloatingProps {}\n\nexport const DetailsPanelFloating: FC<DetailsPanelFloatingProps> = () => {\n // TODO: fix this\n const { pip } = useDetailsPanelContext()\n const entityType = pip?.entityType\n const entities = pip?.entities || []\n const scope = pip?.scope || ''\n const isOpen = entities.length > 0 && !!entityType\n\n const projects: string[] = entities.map((e: any) => e.projectName)\n\n const { data: allUsers = [] } = useGetKanbanProjectUsersQuery({ projects }, { skip: !isOpen })\n\n const { data: projectsInfo = {}, isFetching: isFetchingInfo } = useGetProjectsInfoQuery(\n {\n projects: projects,\n },\n { skip: !isOpen },\n )\n\n // get all statuses from projects info, removing duplicate names\n const statuses = useMemo(\n () => getAllProjectStatuses(projectsInfo, projects),\n [projectsInfo, projects],\n )\n\n const { data: entitiesData = [], isFetching: isFetchingEntitiesDetails } =\n useGetEntitiesDetailsPanelQuery(\n // @ts-expect-error\n { entityType: entityType, entities: entities },\n {\n skip: !isOpen || isFetchingInfo,\n },\n )\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, projects),\n [projectsInfo, projects],\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 const thumbnails = useMemo(\n () => (entityType ? getThumbnails(entitiesData, entityType, entityTypeIcons) : []),\n [entitiesData, entityType],\n )\n\n // users for assignee field, find in all users\n const users = useMemo(() => {\n return allUsers\n .filter((u) => entitiesData.some((e) => e?.task?.assignees?.includes(u.name)))\n .map((u) => ({ ...u, avatarUrl: `/api/users/${u.name}/avatar` }))\n }, [allUsers, entities])\n\n const firstEntity = entitiesData[0]\n if (!entitiesData.length || !firstEntity) return null\n\n if (isFetchingEntitiesDetails) return <div>Loading...</div>\n\n const projectName = firstEntity?.projectName\n\n // are there multiple statuses of different names?\n const mixedStatuses = entitiesData.some((e) => e?.status !== firstEntity?.status)\n const mixedStatus = {\n icon: 'question_mark',\n color: 'var(--md-sys-color-surface-container-highest)',\n name: 'Mixed statuses',\n }\n\n const statusAnatomy = mixedStatuses\n ? mixedStatus\n : statuses.find((s) => s.name === firstEntity?.status) || {\n icon: '',\n color: '',\n name: 'None',\n }\n\n if (!entityType) return null\n\n // Get title and subtitle from the imported function\n const { title, subTitle } = buildDetailsPanelTitles(entitiesData, entityType)\n\n return (\n <PiPWrapper>\n <Styled.Container>\n <Styled.Header>\n <StackedThumbnails thumbnails={thumbnails} />\n <Styled.Content>\n <h2>{title}</h2>\n <div className=\"sub-title\">\n <span>{upperFirst(entityType)} - </span>\n <h3>{subTitle}</h3>\n </div>\n </Styled.Content>\n </Styled.Header>\n <Styled.Row>\n <Styled.Status style={{ backgroundColor: statusAnatomy?.color }}>\n {<Icon icon={statusAnatomy.icon || 'question_mark'} />}\n <span className=\"label\">{statusAnatomy?.name}</span>\n </Styled.Status>\n <AssigneeField users={users} style={{ pointerEvents: 'none' }} />\n </Styled.Row>\n <Styled.FeedContainer>\n <FeedWrapper\n entityType={entityType}\n // @ts-ignore\n entities={entitiesData}\n activeUsers={[]}\n // selectedTasksProjects={{}}\n projectInfo={projectsInfo[projectName]}\n projectName={projectName}\n isMultiProjects={false}\n scope={scope}\n readOnly\n // @ts-ignore\n statuses={statuses}\n />\n </Styled.FeedContainer>\n </Styled.Container>\n </PiPWrapper>\n )\n}\n\nexport default DetailsPanelFloating\n"],"names":["jsx","jsxs","Styled.Container","Styled.Header","Styled.Content","Styled.Row","Styled.Status","Styled.FeedContainer"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DetailsPanelFloating.es.js","sources":["../../../../../../src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.tsx"],"sourcesContent":["import { FC, useMemo } from 'react'\nimport * as Styled from './DetailsPanelFloating.styled'\nimport getThumbnails from '../helpers/getThumbnails'\nimport { StackedThumbnails } from '@shared/components'\nimport { upperFirst } from 'lodash'\nimport { AssigneeField, Icon } from '@ynput/ayon-react-components'\nimport { PiPWrapper } from '@shared/context'\nimport { useGetEntitiesDetailsPanelQuery } from '@shared/api'\nimport { useGetKanbanProjectUsersQuery, useGetProjectsInfoQuery } from '@shared/api'\nimport getAllProjectStatuses from '../helpers/getAllProjectsStatuses'\nimport FeedWrapper from '../FeedWrapper'\nimport mergeProjectInfo from '../helpers/mergeProjectInfo'\nimport { buildDetailsPanelTitles } from '../helpers/buildDetailsPanelTitles'\nimport { productTypes } from '@shared/util'\nimport { useDetailsPanelContext } from '@shared/context'\n\nexport interface DetailsPanelFloatingProps {}\n\nexport const DetailsPanelFloating: FC<DetailsPanelFloatingProps> = () => {\n // TODO: fix this\n const { pip } = useDetailsPanelContext()\n const entityType = pip?.entityType\n const entities = pip?.entities || []\n const scope = pip?.scope || ''\n const isOpen = entities.length > 0 && !!entityType\n\n const projects: string[] = entities.map((e: any) => e.projectName)\n\n const { data: allUsers = [] } = useGetKanbanProjectUsersQuery({ projects }, { skip: !isOpen })\n\n const { data: projectsInfo = {}, isFetching: isFetchingInfo } = useGetProjectsInfoQuery(\n {\n projects: projects,\n },\n { skip: !isOpen },\n )\n\n // get all statuses from projects info, removing duplicate names\n const statuses = useMemo(\n () => getAllProjectStatuses(projectsInfo, projects),\n [projectsInfo, projects],\n )\n\n const { data: entitiesData = [], isFetching: isFetchingEntitiesDetails } =\n useGetEntitiesDetailsPanelQuery(\n // @ts-expect-error\n { entityType: entityType, entities: entities },\n {\n skip: !isOpen || isFetchingInfo,\n },\n )\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, projects),\n [projectsInfo, projects],\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 const thumbnails = useMemo(\n () => (entityType ? getThumbnails(entitiesData, entityType, entityTypeIcons) : []),\n [entitiesData, entityType],\n )\n\n // users for assignee field, find in all users\n const users = useMemo(() => {\n return allUsers\n .filter((u) => entitiesData.some((e) => e?.task?.assignees?.includes(u.name)))\n .map((u) => ({ ...u, avatarUrl: `/api/users/${u.name}/avatar` }))\n }, [allUsers, entities])\n\n const firstEntity = entitiesData[0]\n if (!entitiesData.length || !firstEntity) return null\n\n if (isFetchingEntitiesDetails) return <div>Loading...</div>\n\n const projectName = firstEntity?.projectName\n\n // are there multiple statuses of different names?\n const mixedStatuses = entitiesData.some((e) => e?.status !== firstEntity?.status)\n const mixedStatus = {\n icon: 'question_mark',\n color: 'var(--md-sys-color-surface-container-highest)',\n name: 'Mixed statuses',\n }\n\n const statusAnatomy = mixedStatuses\n ? mixedStatus\n : statuses.find((s) => s.name === firstEntity?.status) || {\n icon: '',\n color: '',\n name: 'None',\n }\n\n if (!entityType) return null\n\n // Get title and subtitle from the imported function\n const { title, subTitle } = buildDetailsPanelTitles(entitiesData, entityType)\n\n return (\n <PiPWrapper>\n <Styled.Container>\n <Styled.Header>\n <StackedThumbnails thumbnails={thumbnails} />\n <Styled.Content>\n <h2>{title}</h2>\n <div className=\"sub-title\">\n <span>{upperFirst(entityType)} - </span>\n <h3>{subTitle}</h3>\n </div>\n </Styled.Content>\n </Styled.Header>\n <Styled.Row>\n <Styled.Status style={{ backgroundColor: statusAnatomy?.color }}>\n {<Icon icon={statusAnatomy.icon || 'question_mark'} />}\n <span className=\"label\">{statusAnatomy?.name}</span>\n </Styled.Status>\n <AssigneeField users={users} style={{ pointerEvents: 'none' }} />\n </Styled.Row>\n <Styled.FeedContainer>\n <FeedWrapper\n entityType={entityType}\n // @ts-ignore\n entities={entitiesData}\n activeUsers={[]}\n // selectedTasksProjects={{}}\n projectInfo={projectsInfo[projectName]}\n projectName={projectName}\n isMultiProjects={false}\n scope={scope}\n readOnly\n // @ts-ignore\n statuses={statuses}\n />\n </Styled.FeedContainer>\n </Styled.Container>\n </PiPWrapper>\n )\n}\n\nexport default DetailsPanelFloating\n"],"names":["jsx","jsxs","Styled.Container","Styled.Header","Styled.Content","Styled.Row","Styled.Status","Styled.FeedContainer"],"mappings":"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"}
|
package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js
CHANGED
|
@@ -75,6 +75,8 @@ require("../../../api/queries/users/updateUsers.cjs.js");
|
|
|
75
75
|
require("../../../api/queries/watchers/getWatchers.cjs.js");
|
|
76
76
|
require("../../../api/queries/permissions/getPermissions.cjs.js");
|
|
77
77
|
require("../../../api/queries/grouping/getGrouping.cjs.js");
|
|
78
|
+
require("../../../api/queries/versions/updateVersions.cjs.js");
|
|
79
|
+
require("../../../api/queries/products/createProduct.cjs.js");
|
|
78
80
|
require("@dnd-kit/core");
|
|
79
81
|
require("@dnd-kit/sortable");
|
|
80
82
|
require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");
|
|
@@ -82,8 +84,8 @@ require("../../ContextMenu/ContextMenuContext.cjs.js");
|
|
|
82
84
|
;/* empty css */
|
|
83
85
|
const getPriorityOptions = require("../../../util/getPriorityOptions.cjs.js");
|
|
84
86
|
require("../../../util/pubsub.cjs.js");
|
|
85
|
-
require("axios");
|
|
86
87
|
require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");
|
|
88
|
+
require("axios");
|
|
87
89
|
require("../../../context/RemoteModulesContext.cjs.js");
|
|
88
90
|
const DetailsPanelContext = require("../../../context/DetailsPanelContext.cjs.js");
|
|
89
91
|
require("../../../context/ThumbnailUploaderContext.cjs.js");
|
|
@@ -99,8 +101,7 @@ require("../../../components/ReviewableProgressCard/ReviewableProgressCard.style
|
|
|
99
101
|
require("../../../components/FileThumbnail/FileThumbnail.cjs.js");
|
|
100
102
|
require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");
|
|
101
103
|
const StackedThumbnails = require("../../../components/Thumbnail/StackedThumbnails.cjs.js");
|
|
102
|
-
const
|
|
103
|
-
require("../../../components/ThumbnailUploader/ThumbnailUploader.styled.cjs.js");
|
|
104
|
+
const EntityPanelUploader = require("../../../components/EntityPanelUploader/EntityPanelUploader.cjs.js");
|
|
104
105
|
require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");
|
|
105
106
|
require("../../../components/EntityPath/EntityPath.styled.cjs.js");
|
|
106
107
|
require("../../../components/EntityPath/SegmentProvider.cjs.js");
|
|
@@ -123,6 +124,8 @@ require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");
|
|
|
123
124
|
require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");
|
|
124
125
|
require("../../../components/SearchFilter/filterDates.cjs.js");
|
|
125
126
|
require("../../../components/Badge/Badge.cjs.js");
|
|
127
|
+
require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");
|
|
128
|
+
require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");
|
|
126
129
|
require("../../Feed/context/FeedContext.cjs.js");
|
|
127
130
|
require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");
|
|
128
131
|
require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");
|
|
@@ -151,17 +154,15 @@ require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");
|
|
|
151
154
|
require("../../Feed/Feed.styled.cjs.js");
|
|
152
155
|
require("date-fns");
|
|
153
156
|
require("../../ProjectTreeTable/ProjectTreeTable.cjs.js");
|
|
157
|
+
require("../../ProjectTreeTable/context/CellEditingContext.cjs.js");
|
|
158
|
+
require("../../ProjectTreeTable/context/ClipboardContext.cjs.js");
|
|
159
|
+
require("@tanstack/react-table");
|
|
154
160
|
require("../../ProjectTreeTable/context/SelectionCellsContext.cjs.js");
|
|
161
|
+
require("../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");
|
|
155
162
|
require("../../ProjectTreeTable/context/ProjectTableContext.cjs.js");
|
|
156
163
|
require("../../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");
|
|
157
164
|
require("../../ProjectTreeTable/context/SelectedRowsContext.cjs.js");
|
|
158
|
-
require("../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");
|
|
159
|
-
require("../../ProjectTreeTable/context/CellEditingContext.cjs.js");
|
|
160
|
-
require("../../ProjectTreeTable/context/ClipboardContext.cjs.js");
|
|
161
|
-
require("../../ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js");
|
|
162
165
|
require("../../ProjectTreeTable/context/ProjectDataContext.cjs.js");
|
|
163
|
-
require("../../ProjectTreeTable/context/ProjectTableModulesContext.cjs.js");
|
|
164
|
-
require("@tanstack/react-table");
|
|
165
166
|
require("../../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");
|
|
166
167
|
require("../../ProjectTreeTable/widgets/DateWidget.cjs.js");
|
|
167
168
|
require("../../ProjectTreeTable/widgets/EnumWidget.cjs.js");
|
|
@@ -175,6 +176,7 @@ require("../../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");
|
|
|
175
176
|
require("../../ProjectTreeTable/components/SelectionCell.cjs.js");
|
|
176
177
|
require("../../ProjectTreeTable/components/RowSelectionHeader.cjs.js");
|
|
177
178
|
require("../../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");
|
|
179
|
+
require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");
|
|
178
180
|
require("../DetailsPanel.styled.cjs.js");
|
|
179
181
|
const FeedFilters = require("../FeedFilters/FeedFilters.cjs.js");
|
|
180
182
|
const DetailsPanelHeader_styled = require("./DetailsPanelHeader.styled.cjs.js");
|
|
@@ -197,7 +199,8 @@ const DetailsPanelHeader = ({
|
|
|
197
199
|
currentTab,
|
|
198
200
|
onTabChange,
|
|
199
201
|
entityTypeIcons,
|
|
200
|
-
onOpenViewer
|
|
202
|
+
onOpenViewer,
|
|
203
|
+
onEntityFocus
|
|
201
204
|
}) => {
|
|
202
205
|
const { useSearchParams, useNavigate } = DetailsPanelContext.useDetailsPanelContext();
|
|
203
206
|
const navigate = useNavigate();
|
|
@@ -312,11 +315,12 @@ const DetailsPanelHeader = ({
|
|
|
312
315
|
}
|
|
313
316
|
const { title, subTitle } = buildDetailsPanelTitles.buildDetailsPanelTitles(entities, entityType);
|
|
314
317
|
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(DetailsPanelHeader_styled.HeaderContainer, { children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
|
|
315
|
-
|
|
318
|
+
EntityPanelUploader.EntityPanelUploader,
|
|
316
319
|
{
|
|
317
320
|
entities,
|
|
318
321
|
entityType,
|
|
319
322
|
projectName,
|
|
323
|
+
onVersionCreated: (id) => onEntityFocus == null ? void 0 : onEntityFocus(id, "version"),
|
|
320
324
|
children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(DetailsPanelHeader_styled.Grid, { className: clsx("details-panel-header", { isCompact }), children: [
|
|
321
325
|
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(
|
|
322
326
|
DetailsPanelHeader_styled.Header,
|
package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanelHeader.cjs.js","sources":["../../../../../../src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { union, upperFirst } from 'lodash'\nimport clsx from 'clsx'\nimport { Icon } from '@ynput/ayon-react-components'\n\nimport { EntityThumbnailUploader, StackedThumbnails } from '@shared/components'\nimport { Actions } from '@shared/containers'\n// shared\nimport { useGetEntitiesChecklistsQuery, useGetAttributeConfigQuery } from '@shared/api'\nimport type { DetailsPanelEntityData } from '@shared/api'\nimport { getPriorityOptions } from '@shared/util'\nimport { useScopedStatuses, useEntityUpdate } from '@shared/hooks'\nimport { DetailsPanelTab, useDetailsPanelContext } from '@shared/context'\n\nimport FeedFilters from '../FeedFilters/FeedFilters'\nimport * as Styled from './DetailsPanelHeader.styled'\nimport getThumbnails from '../helpers/getThumbnails'\nimport { buildDetailsPanelTitles } from '../helpers/buildDetailsPanelTitles'\n\nexport type EntityTypeIcons = {\n folder: Record<string, string>\n task: Record<string, string>\n product: Record<string, string>\n}\n\ntype DetailsPanelHeaderProps = {\n entityType: 'folder' | 'task' | 'version' | 'representation'\n entitySubTypes: string[]\n entities: DetailsPanelEntityData[]\n disabledAssignees?: any[]\n users?: any[]\n disabledStatuses?: string[]\n tagsOptions?: any[]\n isFetching?: boolean\n isCompact?: boolean\n currentTab: DetailsPanelTab\n onTabChange: (tab: DetailsPanelTab) => void\n onOpenViewer: (args: any) => void\n entityTypeIcons: EntityTypeIcons\n}\n\nconst DetailsPanelHeader = ({\n entityType,\n entitySubTypes,\n entities = [],\n disabledAssignees = [],\n users = [],\n disabledStatuses,\n tagsOptions = [],\n isFetching,\n isCompact = false,\n currentTab,\n onTabChange,\n entityTypeIcons,\n onOpenViewer,\n}: DetailsPanelHeaderProps) => {\n const { useSearchParams, useNavigate } = useDetailsPanelContext()\n const navigate = useNavigate()\n const [searchParams, setSearchParams] = useSearchParams()\n\n const statuses = useScopedStatuses(\n entities.map((entity) => entity.projectName),\n [entityType],\n )\n\n // for selected entities, get flat list of assignees\n const entityUsers: string[] = useMemo(\n () =>\n union(\n ...entities.flatMap((entity) => [\n entity.task?.assignees || [],\n entity.version?.author || [],\n ]),\n ),\n [entities],\n )\n\n let firstEntity = entities[0]\n // If there's no data return null\n const isLoading = entities.length === 0 || !firstEntity || isFetching\n // placeholder entity\n if (!firstEntity) {\n firstEntity = {\n id: 'placeholder',\n name: 'loading...',\n label: 'loading...',\n entityType,\n status: 'loading',\n projectName: 'loading...',\n tags: [],\n hasReviewables: false,\n attrib: {},\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n }\n }\n\n const projectName = entities.length > 1 ? undefined : firstEntity?.projectName\n\n const entityIds = entities\n .filter((e) => e.projectName === firstEntity?.projectName && e.id)\n .map((entity) => entity.id)\n\n // get checklists count\n const { data: checklistCount } = useGetEntitiesChecklistsQuery(\n {\n projectName: firstEntity?.projectName,\n entityIds,\n },\n { skip: !firstEntity?.projectName || !entityIds.length },\n )\n let checklistsLabel\n if (checklistCount?.total && checklistCount.total > 0) {\n checklistsLabel = `${checklistCount.checked}/${checklistCount.total}`\n }\n\n // get priorities\n // get priority attribute so we know the colors and icons for each priority\n const { data: priorityAttrib } = useGetAttributeConfigQuery({ attributeName: 'priority' })\n const priorities = getPriorityOptions(priorityAttrib, entityType)\n\n const thumbnails = useMemo(\n () => getThumbnails(entities, entityType, entityTypeIcons),\n [entities, entityType, entityTypeIcons],\n )\n\n // we need to get the intersection of all the statuses of the projects for the selected entities\n // this means that if we have 2 entities from 2 different projects, we need to get the intersection of the statuses of those 2 projects\n // and it prevents us from showing statuses that are not available for the selected entities\n const statusesValue = useMemo(() => entities.map((t) => t.status), [entities])\n const priorityValues = useMemo(() => entities.map((t) => t.attrib?.priority), [entities])\n const tagsValues: string[][] = useMemo(() => entities.map((t) => t.tags), [entities])\n const tagsOptionsObject = useMemo(\n () =>\n tagsOptions.reduce((acc, tag) => {\n acc[tag.name] = tag\n return acc\n }, {}),\n [tagsOptions],\n )\n\n const isMultiple = entities.length > 1\n\n const { updateEntity } = useEntityUpdate({\n entities: entities.map((e) => ({\n id: e.id,\n projectName: e.projectName,\n users: e.task?.assignees || [],\n folderId: e.folder?.id,\n productId: e.product?.id,\n })),\n entityType,\n })\n\n const handleUpdate = (field: string, value: any) => {\n if (value === null || value === undefined) return console.error('value is null or undefined')\n return updateEntity(field, value)\n }\n\n const handleThumbnailClick = () => {\n let versionIds,\n id = firstEntity.id,\n entityTypeKey = entityType + 'Id'\n\n if (entityType === 'version' && firstEntity.product?.id) {\n versionIds = [firstEntity.id]\n id = firstEntity.product?.id\n entityTypeKey = 'productId'\n }\n\n if (id) {\n onOpenViewer({\n [entityTypeKey]: id,\n projectName,\n versionIds,\n })\n }\n }\n\n const hasUser =\n ['task', 'version', 'representation'].includes(entityType) &&\n (entityUsers.length > 0 || entityType === 'task')\n\n const usersOptions = users.map((u) => u)\n if (hasUser) {\n // check if all users are in options, otherwise add them\n const allUsers = users.map((u) => u.name)\n const usersToAdd = entityUsers.filter((u) => !allUsers.includes(u))\n if (usersToAdd.length) {\n usersOptions.push(...usersToAdd.map((u) => ({ name: u, fullName: u })))\n }\n }\n\n // Get title and subtitle from the imported function\n const { title, subTitle } = buildDetailsPanelTitles(entities, entityType)\n\n return (\n <Styled.HeaderContainer>\n <EntityThumbnailUploader\n entities={entities}\n entityType={entityType}\n projectName={projectName}\n >\n <Styled.Grid className={clsx('details-panel-header', { isCompact })}>\n <Styled.Header\n className={clsx('titles', { isCompact, loading: isLoading }, 'no-shimmer')}\n >\n <div style={{ position: 'relative' }}>\n <StackedThumbnails\n isLoading={isLoading}\n shimmer={isLoading}\n thumbnails={thumbnails}\n onClick={thumbnails.length === 1 ? handleThumbnailClick : undefined}\n hoverIcon={'play_circle'}\n />\n {!isMultiple && firstEntity?.hasReviewables && (\n <Styled.Playable className=\"playable\">\n <Icon icon=\"play_circle\" />\n </Styled.Playable>\n )}\n </div>\n <Styled.Content className={clsx({ loading: isLoading })}>\n <Styled.Title>\n <h2>{title}</h2>\n <Styled.TagsSelect\n value={union(...tagsValues)}\n tags={tagsOptionsObject}\n options={[]}\n editable\n editor\n onChange={(value) => handleUpdate('tags', value)}\n align=\"right\"\n styleDropdown={{ display: isLoading ? 'none' : 'unset' }}\n className=\"tags-select\"\n />\n </Styled.Title>\n <div className=\"sub-title\">\n <span className=\"entity-type\">{upperFirst(entityType)} - </span>\n <h3>{subTitle}</h3>\n </div>\n </Styled.Content>\n </Styled.Header>\n <Styled.StatusSelect\n value={statusesValue}\n options={statuses || []}\n disabledValues={disabledStatuses}\n invert\n style={{ maxWidth: 'unset' }}\n onChange={(value) => handleUpdate('status', value)}\n className={clsx('status-select', { loading: isLoading })}\n align={isCompact ? 'right' : 'left'}\n />\n {!isCompact &&\n (!hasUser || isLoading ? (\n <div></div>\n ) : (\n <Styled.AssigneeSelect\n value={entityUsers}\n options={usersOptions}\n disabledValues={disabledAssignees.map((u) => u.name)}\n isMultiple={isMultiple && entityUsers.length > 1 && entityType === 'task'}\n readOnly={entityType !== 'task'}\n emptyMessage={entityType === 'task' ? 'Assign user' : ''}\n align=\"right\"\n onChange={(value) => handleUpdate('assignees', value)}\n className=\"assignee-select\"\n data-tooltip={\n entityUsers.length ? (entityType === 'task' ? 'Assigned users' : 'Author') : ''\n }\n />\n ))}\n <Actions\n entities={entities}\n entityType={entityType}\n entitySubTypes={entitySubTypes}\n isLoadingEntity={!!isFetching || !!isLoading}\n searchParams={searchParams}\n onSetSearchParams={setSearchParams}\n onNavigate={navigate}\n />\n {priorities ? (\n <Styled.PriorityEnumDropdown\n options={priorities}\n placeholder=\"No priority\"\n value={priorityValues}\n onChange={(value) => handleUpdate('attrib', { priority: value[0] })}\n align=\"right\"\n />\n ) : (\n <div style={{ height: 32 }}></div>\n )}\n <FeedFilters\n isLoading={isLoading}\n entityType={entityType}\n className=\"filters\"\n overrides={{\n checklists: {\n label: checklistsLabel,\n },\n }}\n currentTab={currentTab}\n onTabChange={onTabChange}\n />\n </Styled.Grid>\n </EntityThumbnailUploader>\n </Styled.HeaderContainer>\n )\n}\n\nexport default DetailsPanelHeader\n"],"names":["useDetailsPanelContext","useScopedStatuses","useMemo","union","useGetEntitiesChecklistsQuery","useGetAttributeConfigQuery","getPriorityOptions","useEntityUpdate","buildDetailsPanelTitles","jsx","Styled.HeaderContainer","EntityThumbnailUploader","jsxs","Styled.Grid","Styled.Header","StackedThumbnails","Styled.Playable","Icon","Styled.Content","Styled.Title","Styled.TagsSelect","upperFirst","Styled.StatusSelect","Styled.AssigneeSelect","Actions","Styled.PriorityEnumDropdown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DetailsPanelHeader.cjs.js","sources":["../../../../../../src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { union, upperFirst } from 'lodash'\nimport clsx from 'clsx'\nimport { Icon } from '@ynput/ayon-react-components'\n\nimport { EntityPanelUploader, StackedThumbnails } from '@shared/components'\nimport { Actions, DetailsPanelProps } from '@shared/containers'\n// shared\nimport { useGetEntitiesChecklistsQuery, useGetAttributeConfigQuery } from '@shared/api'\nimport type { DetailsPanelEntityData } from '@shared/api'\nimport { getPriorityOptions } from '@shared/util'\nimport { useScopedStatuses, useEntityUpdate } from '@shared/hooks'\nimport { DetailsPanelTab, useDetailsPanelContext } from '@shared/context'\n\nimport FeedFilters from '../FeedFilters/FeedFilters'\nimport * as Styled from './DetailsPanelHeader.styled'\nimport getThumbnails from '../helpers/getThumbnails'\nimport { buildDetailsPanelTitles } from '../helpers/buildDetailsPanelTitles'\n\nexport type EntityTypeIcons = {\n folder: Record<string, string>\n task: Record<string, string>\n product: Record<string, string>\n}\n\ntype DetailsPanelHeaderProps = {\n entityType: 'folder' | 'task' | 'version' | 'representation'\n entitySubTypes: string[]\n entities: DetailsPanelEntityData[]\n disabledAssignees?: any[]\n users?: any[]\n disabledStatuses?: string[]\n tagsOptions?: any[]\n isFetching?: boolean\n isCompact?: boolean\n currentTab: DetailsPanelTab\n onTabChange: (tab: DetailsPanelTab) => void\n onOpenViewer: (args: any) => void\n onEntityFocus: DetailsPanelProps['onEntityFocus']\n entityTypeIcons: EntityTypeIcons\n}\n\nconst DetailsPanelHeader = ({\n entityType,\n entitySubTypes,\n entities = [],\n disabledAssignees = [],\n users = [],\n disabledStatuses,\n tagsOptions = [],\n isFetching,\n isCompact = false,\n currentTab,\n onTabChange,\n entityTypeIcons,\n onOpenViewer,\n onEntityFocus,\n}: DetailsPanelHeaderProps) => {\n const { useSearchParams, useNavigate } = useDetailsPanelContext()\n const navigate = useNavigate()\n const [searchParams, setSearchParams] = useSearchParams()\n\n const statuses = useScopedStatuses(\n entities.map((entity) => entity.projectName),\n [entityType],\n )\n\n // for selected entities, get flat list of assignees\n const entityUsers: string[] = useMemo(\n () =>\n union(\n ...entities.flatMap((entity) => [\n entity.task?.assignees || [],\n entity.version?.author || [],\n ]),\n ),\n [entities],\n )\n\n let firstEntity = entities[0]\n // If there's no data return null\n const isLoading = entities.length === 0 || !firstEntity || isFetching\n // placeholder entity\n if (!firstEntity) {\n firstEntity = {\n id: 'placeholder',\n name: 'loading...',\n label: 'loading...',\n entityType,\n status: 'loading',\n projectName: 'loading...',\n tags: [],\n hasReviewables: false,\n attrib: {},\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n }\n }\n\n const projectName = entities.length > 1 ? undefined : firstEntity?.projectName\n\n const entityIds = entities\n .filter((e) => e.projectName === firstEntity?.projectName && e.id)\n .map((entity) => entity.id)\n\n // get checklists count\n const { data: checklistCount } = useGetEntitiesChecklistsQuery(\n {\n projectName: firstEntity?.projectName,\n entityIds,\n },\n { skip: !firstEntity?.projectName || !entityIds.length },\n )\n let checklistsLabel\n if (checklistCount?.total && checklistCount.total > 0) {\n checklistsLabel = `${checklistCount.checked}/${checklistCount.total}`\n }\n\n // get priorities\n // get priority attribute so we know the colors and icons for each priority\n const { data: priorityAttrib } = useGetAttributeConfigQuery({ attributeName: 'priority' })\n const priorities = getPriorityOptions(priorityAttrib, entityType)\n\n const thumbnails = useMemo(\n () => getThumbnails(entities, entityType, entityTypeIcons),\n [entities, entityType, entityTypeIcons],\n )\n\n // we need to get the intersection of all the statuses of the projects for the selected entities\n // this means that if we have 2 entities from 2 different projects, we need to get the intersection of the statuses of those 2 projects\n // and it prevents us from showing statuses that are not available for the selected entities\n const statusesValue = useMemo(() => entities.map((t) => t.status), [entities])\n const priorityValues = useMemo(() => entities.map((t) => t.attrib?.priority), [entities])\n const tagsValues: string[][] = useMemo(() => entities.map((t) => t.tags), [entities])\n const tagsOptionsObject = useMemo(\n () =>\n tagsOptions.reduce((acc, tag) => {\n acc[tag.name] = tag\n return acc\n }, {}),\n [tagsOptions],\n )\n\n const isMultiple = entities.length > 1\n\n const { updateEntity } = useEntityUpdate({\n entities: entities.map((e) => ({\n id: e.id,\n projectName: e.projectName,\n users: e.task?.assignees || [],\n folderId: e.folder?.id,\n productId: e.product?.id,\n })),\n entityType,\n })\n\n const handleUpdate = (field: string, value: any) => {\n if (value === null || value === undefined) return console.error('value is null or undefined')\n return updateEntity(field, value)\n }\n\n const handleThumbnailClick = () => {\n let versionIds,\n id = firstEntity.id,\n entityTypeKey = entityType + 'Id'\n\n if (entityType === 'version' && firstEntity.product?.id) {\n versionIds = [firstEntity.id]\n id = firstEntity.product?.id\n entityTypeKey = 'productId'\n }\n\n if (id) {\n onOpenViewer({\n [entityTypeKey]: id,\n projectName,\n versionIds,\n })\n }\n }\n\n const hasUser =\n ['task', 'version', 'representation'].includes(entityType) &&\n (entityUsers.length > 0 || entityType === 'task')\n\n const usersOptions = users.map((u) => u)\n if (hasUser) {\n // check if all users are in options, otherwise add them\n const allUsers = users.map((u) => u.name)\n const usersToAdd = entityUsers.filter((u) => !allUsers.includes(u))\n if (usersToAdd.length) {\n usersOptions.push(...usersToAdd.map((u) => ({ name: u, fullName: u })))\n }\n }\n\n // Get title and subtitle from the imported function\n const { title, subTitle } = buildDetailsPanelTitles(entities, entityType)\n\n return (\n <Styled.HeaderContainer>\n <EntityPanelUploader\n entities={entities}\n entityType={entityType}\n projectName={projectName}\n onVersionCreated={(id) => onEntityFocus?.(id, 'version')}\n >\n <Styled.Grid className={clsx('details-panel-header', { isCompact })}>\n <Styled.Header\n className={clsx('titles', { isCompact, loading: isLoading }, 'no-shimmer')}\n >\n <div style={{ position: 'relative' }}>\n <StackedThumbnails\n isLoading={isLoading}\n shimmer={isLoading}\n thumbnails={thumbnails}\n onClick={thumbnails.length === 1 ? handleThumbnailClick : undefined}\n hoverIcon={'play_circle'}\n />\n {!isMultiple && firstEntity?.hasReviewables && (\n <Styled.Playable className=\"playable\">\n <Icon icon=\"play_circle\" />\n </Styled.Playable>\n )}\n </div>\n <Styled.Content className={clsx({ loading: isLoading })}>\n <Styled.Title>\n <h2>{title}</h2>\n <Styled.TagsSelect\n value={union(...tagsValues)}\n tags={tagsOptionsObject}\n options={[]}\n editable\n editor\n onChange={(value) => handleUpdate('tags', value)}\n align=\"right\"\n styleDropdown={{ display: isLoading ? 'none' : 'unset' }}\n className=\"tags-select\"\n />\n </Styled.Title>\n <div className=\"sub-title\">\n <span className=\"entity-type\">{upperFirst(entityType)} - </span>\n <h3>{subTitle}</h3>\n </div>\n </Styled.Content>\n </Styled.Header>\n <Styled.StatusSelect\n value={statusesValue}\n options={statuses || []}\n disabledValues={disabledStatuses}\n invert\n style={{ maxWidth: 'unset' }}\n onChange={(value) => handleUpdate('status', value)}\n className={clsx('status-select', { loading: isLoading })}\n align={isCompact ? 'right' : 'left'}\n />\n {!isCompact &&\n (!hasUser || isLoading ? (\n <div></div>\n ) : (\n <Styled.AssigneeSelect\n value={entityUsers}\n options={usersOptions}\n disabledValues={disabledAssignees.map((u) => u.name)}\n isMultiple={isMultiple && entityUsers.length > 1 && entityType === 'task'}\n readOnly={entityType !== 'task'}\n emptyMessage={entityType === 'task' ? 'Assign user' : ''}\n align=\"right\"\n onChange={(value) => handleUpdate('assignees', value)}\n className=\"assignee-select\"\n data-tooltip={\n entityUsers.length ? (entityType === 'task' ? 'Assigned users' : 'Author') : ''\n }\n />\n ))}\n <Actions\n entities={entities}\n entityType={entityType}\n entitySubTypes={entitySubTypes}\n isLoadingEntity={!!isFetching || !!isLoading}\n searchParams={searchParams}\n onSetSearchParams={setSearchParams}\n onNavigate={navigate}\n />\n {priorities ? (\n <Styled.PriorityEnumDropdown\n options={priorities}\n placeholder=\"No priority\"\n value={priorityValues}\n onChange={(value) => handleUpdate('attrib', { priority: value[0] })}\n align=\"right\"\n />\n ) : (\n <div style={{ height: 32 }}></div>\n )}\n <FeedFilters\n isLoading={isLoading}\n entityType={entityType}\n className=\"filters\"\n overrides={{\n checklists: {\n label: checklistsLabel,\n },\n }}\n currentTab={currentTab}\n onTabChange={onTabChange}\n />\n </Styled.Grid>\n </EntityPanelUploader>\n </Styled.HeaderContainer>\n )\n}\n\nexport default DetailsPanelHeader\n"],"names":["useDetailsPanelContext","useScopedStatuses","useMemo","union","useGetEntitiesChecklistsQuery","useGetAttributeConfigQuery","getPriorityOptions","useEntityUpdate","buildDetailsPanelTitles","jsx","Styled.HeaderContainer","EntityPanelUploader","jsxs","Styled.Grid","Styled.Header","StackedThumbnails","Styled.Playable","Icon","Styled.Content","Styled.Title","Styled.TagsSelect","upperFirst","Styled.StatusSelect","Styled.AssigneeSelect","Actions","Styled.PriorityEnumDropdown"],"mappings":"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"}
|