@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
|
@@ -1,11 +1,75 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "../../../../_virtual/jsx-runtime.es.js";
|
|
2
2
|
import { useState, useRef } from "react";
|
|
3
3
|
import clsx from "clsx";
|
|
4
|
+
import "../../containers/ContextMenu/ContextMenuContext.es.js";
|
|
4
5
|
import "@ynput/ayon-react-components";
|
|
5
|
-
|
|
6
|
+
/* empty css */
|
|
7
|
+
import "react-dom";
|
|
8
|
+
import "../../containers/Feed/context/FeedContext.es.js";
|
|
9
|
+
import "../../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
|
|
10
|
+
import "../../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
|
|
11
|
+
import "lodash";
|
|
12
|
+
import { toast } from "react-toastify";
|
|
13
|
+
import "../../util/pubsub.es.js";
|
|
14
|
+
import "../../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js";
|
|
15
|
+
import "../../containers/Feed/components/FileUploadPreview/Mimes/TextMime.es.js";
|
|
16
|
+
import "react-markdown";
|
|
17
|
+
import "remark-emoji";
|
|
18
|
+
import "remark-gfm";
|
|
19
|
+
import "remark-directive";
|
|
20
|
+
import "remark-directive-rehype";
|
|
21
|
+
import "../../containers/Feed/components/CommentInput/CommentInput.es.js";
|
|
22
|
+
import "../../containers/Feed/components/ReactionContainer/Reactions.styled.es.js";
|
|
23
|
+
import "../../containers/Feed/components/FilesGrid/FilesGrid.styled.es.js";
|
|
24
|
+
import "../../containers/Feed/components/FileUploadCard/FileUploadCard.styled.es.js";
|
|
25
|
+
import "../../context/RemoteModulesContext.es.js";
|
|
26
|
+
import { useDetailsPanelContext } from "../../context/DetailsPanelContext.es.js";
|
|
27
|
+
import { ThumbnailUploadProvider } from "../../context/ThumbnailUploaderContext.es.js";
|
|
28
|
+
import "../../context/SettingsPanelContext.es.js";
|
|
29
|
+
import "../../context/pip/PiPProvider.es.js";
|
|
30
|
+
import "../../context/pip/PiPWrapper.es.js";
|
|
31
|
+
import "../../context/AddonProjectContext.es.js";
|
|
32
|
+
import "../../context/AddonContext.es.js";
|
|
33
|
+
import "../../context/PowerpackContext.es.js";
|
|
34
|
+
import "../../containers/Feed/components/CommentInput/quillToMarkdown.es.js";
|
|
35
|
+
import "../../containers/Feed/components/ActivityComment/ActivityComment.styled.es.js";
|
|
36
|
+
import "../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.es.js";
|
|
37
|
+
import "../../containers/Feed/components/ActivityReference/ActivityReference.styled.es.js";
|
|
38
|
+
import "react-router-dom";
|
|
39
|
+
import "../../containers/Feed/components/ActivityStatus/ActivityStatus.es.js";
|
|
40
|
+
import "../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
|
|
41
|
+
import "../../containers/Feed/components/ActivityDate.es.js";
|
|
42
|
+
import "../../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js";
|
|
43
|
+
import "../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.es.js";
|
|
44
|
+
import "../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js";
|
|
45
|
+
import "../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
|
|
46
|
+
import "../../containers/Feed/Feed.styled.es.js";
|
|
47
|
+
import "date-fns";
|
|
6
48
|
import "../EmptyPlaceholder/EmptyPlaceholder.es.js";
|
|
7
49
|
import "../EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
|
|
8
|
-
import "
|
|
50
|
+
import "../../containers/ProjectTreeTable/ProjectTreeTable.es.js";
|
|
51
|
+
import "../../containers/ProjectTreeTable/context/CellEditingContext.es.js";
|
|
52
|
+
import "../../containers/ProjectTreeTable/context/ClipboardContext.es.js";
|
|
53
|
+
import "@tanstack/react-table";
|
|
54
|
+
import "../../containers/ProjectTreeTable/context/SelectionCellsContext.es.js";
|
|
55
|
+
import "../../containers/ProjectTreeTable/context/ColumnSettingsContext.es.js";
|
|
56
|
+
import "../../containers/ProjectTreeTable/context/ProjectTableContext.es.js";
|
|
57
|
+
import "../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.es.js";
|
|
58
|
+
import "../../containers/ProjectTreeTable/context/SelectedRowsContext.es.js";
|
|
59
|
+
import "../../containers/ProjectTreeTable/context/ProjectDataContext.es.js";
|
|
60
|
+
import "../../containers/ProjectTreeTable/widgets/CollapsedWidget.es.js";
|
|
61
|
+
import "../../containers/ProjectTreeTable/widgets/DateWidget.es.js";
|
|
62
|
+
import "../../containers/ProjectTreeTable/widgets/EnumWidget.es.js";
|
|
63
|
+
import "../../containers/ProjectTreeTable/widgets/TextWidget.es.js";
|
|
64
|
+
import "../../containers/ProjectTreeTable/widgets/BooleanWidget.es.js";
|
|
65
|
+
import "../../containers/ProjectTreeTable/widgets/CellWidget.es.js";
|
|
66
|
+
import "../../containers/ProjectTreeTable/widgets/EntityNameWidget.es.js";
|
|
67
|
+
import "../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js";
|
|
68
|
+
import "../../containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js";
|
|
69
|
+
import "../../containers/ProjectTreeTable/ProjectTreeTable.styled.es.js";
|
|
70
|
+
import "../../containers/ProjectTreeTable/components/SelectionCell.es.js";
|
|
71
|
+
import "../../containers/ProjectTreeTable/components/RowSelectionHeader.es.js";
|
|
72
|
+
import "../../containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js";
|
|
9
73
|
import "../../api/base/client.es.js";
|
|
10
74
|
import "../../api/generated/graphql.es.js";
|
|
11
75
|
import "../../api/generated/access.es.js";
|
|
@@ -73,98 +137,29 @@ import "../../api/queries/users/updateUsers.es.js";
|
|
|
73
137
|
import "../../api/queries/watchers/getWatchers.es.js";
|
|
74
138
|
import "../../api/queries/permissions/getPermissions.es.js";
|
|
75
139
|
import "../../api/queries/grouping/getGrouping.es.js";
|
|
140
|
+
import { useCreateVersionMutation } from "../../api/queries/versions/updateVersions.es.js";
|
|
141
|
+
import { useCreateProductMutation } from "../../api/queries/products/createProduct.es.js";
|
|
142
|
+
import "../../../../_virtual/runtime.es.js";
|
|
143
|
+
import "../../../../_virtual/semver.es.js";
|
|
144
|
+
import "react-redux";
|
|
145
|
+
import "custom-protocol-check";
|
|
146
|
+
import "../../containers/ProjectTreeTable/components/GroupSettingsFallback.es.js";
|
|
147
|
+
import "../ThumbnailSimple/ThumbnailSimple.es.js";
|
|
76
148
|
import "@dnd-kit/core";
|
|
77
149
|
import "@dnd-kit/sortable";
|
|
78
150
|
import "../ReviewablesList/ReviewablesList.styled.es.js";
|
|
79
|
-
import "../../containers/ContextMenu/ContextMenuContext.es.js";
|
|
80
|
-
/* empty css */
|
|
81
|
-
import "lodash";
|
|
82
|
-
import "../../util/pubsub.es.js";
|
|
83
|
-
import "axios";
|
|
84
151
|
import "../ReviewablesList/ReviewablesUpload.styled.es.js";
|
|
85
|
-
import "
|
|
86
|
-
import "../../context/DetailsPanelContext.es.js";
|
|
87
|
-
import { ThumbnailUploadProvider } from "../../context/ThumbnailUploaderContext.es.js";
|
|
88
|
-
import "../../context/SettingsPanelContext.es.js";
|
|
89
|
-
import "../../context/pip/PiPProvider.es.js";
|
|
90
|
-
import "react-dom";
|
|
91
|
-
import "../../context/pip/PiPWrapper.es.js";
|
|
92
|
-
import "../../context/AddonProjectContext.es.js";
|
|
93
|
-
import "../../context/AddonContext.es.js";
|
|
94
|
-
import "../../context/PowerpackContext.es.js";
|
|
152
|
+
import { useReviewablesUpload } from "../ReviewablesList/useReviewablesUpload.es.js";
|
|
95
153
|
import "../ReviewableCard/ReviewableCard.es.js";
|
|
96
154
|
import "../ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
|
|
97
155
|
import "../FileThumbnail/FileThumbnail.es.js";
|
|
98
156
|
import "../Thumbnail/Thumbnail.styled.es.js";
|
|
99
157
|
import "../Thumbnail/StackedThumbnails.es.js";
|
|
100
|
-
import "
|
|
101
|
-
import "
|
|
102
|
-
import "
|
|
103
|
-
import "
|
|
104
|
-
import "../../
|
|
105
|
-
import "react-markdown";
|
|
106
|
-
import "remark-emoji";
|
|
107
|
-
import "remark-gfm";
|
|
108
|
-
import "remark-directive";
|
|
109
|
-
import "remark-directive-rehype";
|
|
110
|
-
import "../../containers/Feed/components/CommentInput/CommentInput.es.js";
|
|
111
|
-
import "../../containers/Feed/components/ReactionContainer/Reactions.styled.es.js";
|
|
112
|
-
import "../../containers/Feed/components/FilesGrid/FilesGrid.styled.es.js";
|
|
113
|
-
import "../../containers/Feed/components/FileUploadCard/FileUploadCard.styled.es.js";
|
|
114
|
-
import "../../containers/Feed/components/CommentInput/quillToMarkdown.es.js";
|
|
115
|
-
import "../../containers/Feed/components/ActivityComment/ActivityComment.styled.es.js";
|
|
116
|
-
import "../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.es.js";
|
|
117
|
-
import "../../containers/Feed/components/ActivityReference/ActivityReference.styled.es.js";
|
|
118
|
-
import "react-router-dom";
|
|
119
|
-
import "../../containers/Feed/components/ActivityStatus/ActivityStatus.es.js";
|
|
120
|
-
import "../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
|
|
121
|
-
import "../../containers/Feed/components/ActivityDate.es.js";
|
|
122
|
-
import "../../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js";
|
|
123
|
-
import "../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.es.js";
|
|
124
|
-
import "../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js";
|
|
125
|
-
import "../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
|
|
126
|
-
import "../../containers/Feed/Feed.styled.es.js";
|
|
127
|
-
import "date-fns";
|
|
128
|
-
import "../../containers/ProjectTreeTable/ProjectTreeTable.es.js";
|
|
129
|
-
import "../../containers/ProjectTreeTable/context/SelectionCellsContext.es.js";
|
|
130
|
-
import "../../containers/ProjectTreeTable/context/ProjectTableContext.es.js";
|
|
131
|
-
import "../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.es.js";
|
|
132
|
-
import "../../containers/ProjectTreeTable/context/SelectedRowsContext.es.js";
|
|
133
|
-
import "../../containers/ProjectTreeTable/context/ColumnSettingsContext.es.js";
|
|
134
|
-
import "../../containers/ProjectTreeTable/context/CellEditingContext.es.js";
|
|
135
|
-
import "../../containers/ProjectTreeTable/context/ClipboardContext.es.js";
|
|
136
|
-
import "../../containers/ProjectTreeTable/context/ProjectTableSelectionContext.es.js";
|
|
137
|
-
import "../../containers/ProjectTreeTable/context/ProjectDataContext.es.js";
|
|
138
|
-
import "../../containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js";
|
|
139
|
-
import "@tanstack/react-table";
|
|
140
|
-
import "../../containers/ProjectTreeTable/widgets/CollapsedWidget.es.js";
|
|
141
|
-
import "../../containers/ProjectTreeTable/widgets/DateWidget.es.js";
|
|
142
|
-
import "../../containers/ProjectTreeTable/widgets/EnumWidget.es.js";
|
|
143
|
-
import "../../containers/ProjectTreeTable/widgets/TextWidget.es.js";
|
|
144
|
-
import "../../containers/ProjectTreeTable/widgets/BooleanWidget.es.js";
|
|
145
|
-
import "../../containers/ProjectTreeTable/widgets/CellWidget.es.js";
|
|
146
|
-
import "../../containers/ProjectTreeTable/widgets/EntityNameWidget.es.js";
|
|
147
|
-
import "../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js";
|
|
148
|
-
import "../../containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js";
|
|
149
|
-
import "../../containers/ProjectTreeTable/ProjectTreeTable.styled.es.js";
|
|
150
|
-
import "../../containers/ProjectTreeTable/components/SelectionCell.es.js";
|
|
151
|
-
import "../../containers/ProjectTreeTable/components/RowSelectionHeader.es.js";
|
|
152
|
-
import "../../containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js";
|
|
153
|
-
import "../../containers/DetailsPanel/DetailsPanel.styled.es.js";
|
|
154
|
-
import "../../../../_virtual/runtime.es.js";
|
|
155
|
-
import "../../../../_virtual/semver.es.js";
|
|
156
|
-
import "react-redux";
|
|
157
|
-
import "custom-protocol-check";
|
|
158
|
-
import "../../containers/DetailsPanel/FeedFilters/FeedFilters.styled.es.js";
|
|
159
|
-
import { ThumbnailWrapper } from "../../containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
|
|
160
|
-
import "../../containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js";
|
|
161
|
-
import "../../containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
|
|
162
|
-
import "../../containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.es.js";
|
|
163
|
-
import "../../containers/Actions/Actions.styled.es.js";
|
|
164
|
-
import "../../containers/Actions/ActionsDropdown/ActionsDropdown.es.js";
|
|
165
|
-
import "../../containers/Actions/ActionIcon.es.js";
|
|
166
|
-
import { DragAndDropWrapper } from "./EntityThumbnailUploader.styled.es.js";
|
|
167
|
-
import { ThumbnailUploader } from "../ThumbnailUploader/ThumbnailUploader.es.js";
|
|
158
|
+
import { DragAndDropWrapper, DropZones, UploadingProgress, Progress, CancelButton } from "./EntityPanelUploader.styled.es.js";
|
|
159
|
+
import Dropzone from "./Dropzone.es.js";
|
|
160
|
+
import axios from "axios";
|
|
161
|
+
import EntityPanelUploaderDialog from "./EntityPanelUploaderDialog.es.js";
|
|
162
|
+
import { sanitizeProductName, createProductHelper, handleUploadError, getNextVersionNumber, createVersionHelper } from "../../utils/versionUploadHelpers.es.js";
|
|
168
163
|
import "../SimpleFormDialog/SimpleFormDialog.es.js";
|
|
169
164
|
import "../EntityPath/EntityPath.styled.es.js";
|
|
170
165
|
import "../EntityPath/SegmentProvider.es.js";
|
|
@@ -180,19 +175,147 @@ import "../AttributeEditor/components/MinMaxField.es.js";
|
|
|
180
175
|
import "../EnumEditor/EnumEditor.styled.es.js";
|
|
181
176
|
import "../SearchFilter/filterDates.es.js";
|
|
182
177
|
import "../Badge/Badge.es.js";
|
|
183
|
-
|
|
178
|
+
import "../VersionUploader/components/UploadVersionDialog.es.js";
|
|
179
|
+
import "../VersionUploader/context/VersionUploadContext.es.js";
|
|
180
|
+
import "../../containers/DetailsPanel/DetailsPanel.styled.es.js";
|
|
181
|
+
import "../../containers/DetailsPanel/FeedFilters/FeedFilters.styled.es.js";
|
|
182
|
+
import { ThumbnailWrapper } from "../../containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
|
|
183
|
+
import "../../containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js";
|
|
184
|
+
import "../../containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
|
|
185
|
+
import "../../containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.es.js";
|
|
186
|
+
import "../../containers/Actions/Actions.styled.es.js";
|
|
187
|
+
import "../../containers/Actions/ActionsDropdown/ActionsDropdown.es.js";
|
|
188
|
+
import "../../containers/Actions/ActionIcon.es.js";
|
|
189
|
+
const dropZones = [
|
|
190
|
+
{ id: "thumbnail", label: "Upload thumbnail", icon: "add_photo_alternate" },
|
|
191
|
+
{ id: "version", label: "Upload version", icon: "layers" }
|
|
192
|
+
];
|
|
193
|
+
const EntityPanelUploader = ({
|
|
184
194
|
children = [],
|
|
185
195
|
entityType,
|
|
186
196
|
entities = [],
|
|
187
|
-
|
|
188
|
-
onUploaded
|
|
197
|
+
projectName,
|
|
198
|
+
onUploaded,
|
|
199
|
+
onVersionCreated
|
|
189
200
|
}) => {
|
|
201
|
+
var _a, _b, _c;
|
|
202
|
+
const { dispatch } = useDetailsPanelContext();
|
|
190
203
|
const [isDraggingFile, setIsDraggingFile] = useState(false);
|
|
191
|
-
const [
|
|
192
|
-
const
|
|
193
|
-
const
|
|
204
|
+
const [draggingZone, setDraggingZone] = useState(null);
|
|
205
|
+
const dragCounterRef = useRef(0);
|
|
206
|
+
const [uploadingType, setUploadingType] = useState(null);
|
|
207
|
+
const [progress, setProgress] = useState(0);
|
|
208
|
+
const [showProductDialog, setShowProductDialog] = useState(false);
|
|
209
|
+
const [pendingFiles, setPendingFiles] = useState(null);
|
|
210
|
+
const singleEntity = entities.length === 1 ? entities[0] : null;
|
|
211
|
+
const taskId = (_a = singleEntity == null ? void 0 : singleEntity.task) == null ? void 0 : _a.id;
|
|
212
|
+
const folderId = (_b = singleEntity == null ? void 0 : singleEntity.folder) == null ? void 0 : _b.id;
|
|
213
|
+
const productId = (_c = singleEntity == null ? void 0 : singleEntity.product) == null ? void 0 : _c.id;
|
|
214
|
+
const versionId = singleEntity == null ? void 0 : singleEntity.id;
|
|
215
|
+
const canUploadVersions = Boolean(singleEntity && entityType !== "representation");
|
|
216
|
+
const { handleFileUpload: uploadReviewableFiles } = useReviewablesUpload({
|
|
217
|
+
projectName,
|
|
218
|
+
versionId,
|
|
219
|
+
taskId,
|
|
220
|
+
folderId,
|
|
221
|
+
productId,
|
|
222
|
+
dispatch,
|
|
223
|
+
onUpload: () => {
|
|
224
|
+
setUploadingType(null);
|
|
225
|
+
setProgress(0);
|
|
226
|
+
},
|
|
227
|
+
onProgress: (progress2) => {
|
|
228
|
+
setProgress(progress2);
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
const availableDropZones = dropZones.filter((zone) => {
|
|
232
|
+
if (zone.id === "version") {
|
|
233
|
+
return canUploadVersions;
|
|
234
|
+
}
|
|
235
|
+
return true;
|
|
236
|
+
});
|
|
237
|
+
const resetState = () => {
|
|
238
|
+
setUploadingType(null);
|
|
239
|
+
setIsDraggingFile(false);
|
|
240
|
+
setDraggingZone(null);
|
|
241
|
+
dragCounterRef.current = 0;
|
|
242
|
+
setProgress(0);
|
|
243
|
+
setShowProductDialog(false);
|
|
244
|
+
setPendingFiles(null);
|
|
245
|
+
};
|
|
246
|
+
const handleDialogSubmit = async (productName) => {
|
|
247
|
+
if (!pendingFiles || !singleEntity) {
|
|
248
|
+
setShowProductDialog(false);
|
|
249
|
+
setPendingFiles(null);
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
const sanitizedName = sanitizeProductName(productName);
|
|
253
|
+
if (!sanitizedName.trim()) {
|
|
254
|
+
toast.error(
|
|
255
|
+
"Product name must contain valid characters (letters, numbers, underscore, or hyphen)"
|
|
256
|
+
);
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
try {
|
|
260
|
+
if (!folderId) {
|
|
261
|
+
throw new Error("Folder ID is required to create a product");
|
|
262
|
+
}
|
|
263
|
+
setUploadingType("version");
|
|
264
|
+
const productRes = await createProductHelper(createProduct, projectName, {
|
|
265
|
+
folderId,
|
|
266
|
+
name: sanitizedName,
|
|
267
|
+
productType: "review"
|
|
268
|
+
// default product type for uploaded files
|
|
269
|
+
});
|
|
270
|
+
setShowProductDialog(false);
|
|
271
|
+
await uploadVersionWithProduct(pendingFiles, productRes.id);
|
|
272
|
+
setPendingFiles(null);
|
|
273
|
+
} catch (error) {
|
|
274
|
+
handleUploadError(error, "creating product");
|
|
275
|
+
resetState();
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
const handleDialogCancel = () => {
|
|
279
|
+
setShowProductDialog(false);
|
|
280
|
+
setPendingFiles(null);
|
|
281
|
+
resetState();
|
|
282
|
+
};
|
|
283
|
+
const [createVersion] = useCreateVersionMutation();
|
|
284
|
+
const [createProduct] = useCreateProductMutation();
|
|
285
|
+
const handleVersionUpload = async (files) => {
|
|
286
|
+
var _a2;
|
|
287
|
+
if (!canUploadVersions || !singleEntity) {
|
|
288
|
+
toast.error("Please select exactly one version to upload reviewables");
|
|
289
|
+
return resetState();
|
|
290
|
+
}
|
|
291
|
+
const productId2 = (_a2 = singleEntity.product) == null ? void 0 : _a2.id;
|
|
292
|
+
if (!productId2) {
|
|
293
|
+
setPendingFiles(files);
|
|
294
|
+
setShowProductDialog(true);
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
await uploadVersionWithProduct(files, productId2);
|
|
298
|
+
};
|
|
299
|
+
const uploadVersionWithProduct = async (files, productId2) => {
|
|
300
|
+
var _a2;
|
|
301
|
+
try {
|
|
302
|
+
const nextVersion = getNextVersionNumber((_a2 = singleEntity.product) == null ? void 0 : _a2.latestVersion);
|
|
303
|
+
const versionRes = await createVersionHelper(createVersion, projectName, {
|
|
304
|
+
productId: productId2,
|
|
305
|
+
taskId,
|
|
306
|
+
// previous version could have a taskId or we are uploading on a task
|
|
307
|
+
version: nextVersion
|
|
308
|
+
});
|
|
309
|
+
await uploadReviewableFiles(files, versionRes.id);
|
|
310
|
+
resetState();
|
|
311
|
+
onVersionCreated == null ? void 0 : onVersionCreated(versionRes.id);
|
|
312
|
+
} catch (error) {
|
|
313
|
+
handleUploadError(error, "uploading version");
|
|
314
|
+
resetState();
|
|
315
|
+
}
|
|
316
|
+
};
|
|
317
|
+
const handleThumbnailFileUploaded = async (thumbnails = []) => {
|
|
194
318
|
setIsDraggingFile(false);
|
|
195
|
-
setIsUploadingFile(false);
|
|
196
319
|
if (!entities.length) {
|
|
197
320
|
return;
|
|
198
321
|
}
|
|
@@ -220,39 +343,174 @@ const EntityThumbnailUploader = ({
|
|
|
220
343
|
console.error("Error uploading thumbnail:", error);
|
|
221
344
|
}
|
|
222
345
|
};
|
|
223
|
-
const
|
|
224
|
-
|
|
346
|
+
const handleUploadThumbnail = async (file) => {
|
|
347
|
+
if (!file) return resetState();
|
|
348
|
+
try {
|
|
349
|
+
if (!file.type.includes("image")) {
|
|
350
|
+
throw new Error("File is not an image");
|
|
351
|
+
}
|
|
352
|
+
let promises = [];
|
|
353
|
+
for (const entity of entities) {
|
|
354
|
+
const { id, entityType: entityType2, projectName: projectName2 } = entity;
|
|
355
|
+
if (!projectName2) throw new Error("Project name is required");
|
|
356
|
+
const promise = axios.post(
|
|
357
|
+
projectName2 && `/api/projects/${projectName2}/${entityType2}s/${id}/thumbnail`,
|
|
358
|
+
file,
|
|
359
|
+
{
|
|
360
|
+
onUploadProgress: (e) => {
|
|
361
|
+
setProgress(Math.round(100 * e.loaded / (e.total || file.size)));
|
|
362
|
+
},
|
|
363
|
+
headers: {
|
|
364
|
+
"Content-Type": file.type
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
);
|
|
368
|
+
promises.push(promise);
|
|
369
|
+
}
|
|
370
|
+
const res = await Promise.all(promises);
|
|
371
|
+
const updatedEntities = res.map((res2, i) => ({
|
|
372
|
+
thumbnailId: res2.data.id,
|
|
373
|
+
id: entities[i].id
|
|
374
|
+
}));
|
|
375
|
+
handleThumbnailFileUploaded(updatedEntities);
|
|
376
|
+
resetState();
|
|
377
|
+
} catch (error) {
|
|
378
|
+
console.error(error);
|
|
379
|
+
toast.error(error.message);
|
|
380
|
+
resetState();
|
|
381
|
+
}
|
|
382
|
+
};
|
|
383
|
+
const [updateEntities] = useUpdateEntitiesMutation();
|
|
384
|
+
const handleDragEnter = (e) => {
|
|
385
|
+
e.preventDefault();
|
|
386
|
+
dragCounterRef.current++;
|
|
387
|
+
if (dragCounterRef.current === 1) {
|
|
388
|
+
setIsDraggingFile(true);
|
|
389
|
+
}
|
|
390
|
+
};
|
|
391
|
+
const handleDragLeave = (e) => {
|
|
392
|
+
e.preventDefault();
|
|
393
|
+
dragCounterRef.current--;
|
|
394
|
+
if (dragCounterRef.current === 0) {
|
|
395
|
+
setIsDraggingFile(false);
|
|
396
|
+
setDraggingZone(null);
|
|
397
|
+
}
|
|
398
|
+
};
|
|
399
|
+
const handleDragOver = (e) => {
|
|
400
|
+
e.preventDefault();
|
|
401
|
+
};
|
|
402
|
+
const handleDrop = (e) => {
|
|
403
|
+
e.preventDefault();
|
|
404
|
+
dragCounterRef.current = 0;
|
|
405
|
+
setIsDraggingFile(false);
|
|
406
|
+
setDraggingZone(null);
|
|
407
|
+
if (!e.dataTransfer.files || e.dataTransfer.files.length === 0) {
|
|
408
|
+
return;
|
|
409
|
+
}
|
|
410
|
+
if (draggingZone === "thumbnail") {
|
|
411
|
+
setUploadingType("thumbnail");
|
|
412
|
+
const file = e.dataTransfer.files[0];
|
|
413
|
+
handleUploadThumbnail(file);
|
|
414
|
+
}
|
|
415
|
+
if (draggingZone === "version") {
|
|
416
|
+
setUploadingType("version");
|
|
417
|
+
const files = e.dataTransfer.files;
|
|
418
|
+
handleVersionUpload(files);
|
|
419
|
+
}
|
|
420
|
+
};
|
|
421
|
+
const handleInputUpload = async (event, type) => {
|
|
422
|
+
const files = event.target.files;
|
|
423
|
+
if (!files || files.length === 0) {
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
426
|
+
if (type === "version") {
|
|
427
|
+
setUploadingType("version");
|
|
428
|
+
handleVersionUpload(files);
|
|
429
|
+
}
|
|
430
|
+
if (type === "thumbnail") {
|
|
431
|
+
setUploadingType("thumbnail");
|
|
432
|
+
handleUploadThumbnail(files[0]);
|
|
433
|
+
}
|
|
434
|
+
};
|
|
435
|
+
const thumbnailInputRef = useRef(null);
|
|
436
|
+
const versionsInputRef = useRef(null);
|
|
437
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
225
438
|
ThumbnailUploadProvider,
|
|
226
439
|
{
|
|
227
440
|
entities,
|
|
228
|
-
handleThumbnailUpload,
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
441
|
+
handleThumbnailUpload: handleThumbnailFileUploaded,
|
|
442
|
+
thumbnailInputRef,
|
|
443
|
+
versionsInputRef: canUploadVersions ? versionsInputRef : void 0,
|
|
444
|
+
children: [
|
|
445
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
446
|
+
DragAndDropWrapper,
|
|
447
|
+
{
|
|
448
|
+
className: clsx({ dragging: isDraggingFile }),
|
|
449
|
+
onDragEnter: handleDragEnter,
|
|
450
|
+
onDragLeave: handleDragLeave,
|
|
451
|
+
onDragOver: handleDragOver,
|
|
452
|
+
onDrop: handleDrop,
|
|
453
|
+
children: [
|
|
454
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ThumbnailWrapper, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children }) }),
|
|
455
|
+
isDraggingFile && /* @__PURE__ */ jsxRuntimeExports.jsx(DropZones, { children: availableDropZones.map((zone) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
456
|
+
Dropzone,
|
|
457
|
+
{
|
|
458
|
+
id: zone.id,
|
|
459
|
+
label: zone.label,
|
|
460
|
+
icon: zone.icon,
|
|
461
|
+
isActive: draggingZone === zone.id,
|
|
462
|
+
onDragOver: () => setDraggingZone(zone.id),
|
|
463
|
+
onDragLeave: () => setDraggingZone(null)
|
|
464
|
+
},
|
|
465
|
+
zone.id
|
|
466
|
+
)) }),
|
|
467
|
+
(uploadingType === "thumbnail" || uploadingType === "version") && /* @__PURE__ */ jsxRuntimeExports.jsxs(DropZones, { children: [
|
|
468
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(UploadingProgress, { children: [
|
|
469
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
470
|
+
Progress,
|
|
471
|
+
{
|
|
472
|
+
style: {
|
|
473
|
+
right: `${100 - progress}%`
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
),
|
|
477
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "label", children: `Uploading ${uploadingType}...` })
|
|
478
|
+
] }),
|
|
479
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CancelButton, { icon: "close", variant: "text", onClick: resetState })
|
|
480
|
+
] }),
|
|
481
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
482
|
+
"input",
|
|
483
|
+
{
|
|
484
|
+
type: "file",
|
|
485
|
+
onChange: (e) => handleInputUpload(e, "thumbnail"),
|
|
486
|
+
ref: thumbnailInputRef
|
|
487
|
+
}
|
|
488
|
+
),
|
|
489
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
490
|
+
"input",
|
|
491
|
+
{
|
|
492
|
+
type: "file",
|
|
493
|
+
onChange: (e) => handleInputUpload(e, "version"),
|
|
494
|
+
ref: versionsInputRef
|
|
495
|
+
}
|
|
496
|
+
)
|
|
497
|
+
]
|
|
498
|
+
}
|
|
499
|
+
),
|
|
500
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
501
|
+
EntityPanelUploaderDialog,
|
|
502
|
+
{
|
|
503
|
+
isOpen: showProductDialog,
|
|
504
|
+
files: pendingFiles,
|
|
505
|
+
onSubmit: handleDialogSubmit,
|
|
506
|
+
onCancel: handleDialogCancel
|
|
507
|
+
}
|
|
508
|
+
)
|
|
509
|
+
]
|
|
252
510
|
}
|
|
253
511
|
);
|
|
254
512
|
};
|
|
255
513
|
export {
|
|
256
|
-
|
|
514
|
+
EntityPanelUploader
|
|
257
515
|
};
|
|
258
|
-
//# sourceMappingURL=
|
|
516
|
+
//# sourceMappingURL=EntityPanelUploader.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityPanelUploader.es.js","sources":["../../../../../src/components/EntityPanelUploader/EntityPanelUploader.tsx"],"sourcesContent":["import { ChangeEvent, useRef, useState } from 'react'\nimport clsx from 'clsx'\nimport { upperFirst } from 'lodash'\n\nimport { ThumbnailWrapper } from '@shared/containers'\nimport {\n useCreateVersionMutation,\n useUpdateEntitiesMutation,\n useCreateProductMutation,\n} from '@shared/api'\nimport * as Styled from './EntityPanelUploader.styled'\nimport { ThumbnailUploadProvider } from '../../context/ThumbnailUploaderContext'\nimport Dropzone, { DropzoneType } from './Dropzone'\nimport axios from 'axios'\nimport { toast } from 'react-toastify'\nimport { useReviewablesUpload } from '../ReviewablesList'\nimport { useDetailsPanelContext } from '@shared/context'\nimport EntityPanelUploaderDialog from './EntityPanelUploaderDialog'\nimport {\n sanitizeProductName,\n createProductHelper,\n createVersionHelper,\n getNextVersionNumber,\n handleUploadError,\n type ProductCreationData,\n type VersionCreationData,\n} from '@shared/utils/versionUploadHelpers'\n// 3811c830436f11f0abc9d6ac5bf0bcfb\n\ntype Operation = {\n id: string\n projectName: string\n currentAssignees: any[]\n data: { updatedAt: string }\n}\nexport type EntityPanelUploaderProps = {\n entityType: string\n entities: any[]\n projectName: any\n children?: JSX.Element | JSX.Element[]\n onUploaded?: (operations: Operation[]) => void\n resetFileUploadState?: () => void\n onVersionCreated?: (versionId: string) => void\n}\n\ntype UploadType = 'thumbnail' | 'version'\nconst dropZones: (DropzoneType & { id: UploadType })[] = [\n { id: 'thumbnail', label: 'Upload thumbnail', icon: 'add_photo_alternate' },\n { id: 'version', label: 'Upload version', icon: 'layers' },\n]\n\nexport const EntityPanelUploader = ({\n children = [],\n entityType,\n entities = [],\n projectName,\n onUploaded,\n onVersionCreated,\n}: EntityPanelUploaderProps) => {\n const { dispatch } = useDetailsPanelContext()\n // Dragging and dropping state\n const [isDraggingFile, setIsDraggingFile] = useState(false)\n const [draggingZone, setDraggingZone] = useState<UploadType | null>(null)\n const dragCounterRef = useRef(0)\n\n // Uploading state\n const [uploadingType, setUploadingType] = useState<UploadType | null>(null)\n const [progress, setProgress] = useState(0)\n\n // Dialog state for product creation\n const [showProductDialog, setShowProductDialog] = useState(false)\n const [pendingFiles, setPendingFiles] = useState<FileList | null>(null)\n\n // Check if we have exactly one entity selected\n const singleEntity = entities.length === 1 ? entities[0] : null\n // extra all entity IDs for the single version entity\n const taskId: string | undefined = singleEntity?.task?.id\n const folderId: string | undefined = singleEntity?.folder?.id\n const productId: string | undefined = singleEntity?.product?.id\n const versionId: string | undefined = singleEntity?.id\n const canUploadVersions = Boolean(singleEntity && entityType !== 'representation')\n\n // Use the custom hook for reviewable upload logic (only when single version)\n const { handleFileUpload: uploadReviewableFiles } = useReviewablesUpload({\n projectName,\n versionId: versionId,\n taskId: taskId,\n folderId: folderId,\n productId: productId,\n dispatch,\n onUpload: () => {\n setUploadingType(null)\n setProgress(0)\n },\n onProgress: (progress) => {\n setProgress(progress)\n },\n })\n\n // Filter drop zones based on whether we can upload reviewables\n const availableDropZones = dropZones.filter((zone) => {\n if (zone.id === 'version') {\n return canUploadVersions\n }\n return true\n })\n\n const resetState = () => {\n setUploadingType(null)\n setIsDraggingFile(false)\n setDraggingZone(null)\n dragCounterRef.current = 0\n setProgress(0)\n setShowProductDialog(false)\n setPendingFiles(null)\n }\n\n // Handle dialog submission - create product and upload version\n const handleDialogSubmit = async (productName: string) => {\n if (!pendingFiles || !singleEntity) {\n setShowProductDialog(false)\n setPendingFiles(null)\n return\n }\n\n const sanitizedName = sanitizeProductName(productName)\n\n if (!sanitizedName.trim()) {\n toast.error(\n 'Product name must contain valid characters (letters, numbers, underscore, or hyphen)',\n )\n return\n }\n\n try {\n if (!folderId) {\n throw new Error('Folder ID is required to create a product')\n }\n setUploadingType('version')\n\n // Create the product\n const productRes = await createProductHelper(createProduct, projectName, {\n folderId: folderId,\n name: sanitizedName,\n productType: 'review', // default product type for uploaded files\n })\n\n // Close dialog and proceed with version upload\n setShowProductDialog(false)\n await uploadVersionWithProduct(pendingFiles, productRes.id)\n setPendingFiles(null)\n } catch (error: any) {\n handleUploadError(error, 'creating product')\n resetState()\n }\n }\n\n // Handle dialog cancellation\n const handleDialogCancel = () => {\n setShowProductDialog(false)\n setPendingFiles(null)\n resetState()\n }\n\n const [createVersion] = useCreateVersionMutation()\n const [createProduct] = useCreateProductMutation()\n // Handle version/reviewable file upload\n const handleVersionUpload = async (files: FileList) => {\n if (!canUploadVersions || !singleEntity) {\n toast.error('Please select exactly one version to upload reviewables')\n return resetState()\n }\n\n const productId = singleEntity.product?.id\n if (!productId) {\n // Show dialog to create product first\n setPendingFiles(files)\n setShowProductDialog(true)\n return\n }\n\n // If we have a productId, proceed with upload\n await uploadVersionWithProduct(files, productId)\n }\n\n // Helper function to handle the actual version upload\n const uploadVersionWithProduct = async (files: FileList, productId: string) => {\n try {\n const nextVersion = getNextVersionNumber(singleEntity!.product?.latestVersion)\n\n // create a new version\n const versionRes = await createVersionHelper(createVersion, projectName, {\n productId,\n taskId, // previous version could have a taskId or we are uploading on a task\n version: nextVersion,\n })\n\n await uploadReviewableFiles(files, versionRes.id)\n // The hook handles success callbacks, just reset our local state\n resetState()\n\n // update entity panel to focus the new version\n onVersionCreated?.(versionRes.id)\n } catch (error: any) {\n handleUploadError(error, 'uploading version')\n resetState()\n }\n }\n\n // once the file has been uploaded, we need to patch the entities with the new thumbnail\n const handleThumbnailFileUploaded = async (thumbnails: any[] = []) => {\n // always set isDragginle to false\n setIsDraggingFile(false)\n\n // check something was actually uploaded\n if (!entities.length) {\n return\n }\n\n // patching the updatedAt will force a refresh of the thumbnail url\n const newUpdatedAt = new Date().toISOString()\n\n let operations: Operation[] = []\n let versionPatches = []\n\n for (const entity of thumbnails) {\n const entityToPatch = entities.find((e) => e.id === entity.id)\n if (!entityToPatch) continue\n const thumbnailId = entity.thumbnailId\n const currentAssignees = entity.users || []\n\n operations.push({\n id: entityToPatch.id,\n projectName: entityToPatch.projectName,\n data: { updatedAt: newUpdatedAt },\n currentAssignees,\n })\n\n const versionPatch = {\n productId: entityToPatch.productId,\n versionUpdatedAt: newUpdatedAt,\n versionThumbnailId: thumbnailId,\n }\n\n versionPatches.push(versionPatch)\n }\n\n try {\n await updateEntities({ operations, entityType })\n onUploaded && onUploaded(operations)\n } catch (error) {\n console.error('Error uploading thumbnail:', error)\n }\n }\n\n const handleUploadThumbnail = async (file: File) => {\n if (!file) return resetState()\n\n try {\n // check file is an image\n if (!file.type.includes('image')) {\n throw new Error('File is not an image')\n }\n\n let promises = []\n for (const entity of entities) {\n const { id, entityType, projectName } = entity\n\n if (!projectName) throw new Error('Project name is required')\n\n const promise = axios.post(\n projectName && `/api/projects/${projectName}/${entityType}s/${id}/thumbnail`,\n file,\n {\n onUploadProgress: (e) => {\n setProgress(Math.round((100 * e.loaded) / (e.total || file.size)))\n },\n headers: {\n 'Content-Type': file.type,\n },\n },\n )\n\n promises.push(promise)\n }\n\n const res = await Promise.all(promises)\n\n const updatedEntities = res.map((res, i) => ({\n thumbnailId: res.data.id as string,\n id: entities[i].id,\n }))\n\n handleThumbnailFileUploaded(updatedEntities)\n resetState()\n } catch (error: any) {\n console.error(error)\n toast.error(error.message)\n resetState()\n }\n }\n\n const [updateEntities] = useUpdateEntitiesMutation()\n\n const handleDragEnter = (e: React.DragEvent) => {\n e.preventDefault()\n dragCounterRef.current++\n if (dragCounterRef.current === 1) {\n setIsDraggingFile(true)\n }\n }\n\n const handleDragLeave = (e: React.DragEvent) => {\n e.preventDefault()\n dragCounterRef.current--\n if (dragCounterRef.current === 0) {\n setIsDraggingFile(false)\n setDraggingZone(null)\n }\n }\n\n const handleDragOver = (e: React.DragEvent) => {\n e.preventDefault()\n }\n\n const handleDrop = (e: React.DragEvent) => {\n e.preventDefault()\n dragCounterRef.current = 0\n setIsDraggingFile(false)\n setDraggingZone(null)\n\n if (!e.dataTransfer.files || e.dataTransfer.files.length === 0) {\n return\n }\n\n if (draggingZone === 'thumbnail') {\n setUploadingType('thumbnail')\n const file = e.dataTransfer.files[0]\n // try to upload the thumbnail\n handleUploadThumbnail(file)\n }\n\n if (draggingZone === 'version') {\n setUploadingType('version')\n const files = e.dataTransfer.files\n // try to upload the reviewables using the hook\n handleVersionUpload(files)\n }\n }\n\n // upload thumbnail from input (right click on thumbnail)\n const handleInputUpload = async (event: ChangeEvent<HTMLInputElement>, type: UploadType) => {\n const files = event.target.files\n if (!files || files.length === 0) {\n return\n }\n\n if (type === 'version') {\n setUploadingType('version')\n handleVersionUpload(files)\n }\n if (type === 'thumbnail') {\n setUploadingType('thumbnail')\n handleUploadThumbnail(files[0])\n }\n }\n\n const thumbnailInputRef = useRef<HTMLInputElement>(null)\n const versionsInputRef = useRef<HTMLInputElement>(null)\n\n return (\n <ThumbnailUploadProvider\n entities={entities}\n handleThumbnailUpload={handleThumbnailFileUploaded}\n thumbnailInputRef={thumbnailInputRef}\n versionsInputRef={canUploadVersions ? versionsInputRef : undefined}\n >\n <Styled.DragAndDropWrapper\n className={clsx({ dragging: isDraggingFile })}\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <ThumbnailWrapper>\n <div>{children}</div>\n </ThumbnailWrapper>\n {isDraggingFile && (\n <Styled.DropZones>\n {availableDropZones.map((zone) => (\n <Dropzone\n key={zone.id}\n id={zone.id}\n label={zone.label}\n icon={zone.icon}\n isActive={draggingZone === zone.id}\n onDragOver={() => setDraggingZone(zone.id)}\n onDragLeave={() => setDraggingZone(null)}\n />\n ))}\n </Styled.DropZones>\n )}\n {(uploadingType === 'thumbnail' || uploadingType === 'version') && (\n <Styled.DropZones>\n <Styled.UploadingProgress>\n <Styled.Progress\n style={{\n right: `${100 - progress}%`,\n }}\n />\n <span className=\"label\">{`Uploading ${uploadingType}...`}</span>\n </Styled.UploadingProgress>\n <Styled.CancelButton icon={'close'} variant=\"text\" onClick={resetState} />\n </Styled.DropZones>\n )}\n <input\n type=\"file\"\n onChange={(e) => handleInputUpload(e, 'thumbnail')}\n ref={thumbnailInputRef}\n />\n <input\n type=\"file\"\n onChange={(e) => handleInputUpload(e, 'version')}\n ref={versionsInputRef}\n />\n </Styled.DragAndDropWrapper>\n\n {/* Product creation dialog */}\n <EntityPanelUploaderDialog\n isOpen={showProductDialog}\n files={pendingFiles}\n onSubmit={handleDialogSubmit}\n onCancel={handleDialogCancel}\n />\n </ThumbnailUploadProvider>\n )\n}\n"],"names":["progress","productId","_a","entityType","projectName","res","jsxs","Styled.DragAndDropWrapper","jsx","Styled.DropZones","Styled.UploadingProgress","Styled.Progress","Styled.CancelButton"],"mappings":"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"}
|