@strapi/upload 5.30.0 → 5.31.0
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/admin/ai/components/AIAssetCard.js +27 -7
- package/dist/admin/ai/components/AIAssetCard.js.map +1 -1
- package/dist/admin/ai/components/AIAssetCard.mjs +21 -1
- package/dist/admin/ai/components/AIAssetCard.mjs.map +1 -1
- package/dist/admin/ai/components/AIUploadModal.js +1 -1
- package/dist/admin/ai/components/AIUploadModal.js.map +1 -1
- package/dist/admin/ai/components/AIUploadModal.mjs +1 -1
- package/dist/admin/ai/components/AIUploadModal.mjs.map +1 -1
- package/dist/admin/components/AssetCard/AssetCard.js +5 -4
- package/dist/admin/components/AssetCard/AssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/AssetCard.mjs +2 -1
- package/dist/admin/components/AssetCard/AssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/AssetCardBase.js +1 -1
- package/dist/admin/components/AssetCard/AssetCardBase.mjs +1 -1
- package/dist/admin/components/AssetCard/DocAssetCard.js +3 -7
- package/dist/admin/components/AssetCard/DocAssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/DocAssetCard.mjs +3 -7
- package/dist/admin/components/AssetCard/DocAssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/ImageAssetCard.js +1 -1
- package/dist/admin/components/AssetCard/ImageAssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/ImageAssetCard.mjs +1 -1
- package/dist/admin/components/AssetCard/ImageAssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/UploadingAssetCard.js +5 -4
- package/dist/admin/components/AssetCard/UploadingAssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/UploadingAssetCard.mjs +2 -1
- package/dist/admin/components/AssetCard/UploadingAssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/VideoAssetCard.js +1 -1
- package/dist/admin/components/AssetCard/VideoAssetCard.mjs +1 -1
- package/dist/admin/components/AssetDialog/AssetDialog.js +1 -1
- package/dist/admin/components/AssetDialog/AssetDialog.mjs +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js +2 -0
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs +2 -0
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.js +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs +1 -1
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js +1 -1
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs +1 -1
- package/dist/admin/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/admin/components/Breadcrumbs/Breadcrumbs.mjs.map +1 -1
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.js +1 -1
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs +1 -1
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js +1 -1
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs +1 -1
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.js +1 -1
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs +1 -1
- package/dist/admin/components/EditAssetDialog/EditAssetContent.js +1 -1
- package/dist/admin/components/EditAssetDialog/EditAssetContent.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs +1 -1
- package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js +15 -34
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +15 -34
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js +3 -2
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +2 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js +1 -1
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs +1 -1
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.js +1 -1
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs +1 -1
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js +1 -1
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs +1 -1
- package/dist/admin/components/EmptyAssets/EmptyAssetGrid.js.map +1 -1
- package/dist/admin/components/EmptyAssets/EmptyAssetGrid.mjs.map +1 -1
- package/dist/admin/components/FilterList/FilterList.js.map +1 -1
- package/dist/admin/components/FilterList/FilterList.mjs.map +1 -1
- package/dist/admin/components/FilterList/FilterTag.js.map +1 -1
- package/dist/admin/components/FilterList/FilterTag.mjs.map +1 -1
- package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.js.map +1 -1
- package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.mjs.map +1 -1
- package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js.map +1 -1
- package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js +8 -10
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +5 -7
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js +1 -1
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs +1 -1
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -1
- package/dist/admin/components/SelectTree/Option.js.map +1 -1
- package/dist/admin/components/SelectTree/Option.mjs.map +1 -1
- package/dist/admin/components/SelectTree/SelectTree.js.map +1 -1
- package/dist/admin/components/SelectTree/SelectTree.mjs.map +1 -1
- package/dist/admin/components/SelectTree/utils/flattenTree.js.map +1 -1
- package/dist/admin/components/SelectTree/utils/flattenTree.mjs.map +1 -1
- package/dist/admin/components/SortPicker/SortPicker.js +1 -0
- package/dist/admin/components/SortPicker/SortPicker.js.map +1 -1
- package/dist/admin/components/SortPicker/SortPicker.mjs +1 -0
- package/dist/admin/components/SortPicker/SortPicker.mjs.map +1 -1
- package/dist/admin/components/TableList/CellContent.js +1 -1
- package/dist/admin/components/TableList/CellContent.mjs +1 -1
- package/dist/admin/components/TableList/PreviewCell.js +5 -4
- package/dist/admin/components/TableList/PreviewCell.js.map +1 -1
- package/dist/admin/components/TableList/PreviewCell.mjs +2 -1
- package/dist/admin/components/TableList/PreviewCell.mjs.map +1 -1
- package/dist/admin/components/TableList/TableList.js +1 -0
- package/dist/admin/components/TableList/TableList.js.map +1 -1
- package/dist/admin/components/TableList/TableList.mjs +1 -0
- package/dist/admin/components/TableList/TableList.mjs.map +1 -1
- package/dist/admin/components/TableList/TableRows.js +1 -0
- package/dist/admin/components/TableList/TableRows.js.map +1 -1
- package/dist/admin/components/TableList/TableRows.mjs +1 -0
- package/dist/admin/components/TableList/TableRows.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +1 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +1 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs +1 -1
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js +1 -1
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js.map +1 -1
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs +1 -1
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +1 -1
- package/dist/admin/components/UploadProgress/UploadProgress.js.map +1 -1
- package/dist/admin/components/UploadProgress/UploadProgress.mjs.map +1 -1
- package/dist/admin/constants.js +5 -10
- package/dist/admin/constants.js.map +1 -1
- package/dist/admin/constants.mjs +5 -11
- package/dist/admin/constants.mjs.map +1 -1
- package/dist/admin/enums.js +20 -0
- package/dist/admin/enums.js.map +1 -0
- package/dist/admin/enums.mjs +17 -0
- package/dist/admin/enums.mjs.map +1 -0
- package/dist/admin/hooks/useBulkEdit.js +1 -1
- package/dist/admin/hooks/useBulkEdit.mjs +1 -1
- package/dist/admin/hooks/useBulkMove.js +1 -1
- package/dist/admin/hooks/useBulkMove.mjs +1 -1
- package/dist/admin/hooks/useBulkRemove.js +1 -1
- package/dist/admin/hooks/useBulkRemove.mjs +1 -1
- package/dist/admin/hooks/useEditAsset.js +1 -1
- package/dist/admin/hooks/useEditAsset.js.map +1 -1
- package/dist/admin/hooks/useEditAsset.mjs +1 -1
- package/dist/admin/hooks/useEditAsset.mjs.map +1 -1
- package/dist/admin/hooks/useEditFolder.js.map +1 -1
- package/dist/admin/hooks/useEditFolder.mjs.map +1 -1
- package/dist/admin/hooks/useFolder.js +1 -1
- package/dist/admin/hooks/useFolder.js.map +1 -1
- package/dist/admin/hooks/useFolder.mjs +1 -1
- package/dist/admin/hooks/useFolder.mjs.map +1 -1
- package/dist/admin/hooks/useFolderStructure.js +1 -1
- package/dist/admin/hooks/useFolderStructure.mjs +1 -1
- package/dist/admin/hooks/useRemoveAsset.js.map +1 -1
- package/dist/admin/hooks/useRemoveAsset.mjs.map +1 -1
- package/dist/admin/hooks/useTracking.js +4 -1
- package/dist/admin/hooks/useTracking.js.map +1 -1
- package/dist/admin/hooks/useTracking.mjs +5 -2
- package/dist/admin/hooks/useTracking.mjs.map +1 -1
- package/dist/admin/hooks/useUpload.js.map +1 -1
- package/dist/admin/hooks/useUpload.mjs.map +1 -1
- package/dist/admin/index.js +1 -0
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +1 -0
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/package.json.js +7 -6
- package/dist/admin/package.json.js.map +1 -1
- package/dist/admin/package.json.mjs +7 -6
- package/dist/admin/package.json.mjs.map +1 -1
- package/dist/admin/pages/App/App.js +1 -1
- package/dist/admin/pages/App/App.mjs +1 -1
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js +1 -1
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs +1 -1
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.js +1 -0
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.js.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs +1 -0
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.js.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs.map +1 -1
- package/dist/admin/pages/App/MediaLibrary/MediaLibrary.js +1 -0
- package/dist/admin/pages/App/MediaLibrary/MediaLibrary.js.map +1 -1
- package/dist/admin/pages/App/MediaLibrary/MediaLibrary.mjs +1 -0
- package/dist/admin/pages/App/MediaLibrary/MediaLibrary.mjs.map +1 -1
- package/dist/admin/pages/App/MediaLibrary/components/BulkActions.js +1 -1
- package/dist/admin/pages/App/MediaLibrary/components/BulkActions.mjs +1 -1
- package/dist/admin/pages/App/MediaLibrary/components/EmptyOrNoPermissions.js +1 -1
- package/dist/admin/pages/App/MediaLibrary/components/EmptyOrNoPermissions.mjs +1 -1
- package/dist/admin/pages/App/MediaLibrary/components/Filters.js +1 -1
- package/dist/admin/pages/App/MediaLibrary/components/Filters.mjs +1 -1
- package/dist/admin/pages/App/MediaLibrary/components/Header.js +1 -1
- package/dist/admin/pages/App/MediaLibrary/components/Header.js.map +1 -1
- package/dist/admin/pages/App/MediaLibrary/components/Header.mjs +1 -1
- package/dist/admin/pages/App/MediaLibrary/components/Header.mjs.map +1 -1
- package/dist/admin/pages/SettingsPage/SettingsPage.js +1 -0
- package/dist/admin/pages/SettingsPage/SettingsPage.js.map +1 -1
- package/dist/admin/pages/SettingsPage/SettingsPage.mjs +1 -0
- package/dist/admin/pages/SettingsPage/SettingsPage.mjs.map +1 -1
- package/dist/admin/src/components/AssetCard/UploadingAssetCard.d.ts +1 -1
- package/dist/admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.d.ts +1 -1
- package/dist/admin/src/constants.d.ts +0 -6
- package/dist/admin/src/enums.d.ts +12 -0
- package/dist/admin/src/utils/icons.d.ts +14 -0
- package/dist/admin/src/utils/rawFileToAsset.d.ts +1 -1
- package/dist/admin/src/utils/typeFromMime.d.ts +2 -2
- package/dist/admin/src/utils/urlsToAssets.d.ts +1 -1
- package/dist/admin/translations/pt-BR.json.js +75 -7
- package/dist/admin/translations/pt-BR.json.js.map +1 -1
- package/dist/admin/translations/pt-BR.json.mjs +75 -7
- package/dist/admin/translations/pt-BR.json.mjs.map +1 -1
- package/dist/admin/utils/formatBytes.js.map +1 -1
- package/dist/admin/utils/formatBytes.mjs.map +1 -1
- package/dist/admin/utils/formatDuration.js.map +1 -1
- package/dist/admin/utils/formatDuration.mjs.map +1 -1
- package/dist/admin/utils/getFolderURL.js.map +1 -1
- package/dist/admin/utils/getFolderURL.mjs.map +1 -1
- package/dist/admin/utils/getTrad.js.map +1 -1
- package/dist/admin/utils/getTrad.mjs.map +1 -1
- package/dist/admin/utils/icons.js +23 -0
- package/dist/admin/utils/icons.js.map +1 -0
- package/dist/admin/utils/icons.mjs +19 -0
- package/dist/admin/utils/icons.mjs.map +1 -0
- package/dist/admin/utils/normalizeAPIError.js.map +1 -1
- package/dist/admin/utils/normalizeAPIError.mjs.map +1 -1
- package/dist/admin/utils/prefixFileUrlWithBackendUrl.js.map +1 -1
- package/dist/admin/utils/prefixFileUrlWithBackendUrl.mjs.map +1 -1
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -1
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -1
- package/dist/admin/utils/typeFromMime.js +15 -11
- package/dist/admin/utils/typeFromMime.js.map +1 -1
- package/dist/admin/utils/typeFromMime.mjs +15 -11
- package/dist/admin/utils/typeFromMime.mjs.map +1 -1
- package/dist/server/controllers/admin-folder-file.js.map +1 -1
- package/dist/server/controllers/admin-folder-file.mjs.map +1 -1
- package/dist/server/controllers/admin-upload.js +37 -5
- package/dist/server/controllers/admin-upload.js.map +1 -1
- package/dist/server/controllers/admin-upload.mjs +37 -5
- package/dist/server/controllers/admin-upload.mjs.map +1 -1
- package/dist/server/controllers/utils/folders.js.map +1 -1
- package/dist/server/controllers/utils/folders.mjs.map +1 -1
- package/dist/server/controllers/validation/admin/folder-file.js.map +1 -1
- package/dist/server/controllers/validation/admin/folder-file.mjs.map +1 -1
- package/dist/server/controllers/validation/admin/folder.js +1 -1
- package/dist/server/controllers/validation/admin/folder.js.map +1 -1
- package/dist/server/controllers/validation/admin/folder.mjs +1 -1
- package/dist/server/controllers/validation/admin/folder.mjs.map +1 -1
- package/dist/server/register.js.map +1 -1
- package/dist/server/register.mjs.map +1 -1
- package/dist/server/services/ai-metadata.js.map +1 -1
- package/dist/server/services/ai-metadata.mjs.map +1 -1
- package/dist/server/services/api-upload-folder.js.map +1 -1
- package/dist/server/services/api-upload-folder.mjs.map +1 -1
- package/dist/server/services/folder.js.map +1 -1
- package/dist/server/services/folder.mjs.map +1 -1
- package/dist/server/services/image-manipulation.js +1 -1
- package/dist/server/services/image-manipulation.js.map +1 -1
- package/dist/server/services/image-manipulation.mjs +1 -1
- package/dist/server/services/image-manipulation.mjs.map +1 -1
- package/dist/server/services/metrics.js +4 -1
- package/dist/server/services/metrics.js.map +1 -1
- package/dist/server/services/metrics.mjs +4 -1
- package/dist/server/services/metrics.mjs.map +1 -1
- package/dist/server/services/upload.js.map +1 -1
- package/dist/server/services/upload.mjs.map +1 -1
- package/dist/server/src/controllers/admin-upload.d.ts.map +1 -1
- package/dist/server/src/services/metrics.d.ts.map +1 -1
- package/dist/server/src/types.d.ts +1 -0
- package/dist/server/src/types.d.ts.map +1 -1
- package/dist/server/src/utils/mime-validation.d.ts +34 -0
- package/dist/server/src/utils/mime-validation.d.ts.map +1 -0
- package/dist/server/utils/cron.js.map +1 -1
- package/dist/server/utils/cron.mjs.map +1 -1
- package/dist/server/utils/mime-validation.js +218 -0
- package/dist/server/utils/mime-validation.js.map +1 -0
- package/dist/server/utils/mime-validation.mjs +211 -0
- package/dist/server/utils/mime-validation.mjs.map +1 -0
- package/package.json +7 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromComputerForm.mjs","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/FromComputerForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Modal, Typography } from '@strapi/design-system';\nimport { PlusCircle as PicturePlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { AssetSource } from '../../../constants';\nimport { useTracking } from '../../../hooks/useTracking';\nimport { getTrad, rawFileToAsset } from '../../../utils';\n\nimport type { FileWithRawFile } from './AddAssetStep';\n\nconst Wrapper = styled(Flex)`\n flex-direction: column;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 6rem;\n\n svg path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nconst MediaBox = styled(Box)`\n border-style: dashed;\n`;\n\nconst OpaqueBox = styled(Box)`\n opacity: 0;\n cursor: pointer;\n`;\n\ninterface FromComputerFormProps {\n onClose: () => void;\n onAddAssets: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const FromComputerForm = ({\n onClose,\n onAddAssets,\n trackedLocation,\n}: FromComputerFormProps) => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const { trackUsage } = useTracking();\n\n const handleDragOver = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n };\n\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setDragOver(true);\n };\n\n const handleDragLeave = () => setDragOver(false);\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n // inputRef.current?.click();\n };\n\n const handleChange = () => {\n const files = inputRef.current?.files;\n const assets: FileWithRawFile[] = [];\n\n if (files) {\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n }\n\n if (trackedLocation) {\n trackUsage('didSelectFile', { source: 'computer', location: trackedLocation });\n }\n\n onAddAssets(assets);\n };\n\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n if (e?.dataTransfer?.files) {\n const files = e.dataTransfer.files;\n const assets = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n\n onAddAssets(assets);\n }\n\n setDragOver(false);\n };\n\n return (\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <label>\n <MediaBox\n paddingTop={11}\n paddingBottom={11}\n hasRadius\n justifyContent=\"center\"\n borderColor={dragOver ? 'primary500' : 'neutral300'}\n background={dragOver ? 'primary100' : 'neutral100'}\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <Flex justifyContent=\"center\">\n <Wrapper>\n <IconWrapper>\n <PicturePlus aria-hidden width=\"3.2rem\" height=\"3.2rem\" />\n </IconWrapper>\n\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" textColor=\"neutral600\" tag=\"span\">\n {formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n </Typography>\n </Box>\n\n <OpaqueBox\n tag=\"input\"\n position=\"absolute\"\n left={0}\n right={0}\n bottom={0}\n top={0}\n width=\"100%\"\n type=\"file\"\n multiple\n name=\"files\"\n aria-label={formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n tabIndex={-1}\n ref={inputRef}\n zIndex={1}\n onChange={handleChange}\n />\n\n {/* <Box position=\"relative\">\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: getTrad('input.button.label'),\n defaultMessage: 'Browse files',\n })}\n </Button>\n </Box> */}\n </Wrapper>\n </Flex>\n </MediaBox>\n </label>\n </Box>\n\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'cancel',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n"],"names":["Wrapper","styled","Flex","IconWrapper","div","theme","colors","primary600","MediaBox","Box","OpaqueBox","FromComputerForm","onClose","onAddAssets","trackedLocation","formatMessage","useIntl","dragOver","setDragOver","React","useState","inputRef","useRef","trackUsage","useTracking","handleDragOver","event","preventDefault","handleDragEnter","handleDragLeave","handleChange","files","current","assets","i","length","file","item","asset","rawFileToAsset","AssetSource","Computer","push","source","location","handleDrop","e","dataTransfer","_jsxs","form","_jsx","paddingLeft","paddingRight","paddingTop","paddingBottom","label","hasRadius","justifyContent","borderColor","background","position","onDragEnter","onDragLeave","onDragOver","onDrop","PicturePlus","aria-hidden","width","height","Typography","variant","textColor","tag","id","getTrad","defaultMessage","left","right","bottom","top","type","multiple","name","aria-label","tabIndex","ref","zIndex","onChange","Modal","Footer","Button","onClick"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FromComputerForm.mjs","sources":["../../../../../admin/src/components/UploadAssetDialog/AddAssetStep/FromComputerForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Modal, Typography } from '@strapi/design-system';\nimport { PlusCircle as PicturePlus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { AssetSource } from '../../../constants';\nimport { useTracking } from '../../../hooks/useTracking';\nimport { getTrad, rawFileToAsset } from '../../../utils';\n\nimport type { FileWithRawFile } from './AddAssetStep';\n\nconst Wrapper = styled(Flex)`\n flex-direction: column;\n`;\n\nconst IconWrapper = styled.div`\n font-size: 6rem;\n\n svg path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n`;\n\nconst MediaBox = styled(Box)`\n border-style: dashed;\n`;\n\nconst OpaqueBox = styled(Box)`\n opacity: 0;\n cursor: pointer;\n`;\n\ninterface FromComputerFormProps {\n onClose: () => void;\n onAddAssets: (assets: FileWithRawFile[]) => void;\n trackedLocation?: string;\n}\n\nexport const FromComputerForm = ({\n onClose,\n onAddAssets,\n trackedLocation,\n}: FromComputerFormProps) => {\n const { formatMessage } = useIntl();\n const [dragOver, setDragOver] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const { trackUsage } = useTracking();\n\n const handleDragOver = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n };\n\n const handleDragEnter = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setDragOver(true);\n };\n\n const handleDragLeave = () => setDragOver(false);\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n // inputRef.current?.click();\n };\n\n const handleChange = () => {\n const files = inputRef.current?.files;\n const assets: FileWithRawFile[] = [];\n\n if (files) {\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n }\n\n if (trackedLocation) {\n trackUsage('didSelectFile', { source: 'computer', location: trackedLocation });\n }\n\n onAddAssets(assets);\n };\n\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n if (e?.dataTransfer?.files) {\n const files = e.dataTransfer.files;\n const assets = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n if (file) {\n const asset = rawFileToAsset(file, AssetSource.Computer);\n assets.push(asset);\n }\n }\n\n onAddAssets(assets);\n }\n\n setDragOver(false);\n };\n\n return (\n <form>\n <Box paddingLeft={8} paddingRight={8} paddingTop={6} paddingBottom={6}>\n <label>\n <MediaBox\n paddingTop={11}\n paddingBottom={11}\n hasRadius\n justifyContent=\"center\"\n borderColor={dragOver ? 'primary500' : 'neutral300'}\n background={dragOver ? 'primary100' : 'neutral100'}\n position=\"relative\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <Flex justifyContent=\"center\">\n <Wrapper>\n <IconWrapper>\n <PicturePlus aria-hidden width=\"3.2rem\" height=\"3.2rem\" />\n </IconWrapper>\n\n <Box paddingTop={3} paddingBottom={5}>\n <Typography variant=\"delta\" textColor=\"neutral600\" tag=\"span\">\n {formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n </Typography>\n </Box>\n\n <OpaqueBox\n tag=\"input\"\n position=\"absolute\"\n left={0}\n right={0}\n bottom={0}\n top={0}\n width=\"100%\"\n type=\"file\"\n multiple\n name=\"files\"\n aria-label={formatMessage({\n id: getTrad('input.label'),\n defaultMessage: 'Drag & Drop here or',\n })}\n tabIndex={-1}\n ref={inputRef}\n zIndex={1}\n onChange={handleChange}\n />\n\n {/* <Box position=\"relative\">\n <Button type=\"button\" onClick={handleClick}>\n {formatMessage({\n id: getTrad('input.button.label'),\n defaultMessage: 'Browse files',\n })}\n </Button>\n </Box> */}\n </Wrapper>\n </Flex>\n </MediaBox>\n </label>\n </Box>\n\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'cancel',\n })}\n </Button>\n </Modal.Footer>\n </form>\n );\n};\n"],"names":["Wrapper","styled","Flex","IconWrapper","div","theme","colors","primary600","MediaBox","Box","OpaqueBox","FromComputerForm","onClose","onAddAssets","trackedLocation","formatMessage","useIntl","dragOver","setDragOver","React","useState","inputRef","useRef","trackUsage","useTracking","handleDragOver","event","preventDefault","handleDragEnter","handleDragLeave","handleChange","files","current","assets","i","length","file","item","asset","rawFileToAsset","AssetSource","Computer","push","source","location","handleDrop","e","dataTransfer","_jsxs","form","_jsx","paddingLeft","paddingRight","paddingTop","paddingBottom","label","hasRadius","justifyContent","borderColor","background","position","onDragEnter","onDragLeave","onDragOver","onDrop","PicturePlus","aria-hidden","width","height","Typography","variant","textColor","tag","id","getTrad","defaultMessage","left","right","bottom","top","type","multiple","name","aria-label","tabIndex","ref","zIndex","onChange","Modal","Footer","Button","onClick"],"mappings":";;;;;;;;;;;;;;;;AAaA,MAAMA,OAAAA,GAAUC,MAAOC,CAAAA,IAAAA,CAAK;;AAE5B,CAAC;AAED,MAAMC,WAAAA,GAAcF,MAAOG,CAAAA,GAAG;;;;UAIpB,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAMC,CAAAA,MAAM,CAACC,UAAU,CAAC;;AAEnD,CAAC;AAED,MAAMC,QAAAA,GAAWP,MAAOQ,CAAAA,GAAAA,CAAI;;AAE5B,CAAC;AAED,MAAMC,SAAAA,GAAYT,MAAOQ,CAAAA,GAAAA,CAAI;;;AAG7B,CAAC;AAQM,MAAME,mBAAmB,CAAC,EAC/BC,OAAO,EACPC,WAAW,EACXC,eAAe,EACO,GAAA;IACtB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,CAACC,QAAUC,EAAAA,WAAAA,CAAY,GAAGC,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IAC/C,MAAMC,QAAAA,GAAWF,KAAMG,CAAAA,MAAM,CAAmB,IAAA,CAAA;IAChD,MAAM,EAAEC,UAAU,EAAE,GAAGC,WAAAA,EAAAA;AAEvB,IAAA,MAAMC,iBAAiB,CAACC,KAAAA,GAAAA;AACtBA,QAAAA,KAAAA,CAAMC,cAAc,EAAA;AACtB,KAAA;AAEA,IAAA,MAAMC,kBAAkB,CAACF,KAAAA,GAAAA;AACvBA,QAAAA,KAAAA,CAAMC,cAAc,EAAA;QACpBT,WAAY,CAAA,IAAA,CAAA;AACd,KAAA;IAEA,MAAMW,eAAAA,GAAkB,IAAMX,WAAY,CAAA,KAAA,CAAA;AAO1C,IAAA,MAAMY,YAAe,GAAA,IAAA;QACnB,MAAMC,KAAAA,GAAQV,QAASW,CAAAA,OAAO,EAAED,KAAAA;AAChC,QAAA,MAAME,SAA4B,EAAE;AAEpC,QAAA,IAAIF,KAAO,EAAA;AACT,YAAA,IAAK,IAAIG,CAAI,GAAA,CAAA,EAAGA,IAAIH,KAAMI,CAAAA,MAAM,EAAED,CAAK,EAAA,CAAA;gBACrC,MAAME,IAAAA,GAAOL,KAAMM,CAAAA,IAAI,CAACH,CAAAA,CAAAA;AACxB,gBAAA,IAAIE,IAAM,EAAA;AACR,oBAAA,MAAME,KAAQC,GAAAA,cAAAA,CAAeH,IAAMI,EAAAA,WAAAA,CAAYC,QAAQ,CAAA;AACvDR,oBAAAA,MAAAA,CAAOS,IAAI,CAACJ,KAAAA,CAAAA;AACd;AACF;AACF;AAEA,QAAA,IAAIxB,eAAiB,EAAA;AACnBS,YAAAA,UAAAA,CAAW,eAAiB,EAAA;gBAAEoB,MAAQ,EAAA,UAAA;gBAAYC,QAAU9B,EAAAA;AAAgB,aAAA,CAAA;AAC9E;QAEAD,WAAYoB,CAAAA,MAAAA,CAAAA;AACd,KAAA;AAEA,IAAA,MAAMY,aAAa,CAACC,CAAAA,GAAAA;AAClBA,QAAAA,CAAAA,CAAEnB,cAAc,EAAA;QAEhB,IAAImB,CAAAA,EAAGC,cAAchB,KAAO,EAAA;AAC1B,YAAA,MAAMA,KAAQe,GAAAA,CAAAA,CAAEC,YAAY,CAAChB,KAAK;AAClC,YAAA,MAAME,SAAS,EAAE;AAEjB,YAAA,IAAK,IAAIC,CAAI,GAAA,CAAA,EAAGA,IAAIH,KAAMI,CAAAA,MAAM,EAAED,CAAK,EAAA,CAAA;gBACrC,MAAME,IAAAA,GAAOL,KAAMM,CAAAA,IAAI,CAACH,CAAAA,CAAAA;AACxB,gBAAA,IAAIE,IAAM,EAAA;AACR,oBAAA,MAAME,KAAQC,GAAAA,cAAAA,CAAeH,IAAMI,EAAAA,WAAAA,CAAYC,QAAQ,CAAA;AACvDR,oBAAAA,MAAAA,CAAOS,IAAI,CAACJ,KAAAA,CAAAA;AACd;AACF;YAEAzB,WAAYoB,CAAAA,MAAAA,CAAAA;AACd;QAEAf,WAAY,CAAA,KAAA,CAAA;AACd,KAAA;AAEA,IAAA,qBACE8B,IAACC,CAAAA,MAAAA,EAAAA;;0BACCC,GAACzC,CAAAA,GAAAA,EAAAA;gBAAI0C,WAAa,EAAA,CAAA;gBAAGC,YAAc,EAAA,CAAA;gBAAGC,UAAY,EAAA,CAAA;gBAAGC,aAAe,EAAA,CAAA;AAClE,gBAAA,QAAA,gBAAAJ,GAACK,CAAAA,OAAAA,EAAAA;AACC,oBAAA,QAAA,gBAAAL,GAAC1C,CAAAA,QAAAA,EAAAA;wBACC6C,UAAY,EAAA,EAAA;wBACZC,aAAe,EAAA,EAAA;wBACfE,SAAS,EAAA,IAAA;wBACTC,cAAe,EAAA,QAAA;AACfC,wBAAAA,WAAAA,EAAazC,WAAW,YAAe,GAAA,YAAA;AACvC0C,wBAAAA,UAAAA,EAAY1C,WAAW,YAAe,GAAA,YAAA;wBACtC2C,QAAS,EAAA,UAAA;wBACTC,WAAajC,EAAAA,eAAAA;wBACbkC,WAAajC,EAAAA,eAAAA;wBACbkC,UAAYtC,EAAAA,cAAAA;wBACZuC,MAAQnB,EAAAA,UAAAA;AAER,wBAAA,QAAA,gBAAAK,GAAChD,CAAAA,IAAAA,EAAAA;4BAAKuD,cAAe,EAAA,QAAA;AACnB,4BAAA,QAAA,gBAAAT,IAAChD,CAAAA,OAAAA,EAAAA;;kDACCkD,GAAC/C,CAAAA,WAAAA,EAAAA;AACC,wCAAA,QAAA,gBAAA+C,GAACe,CAAAA,UAAAA,EAAAA;4CAAYC,aAAW,EAAA,IAAA;4CAACC,KAAM,EAAA,QAAA;4CAASC,MAAO,EAAA;;;kDAGjDlB,GAACzC,CAAAA,GAAAA,EAAAA;wCAAI4C,UAAY,EAAA,CAAA;wCAAGC,aAAe,EAAA,CAAA;AACjC,wCAAA,QAAA,gBAAAJ,GAACmB,CAAAA,UAAAA,EAAAA;4CAAWC,OAAQ,EAAA,OAAA;4CAAQC,SAAU,EAAA,YAAA;4CAAaC,GAAI,EAAA,MAAA;sDACpDzD,aAAc,CAAA;AACb0D,gDAAAA,EAAAA,EAAIC,OAAQ,CAAA,aAAA,CAAA;gDACZC,cAAgB,EAAA;AAClB,6CAAA;;;kDAIJzB,GAACxC,CAAAA,SAAAA,EAAAA;wCACC8D,GAAI,EAAA,OAAA;wCACJZ,QAAS,EAAA,UAAA;wCACTgB,IAAM,EAAA,CAAA;wCACNC,KAAO,EAAA,CAAA;wCACPC,MAAQ,EAAA,CAAA;wCACRC,GAAK,EAAA,CAAA;wCACLZ,KAAM,EAAA,MAAA;wCACNa,IAAK,EAAA,MAAA;wCACLC,QAAQ,EAAA,IAAA;wCACRC,IAAK,EAAA,OAAA;AACLC,wCAAAA,YAAAA,EAAYpE,aAAc,CAAA;AACxB0D,4CAAAA,EAAAA,EAAIC,OAAQ,CAAA,aAAA,CAAA;4CACZC,cAAgB,EAAA;AAClB,yCAAA,CAAA;AACAS,wCAAAA,QAAAA,EAAU,CAAC,CAAA;wCACXC,GAAKhE,EAAAA,QAAAA;wCACLiE,MAAQ,EAAA,CAAA;wCACRC,QAAUzD,EAAAA;;;;;;;;AAiBtB,0BAAAoB,GAAA,CAACsC,MAAMC,MAAM,EAAA;AACX,gBAAA,QAAA,gBAAAvC,GAACwC,CAAAA,MAAAA,EAAAA;oBAAOC,OAAS/E,EAAAA,OAAAA;oBAAS0D,OAAQ,EAAA,UAAA;8BAC/BvD,aAAc,CAAA;wBACb0D,EAAI,EAAA,8BAAA;wBACJE,cAAgB,EAAA;AAClB,qBAAA;;;;;AAKV;;;;"}
|
|
@@ -10,7 +10,7 @@ require('byte-size');
|
|
|
10
10
|
require('date-fns');
|
|
11
11
|
var getTrad = require('../../../utils/getTrad.js');
|
|
12
12
|
require('qs');
|
|
13
|
-
require('../../../
|
|
13
|
+
require('../../../utils/typeFromMime.js');
|
|
14
14
|
var urlsToAssets = require('../../../utils/urlsToAssets.js');
|
|
15
15
|
var urlYupSchema = require('../../../utils/urlYupSchema.js');
|
|
16
16
|
|
|
@@ -8,7 +8,7 @@ import 'byte-size';
|
|
|
8
8
|
import 'date-fns';
|
|
9
9
|
import { getTrad } from '../../../utils/getTrad.mjs';
|
|
10
10
|
import 'qs';
|
|
11
|
-
import '../../../
|
|
11
|
+
import '../../../utils/typeFromMime.mjs';
|
|
12
12
|
import { urlsToAssets } from '../../../utils/urlsToAssets.mjs';
|
|
13
13
|
import { urlSchema } from '../../../utils/urlYupSchema.mjs';
|
|
14
14
|
|
|
@@ -9,7 +9,7 @@ require('byte-size');
|
|
|
9
9
|
require('date-fns');
|
|
10
10
|
var getTrad = require('../../../utils/getTrad.js');
|
|
11
11
|
require('qs');
|
|
12
|
-
require('../../../
|
|
12
|
+
require('../../../utils/typeFromMime.js');
|
|
13
13
|
require('../../../utils/urlYupSchema.js');
|
|
14
14
|
var AssetCard = require('../../AssetCard/AssetCard.js');
|
|
15
15
|
var UploadingAssetCard = require('../../AssetCard/UploadingAssetCard.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PendingAssetStep.js","sources":["../../../../../admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, Grid, KeyboardNavigable, Modal, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { AssetType } from '../../../constants';\nimport { useTracking } from '../../../hooks/useTracking';\nimport { getTrad } from '../../../utils';\nimport { AssetCard } from '../../AssetCard/AssetCard';\nimport { UploadingAssetCard } from '../../AssetCard/UploadingAssetCard';\n\nimport type { File, RawFile } from '../../../../../shared/contracts/files';\n\nconst Status = {\n Idle: 'IDLE',\n Uploading: 'UPLOADING',\n Intermediate: 'INTERMEDIATE',\n};\n\ninterface Asset extends File {\n rawFile?: RawFile;\n type?: AssetType;\n}\n\ninterface PendingAssetStepProps {\n addUploadedFiles?: (files: File[]) => void;\n folderId?: string | number | null;\n onClose: () => void;\n onEditAsset: (asset: File) => void;\n onRemoveAsset: (asset: File) => void;\n onAddAsset?: (asset: File) => void;\n assets: Asset[];\n onClickAddAsset: () => void;\n onCancelUpload: (rawFile: RawFile) => void;\n onUploadSucceed: (file: RawFile) => void;\n trackedLocation?: string;\n initialAssetsToAdd?: File[];\n}\n\nexport const PendingAssetStep = ({\n addUploadedFiles,\n folderId,\n onClose,\n onEditAsset,\n onRemoveAsset,\n assets,\n onClickAddAsset,\n onCancelUpload,\n onUploadSucceed,\n trackedLocation,\n}: PendingAssetStepProps) => {\n const assetCountRef = React.useRef(0);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [uploadStatus, setUploadStatus] = React.useState(Status.Idle);\n\n const handleSubmit = async (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n const assetsCountByType = assets.reduce(\n (acc: Record<AssetType, string | number>, asset) => {\n const { type } = asset;\n\n if (type !== undefined && !acc[type]) {\n acc[type] = 0;\n }\n\n if (type !== undefined) {\n const accType = acc[type];\n const currentCount = typeof accType === 'string' ? accType : accType.toString();\n acc[type] = `${parseInt(currentCount, 10) + 1}`;\n }\n\n return acc;\n },\n {} as Record<AssetType, string | number>\n );\n\n trackUsage('willAddMediaLibraryAssets', {\n location: trackedLocation!,\n ...assetsCountByType,\n });\n\n setUploadStatus(Status.Uploading);\n };\n\n const handleStatusChange = (status: string, file: RawFile) => {\n if (status === 'success' || status === 'error') {\n assetCountRef.current++;\n\n // There's no \"terminated\" status. When all the files have called their\n // onUploadSucceed callback, the parent component filters the asset list\n // and closes the modal when the asset list is empty\n if (assetCountRef.current === assets.length) {\n assetCountRef.current = 0;\n setUploadStatus(Status.Intermediate);\n }\n }\n\n if (status === 'success') {\n onUploadSucceed(file);\n }\n };\n\n return (\n <>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Modal.Title>\n </Modal.Header>\n\n <Modal.Body>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Flex justifyContent=\"space-between\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={0}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor=\"neutral800\">\n {formatMessage(\n {\n id: getTrad('list.assets.to-upload'),\n defaultMessage:\n '{number, plural, =0 {No asset} one {1 asset} other {# assets}} ready to upload',\n },\n { number: assets.length }\n )}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('modal.upload-list.sub-header-subtitle'),\n defaultMessage: 'Manage the assets before adding them to the Media Library',\n })}\n </Typography>\n </Flex>\n <Button size=\"S\" onClick={onClickAddAsset}>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Button>\n </Flex>\n <KeyboardNavigable tagName=\"article\">\n <Grid.Root gap={4}>\n {assets.map((asset) => {\n const assetKey = asset.url;\n\n if (uploadStatus === Status.Uploading || uploadStatus === Status.Intermediate) {\n return (\n <Grid.Item col={4} key={assetKey} direction=\"column\" alignItems=\"stretch\">\n <UploadingAssetCard\n // Props used to store the newly uploaded files\n addUploadedFiles={addUploadedFiles!}\n asset={asset}\n id={assetKey}\n onCancel={onCancelUpload}\n onStatusChange={(status) => handleStatusChange(status, asset.rawFile!)}\n size=\"S\"\n folderId={folderId}\n />\n </Grid.Item>\n );\n }\n\n return (\n <Grid.Item col={4} key={assetKey} direction=\"column\" alignItems=\"stretch\">\n <AssetCard\n asset={asset}\n size=\"S\"\n key={assetKey}\n local\n alt={asset.name}\n onEdit={onEditAsset}\n onRemove={onRemoveAsset}\n />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </KeyboardNavigable>\n </Flex>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'cancel' })}\n </Button>\n <Button onClick={handleSubmit} loading={uploadStatus === Status.Uploading}>\n {formatMessage(\n {\n id: getTrad('modal.upload-list.footer.button'),\n defaultMessage:\n 'Upload {number, plural, one {# asset} other {# assets}} to the library',\n },\n { number: assets.length }\n )}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n"],"names":["Status","Idle","Uploading","Intermediate","PendingAssetStep","addUploadedFiles","folderId","onClose","onEditAsset","onRemoveAsset","assets","onClickAddAsset","onCancelUpload","onUploadSucceed","trackedLocation","assetCountRef","React","useRef","formatMessage","useIntl","trackUsage","useTracking","uploadStatus","setUploadStatus","useState","handleSubmit","e","preventDefault","stopPropagation","assetsCountByType","reduce","acc","asset","type","undefined","accType","currentCount","toString","parseInt","location","handleStatusChange","status","file","current","length","_jsxs","_Fragment","_jsx","Modal","Header","Title","id","getTrad","defaultMessage","Body","Flex","direction","alignItems","gap","justifyContent","Typography","variant","fontWeight","textColor","number","Button","size","onClick","KeyboardNavigable","tagName","Grid","Root","map","assetKey","url","Item","col","UploadingAssetCard","onCancel","onStatusChange","rawFile","AssetCard","local","alt","name","onEdit","onRemove","Footer","loading"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAMA,MAAS,GAAA;IACbC,IAAM,EAAA,MAAA;IACNC,SAAW,EAAA,WAAA;IACXC,YAAc,EAAA;AAChB,CAAA;AAsBO,MAAMC,mBAAmB,CAAC,EAC/BC,gBAAgB,EAChBC,QAAQ,EACRC,OAAO,EACPC,WAAW,EACXC,aAAa,EACbC,MAAM,EACNC,eAAe,EACfC,cAAc,EACdC,eAAe,EACfC,eAAe,EACO,GAAA;IACtB,MAAMC,aAAAA,GAAgBC,gBAAMC,CAAAA,MAAM,CAAC,CAAA,CAAA;IACnC,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,UAAU,EAAE,GAAGC,uBAAAA,EAAAA;IACvB,MAAM,CAACC,cAAcC,eAAgB,CAAA,GAAGP,iBAAMQ,QAAQ,CAACxB,OAAOC,IAAI,CAAA;AAElE,IAAA,MAAMwB,eAAe,OAAOC,CAAAA,GAAAA;AAC1BA,QAAAA,CAAAA,CAAEC,cAAc,EAAA;AAChBD,QAAAA,CAAAA,CAAEE,eAAe,EAAA;AAEjB,QAAA,MAAMC,iBAAoBnB,GAAAA,MAAAA,CAAOoB,MAAM,CACrC,CAACC,GAAyCC,EAAAA,KAAAA,GAAAA;YACxC,MAAM,EAAEC,IAAI,EAAE,GAAGD,KAAAA;AAEjB,YAAA,IAAIC,SAASC,SAAa,IAAA,CAACH,GAAG,CAACE,KAAK,EAAE;gBACpCF,GAAG,CAACE,KAAK,GAAG,CAAA;AACd;AAEA,YAAA,IAAIA,SAASC,SAAW,EAAA;gBACtB,MAAMC,OAAAA,GAAUJ,GAAG,CAACE,IAAK,CAAA;AACzB,gBAAA,MAAMG,eAAe,OAAOD,OAAAA,KAAY,QAAWA,GAAAA,OAAAA,GAAUA,QAAQE,QAAQ,EAAA;gBAC7EN,GAAG,CAACE,KAAK,GAAG,CAAC,EAAEK,QAASF,CAAAA,YAAAA,EAAc,EAAM,CAAA,GAAA,CAAA,CAAE,CAAC;AACjD;YAEA,OAAOL,GAAAA;AACT,SAAA,EACA,EAAC,CAAA;AAGHX,QAAAA,UAAAA,CAAW,2BAA6B,EAAA;YACtCmB,QAAUzB,EAAAA,eAAAA;AACV,YAAA,GAAGe;AACL,SAAA,CAAA;AAEAN,QAAAA,eAAAA,CAAgBvB,OAAOE,SAAS,CAAA;AAClC,KAAA;IAEA,MAAMsC,kBAAAA,GAAqB,CAACC,MAAgBC,EAAAA,IAAAA,GAAAA;QAC1C,IAAID,MAAAA,KAAW,SAAaA,IAAAA,MAAAA,KAAW,OAAS,EAAA;AAC9C1B,YAAAA,aAAAA,CAAc4B,OAAO,EAAA;;;;AAKrB,YAAA,IAAI5B,aAAc4B,CAAAA,OAAO,KAAKjC,MAAAA,CAAOkC,MAAM,EAAE;AAC3C7B,gBAAAA,aAAAA,CAAc4B,OAAO,GAAG,CAAA;AACxBpB,gBAAAA,eAAAA,CAAgBvB,OAAOG,YAAY,CAAA;AACrC;AACF;AAEA,QAAA,IAAIsC,WAAW,SAAW,EAAA;YACxB5B,eAAgB6B,CAAAA,IAAAA,CAAAA;AAClB;AACF,KAAA;IAEA,qBACEG,eAAA,CAAAC,mBAAA,EAAA;;AACE,0BAAAC,cAAA,CAACC,mBAAMC,MAAM,EAAA;wCACXF,cAAA,CAACC,mBAAME,KAAK,EAAA;8BACThC,aAAc,CAAA;AACbiC,wBAAAA,EAAAA,EAAIC,eAAQ,CAAA,2BAAA,CAAA;wBACZC,cAAgB,EAAA;AAClB,qBAAA;;;AAIJ,0BAAAN,cAAA,CAACC,mBAAMM,IAAI,EAAA;AACT,gBAAA,QAAA,gBAAAT,eAACU,CAAAA,iBAAAA,EAAAA;oBAAKC,SAAU,EAAA,QAAA;oBAASC,UAAW,EAAA,SAAA;oBAAUC,GAAK,EAAA,CAAA;;sCACjDb,eAACU,CAAAA,iBAAAA,EAAAA;4BAAKI,cAAe,EAAA,eAAA;;8CACnBd,eAACU,CAAAA,iBAAAA,EAAAA;oCAAKC,SAAU,EAAA,QAAA;oCAASC,UAAW,EAAA,SAAA;oCAAUC,GAAK,EAAA,CAAA;;sDACjDX,cAACa,CAAAA,uBAAAA,EAAAA;4CAAWC,OAAQ,EAAA,IAAA;4CAAKC,UAAW,EAAA,MAAA;4CAAOC,SAAU,EAAA,YAAA;sDAClD7C,aACC,CAAA;AACEiC,gDAAAA,EAAAA,EAAIC,eAAQ,CAAA,uBAAA,CAAA;gDACZC,cACE,EAAA;6CAEJ,EAAA;AAAEW,gDAAAA,MAAAA,EAAQtD,OAAOkC;AAAO,6CAAA;;sDAG5BG,cAACa,CAAAA,uBAAAA,EAAAA;4CAAWC,OAAQ,EAAA,IAAA;4CAAKE,SAAU,EAAA,YAAA;sDAChC7C,aAAc,CAAA;AACbiC,gDAAAA,EAAAA,EAAIC,eAAQ,CAAA,uCAAA,CAAA;gDACZC,cAAgB,EAAA;AAClB,6CAAA;;;;8CAGJN,cAACkB,CAAAA,mBAAAA,EAAAA;oCAAOC,IAAK,EAAA,GAAA;oCAAIC,OAASxD,EAAAA,eAAAA;8CACvBO,aAAc,CAAA;AACbiC,wCAAAA,EAAAA,EAAIC,eAAQ,CAAA,2BAAA,CAAA;wCACZC,cAAgB,EAAA;AAClB,qCAAA;;;;sCAGJN,cAACqB,CAAAA,8BAAAA,EAAAA;4BAAkBC,OAAQ,EAAA,SAAA;oDACzBtB,cAAA,CAACuB,kBAAKC,IAAI,EAAA;gCAACb,GAAK,EAAA,CAAA;0CACbhD,MAAO8D,CAAAA,GAAG,CAAC,CAACxC,KAAAA,GAAAA;oCACX,MAAMyC,QAAAA,GAAWzC,MAAM0C,GAAG;AAE1B,oCAAA,IAAIpD,iBAAiBtB,MAAOE,CAAAA,SAAS,IAAIoB,YAAiBtB,KAAAA,MAAAA,CAAOG,YAAY,EAAE;wCAC7E,qBACE4C,cAAA,CAACuB,kBAAKK,IAAI,EAAA;4CAACC,GAAK,EAAA,CAAA;4CAAkBpB,SAAU,EAAA,QAAA;4CAASC,UAAW,EAAA,SAAA;AAC9D,4CAAA,QAAA,gBAAAV,cAAC8B,CAAAA,qCAAAA,EAAAA;;gDAECxE,gBAAkBA,EAAAA,gBAAAA;gDAClB2B,KAAOA,EAAAA,KAAAA;gDACPmB,EAAIsB,EAAAA,QAAAA;gDACJK,QAAUlE,EAAAA,cAAAA;AACVmE,gDAAAA,cAAAA,EAAgB,CAACtC,MAAAA,GAAWD,kBAAmBC,CAAAA,MAAAA,EAAQT,MAAMgD,OAAO,CAAA;gDACpEd,IAAK,EAAA,GAAA;gDACL5D,QAAUA,EAAAA;;AATUmE,yCAAAA,EAAAA,QAAAA,CAAAA;AAa5B;oCAEA,qBACE1B,cAAA,CAACuB,kBAAKK,IAAI,EAAA;wCAACC,GAAK,EAAA,CAAA;wCAAkBpB,SAAU,EAAA,QAAA;wCAASC,UAAW,EAAA,SAAA;AAC9D,wCAAA,QAAA,gBAAAV,cAACkC,CAAAA,mBAAAA,EAAAA;4CACCjD,KAAOA,EAAAA,KAAAA;4CACPkC,IAAK,EAAA,GAAA;4CAELgB,KAAK,EAAA,IAAA;AACLC,4CAAAA,GAAAA,EAAKnD,MAAMoD,IAAI;4CACfC,MAAQ7E,EAAAA,WAAAA;4CACR8E,QAAU7E,EAAAA;AAJLgE,yCAAAA,EAAAA,QAAAA;AAJeA,qCAAAA,EAAAA,QAAAA,CAAAA;AAY5B,iCAAA;;;;;;AAKR,0BAAA5B,eAAA,CAACG,mBAAMuC,MAAM,EAAA;;kCACXxC,cAACkB,CAAAA,mBAAAA,EAAAA;wBAAOE,OAAS5D,EAAAA,OAAAA;wBAASsD,OAAQ,EAAA,UAAA;kCAC/B3C,aAAc,CAAA;4BAAEiC,EAAI,EAAA,8BAAA;4BAAgCE,cAAgB,EAAA;AAAS,yBAAA;;kCAEhFN,cAACkB,CAAAA,mBAAAA,EAAAA;wBAAOE,OAAS1C,EAAAA,YAAAA;wBAAc+D,OAASlE,EAAAA,YAAAA,KAAiBtB,OAAOE,SAAS;kCACtEgB,aACC,CAAA;AACEiC,4BAAAA,EAAAA,EAAIC,eAAQ,CAAA,iCAAA,CAAA;4BACZC,cACE,EAAA;yBAEJ,EAAA;AAAEW,4BAAAA,MAAAA,EAAQtD,OAAOkC;AAAO,yBAAA;;;;;;AAMpC;;;;"}
|
|
1
|
+
{"version":3,"file":"PendingAssetStep.js","sources":["../../../../../admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, Grid, KeyboardNavigable, Modal, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { AssetType } from '../../../enums';\nimport { useTracking } from '../../../hooks/useTracking';\nimport { getTrad } from '../../../utils';\nimport { AssetCard } from '../../AssetCard/AssetCard';\nimport { UploadingAssetCard } from '../../AssetCard/UploadingAssetCard';\n\nimport type { File, RawFile } from '../../../../../shared/contracts/files';\n\nconst Status = {\n Idle: 'IDLE',\n Uploading: 'UPLOADING',\n Intermediate: 'INTERMEDIATE',\n};\n\ninterface Asset extends File {\n rawFile?: RawFile;\n type?: AssetType;\n}\n\ninterface PendingAssetStepProps {\n addUploadedFiles?: (files: File[]) => void;\n folderId?: string | number | null;\n onClose: () => void;\n onEditAsset: (asset: File) => void;\n onRemoveAsset: (asset: File) => void;\n onAddAsset?: (asset: File) => void;\n assets: Asset[];\n onClickAddAsset: () => void;\n onCancelUpload: (rawFile: RawFile) => void;\n onUploadSucceed: (file: RawFile) => void;\n trackedLocation?: string;\n initialAssetsToAdd?: File[];\n}\n\nexport const PendingAssetStep = ({\n addUploadedFiles,\n folderId,\n onClose,\n onEditAsset,\n onRemoveAsset,\n assets,\n onClickAddAsset,\n onCancelUpload,\n onUploadSucceed,\n trackedLocation,\n}: PendingAssetStepProps) => {\n const assetCountRef = React.useRef(0);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [uploadStatus, setUploadStatus] = React.useState(Status.Idle);\n\n const handleSubmit = async (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n const assetsCountByType = assets.reduce(\n (acc: Record<AssetType, string | number>, asset) => {\n const { type } = asset;\n\n if (type !== undefined && !acc[type]) {\n acc[type] = 0;\n }\n\n if (type !== undefined) {\n const accType = acc[type];\n const currentCount = typeof accType === 'string' ? accType : accType.toString();\n acc[type] = `${parseInt(currentCount, 10) + 1}`;\n }\n\n return acc;\n },\n {} as Record<AssetType, string | number>\n );\n\n trackUsage('willAddMediaLibraryAssets', {\n location: trackedLocation!,\n ...assetsCountByType,\n });\n\n setUploadStatus(Status.Uploading);\n };\n\n const handleStatusChange = (status: string, file: RawFile) => {\n if (status === 'success' || status === 'error') {\n assetCountRef.current++;\n\n // There's no \"terminated\" status. When all the files have called their\n // onUploadSucceed callback, the parent component filters the asset list\n // and closes the modal when the asset list is empty\n if (assetCountRef.current === assets.length) {\n assetCountRef.current = 0;\n setUploadStatus(Status.Intermediate);\n }\n }\n\n if (status === 'success') {\n onUploadSucceed(file);\n }\n };\n\n return (\n <>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Modal.Title>\n </Modal.Header>\n\n <Modal.Body>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Flex justifyContent=\"space-between\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={0}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor=\"neutral800\">\n {formatMessage(\n {\n id: getTrad('list.assets.to-upload'),\n defaultMessage:\n '{number, plural, =0 {No asset} one {1 asset} other {# assets}} ready to upload',\n },\n { number: assets.length }\n )}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('modal.upload-list.sub-header-subtitle'),\n defaultMessage: 'Manage the assets before adding them to the Media Library',\n })}\n </Typography>\n </Flex>\n <Button size=\"S\" onClick={onClickAddAsset}>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Button>\n </Flex>\n <KeyboardNavigable tagName=\"article\">\n <Grid.Root gap={4}>\n {assets.map((asset) => {\n const assetKey = asset.url;\n\n if (uploadStatus === Status.Uploading || uploadStatus === Status.Intermediate) {\n return (\n <Grid.Item col={4} key={assetKey} direction=\"column\" alignItems=\"stretch\">\n <UploadingAssetCard\n // Props used to store the newly uploaded files\n addUploadedFiles={addUploadedFiles!}\n asset={asset}\n id={assetKey}\n onCancel={onCancelUpload}\n onStatusChange={(status) => handleStatusChange(status, asset.rawFile!)}\n size=\"S\"\n folderId={folderId}\n />\n </Grid.Item>\n );\n }\n\n return (\n <Grid.Item col={4} key={assetKey} direction=\"column\" alignItems=\"stretch\">\n <AssetCard\n asset={asset}\n size=\"S\"\n key={assetKey}\n local\n alt={asset.name}\n onEdit={onEditAsset}\n onRemove={onRemoveAsset}\n />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </KeyboardNavigable>\n </Flex>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'cancel' })}\n </Button>\n <Button onClick={handleSubmit} loading={uploadStatus === Status.Uploading}>\n {formatMessage(\n {\n id: getTrad('modal.upload-list.footer.button'),\n defaultMessage:\n 'Upload {number, plural, one {# asset} other {# assets}} to the library',\n },\n { number: assets.length }\n )}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n"],"names":["Status","Idle","Uploading","Intermediate","PendingAssetStep","addUploadedFiles","folderId","onClose","onEditAsset","onRemoveAsset","assets","onClickAddAsset","onCancelUpload","onUploadSucceed","trackedLocation","assetCountRef","React","useRef","formatMessage","useIntl","trackUsage","useTracking","uploadStatus","setUploadStatus","useState","handleSubmit","e","preventDefault","stopPropagation","assetsCountByType","reduce","acc","asset","type","undefined","accType","currentCount","toString","parseInt","location","handleStatusChange","status","file","current","length","_jsxs","_Fragment","_jsx","Modal","Header","Title","id","getTrad","defaultMessage","Body","Flex","direction","alignItems","gap","justifyContent","Typography","variant","fontWeight","textColor","number","Button","size","onClick","KeyboardNavigable","tagName","Grid","Root","map","assetKey","url","Item","col","UploadingAssetCard","onCancel","onStatusChange","rawFile","AssetCard","local","alt","name","onEdit","onRemove","Footer","loading"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import 'byte-size';
|
|
|
7
7
|
import 'date-fns';
|
|
8
8
|
import { getTrad } from '../../../utils/getTrad.mjs';
|
|
9
9
|
import 'qs';
|
|
10
|
-
import '../../../
|
|
10
|
+
import '../../../utils/typeFromMime.mjs';
|
|
11
11
|
import '../../../utils/urlYupSchema.mjs';
|
|
12
12
|
import { AssetCard } from '../../AssetCard/AssetCard.mjs';
|
|
13
13
|
import { UploadingAssetCard } from '../../AssetCard/UploadingAssetCard.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PendingAssetStep.mjs","sources":["../../../../../admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, Grid, KeyboardNavigable, Modal, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { AssetType } from '../../../constants';\nimport { useTracking } from '../../../hooks/useTracking';\nimport { getTrad } from '../../../utils';\nimport { AssetCard } from '../../AssetCard/AssetCard';\nimport { UploadingAssetCard } from '../../AssetCard/UploadingAssetCard';\n\nimport type { File, RawFile } from '../../../../../shared/contracts/files';\n\nconst Status = {\n Idle: 'IDLE',\n Uploading: 'UPLOADING',\n Intermediate: 'INTERMEDIATE',\n};\n\ninterface Asset extends File {\n rawFile?: RawFile;\n type?: AssetType;\n}\n\ninterface PendingAssetStepProps {\n addUploadedFiles?: (files: File[]) => void;\n folderId?: string | number | null;\n onClose: () => void;\n onEditAsset: (asset: File) => void;\n onRemoveAsset: (asset: File) => void;\n onAddAsset?: (asset: File) => void;\n assets: Asset[];\n onClickAddAsset: () => void;\n onCancelUpload: (rawFile: RawFile) => void;\n onUploadSucceed: (file: RawFile) => void;\n trackedLocation?: string;\n initialAssetsToAdd?: File[];\n}\n\nexport const PendingAssetStep = ({\n addUploadedFiles,\n folderId,\n onClose,\n onEditAsset,\n onRemoveAsset,\n assets,\n onClickAddAsset,\n onCancelUpload,\n onUploadSucceed,\n trackedLocation,\n}: PendingAssetStepProps) => {\n const assetCountRef = React.useRef(0);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [uploadStatus, setUploadStatus] = React.useState(Status.Idle);\n\n const handleSubmit = async (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n const assetsCountByType = assets.reduce(\n (acc: Record<AssetType, string | number>, asset) => {\n const { type } = asset;\n\n if (type !== undefined && !acc[type]) {\n acc[type] = 0;\n }\n\n if (type !== undefined) {\n const accType = acc[type];\n const currentCount = typeof accType === 'string' ? accType : accType.toString();\n acc[type] = `${parseInt(currentCount, 10) + 1}`;\n }\n\n return acc;\n },\n {} as Record<AssetType, string | number>\n );\n\n trackUsage('willAddMediaLibraryAssets', {\n location: trackedLocation!,\n ...assetsCountByType,\n });\n\n setUploadStatus(Status.Uploading);\n };\n\n const handleStatusChange = (status: string, file: RawFile) => {\n if (status === 'success' || status === 'error') {\n assetCountRef.current++;\n\n // There's no \"terminated\" status. When all the files have called their\n // onUploadSucceed callback, the parent component filters the asset list\n // and closes the modal when the asset list is empty\n if (assetCountRef.current === assets.length) {\n assetCountRef.current = 0;\n setUploadStatus(Status.Intermediate);\n }\n }\n\n if (status === 'success') {\n onUploadSucceed(file);\n }\n };\n\n return (\n <>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Modal.Title>\n </Modal.Header>\n\n <Modal.Body>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Flex justifyContent=\"space-between\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={0}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor=\"neutral800\">\n {formatMessage(\n {\n id: getTrad('list.assets.to-upload'),\n defaultMessage:\n '{number, plural, =0 {No asset} one {1 asset} other {# assets}} ready to upload',\n },\n { number: assets.length }\n )}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('modal.upload-list.sub-header-subtitle'),\n defaultMessage: 'Manage the assets before adding them to the Media Library',\n })}\n </Typography>\n </Flex>\n <Button size=\"S\" onClick={onClickAddAsset}>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Button>\n </Flex>\n <KeyboardNavigable tagName=\"article\">\n <Grid.Root gap={4}>\n {assets.map((asset) => {\n const assetKey = asset.url;\n\n if (uploadStatus === Status.Uploading || uploadStatus === Status.Intermediate) {\n return (\n <Grid.Item col={4} key={assetKey} direction=\"column\" alignItems=\"stretch\">\n <UploadingAssetCard\n // Props used to store the newly uploaded files\n addUploadedFiles={addUploadedFiles!}\n asset={asset}\n id={assetKey}\n onCancel={onCancelUpload}\n onStatusChange={(status) => handleStatusChange(status, asset.rawFile!)}\n size=\"S\"\n folderId={folderId}\n />\n </Grid.Item>\n );\n }\n\n return (\n <Grid.Item col={4} key={assetKey} direction=\"column\" alignItems=\"stretch\">\n <AssetCard\n asset={asset}\n size=\"S\"\n key={assetKey}\n local\n alt={asset.name}\n onEdit={onEditAsset}\n onRemove={onRemoveAsset}\n />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </KeyboardNavigable>\n </Flex>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'cancel' })}\n </Button>\n <Button onClick={handleSubmit} loading={uploadStatus === Status.Uploading}>\n {formatMessage(\n {\n id: getTrad('modal.upload-list.footer.button'),\n defaultMessage:\n 'Upload {number, plural, one {# asset} other {# assets}} to the library',\n },\n { number: assets.length }\n )}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n"],"names":["Status","Idle","Uploading","Intermediate","PendingAssetStep","addUploadedFiles","folderId","onClose","onEditAsset","onRemoveAsset","assets","onClickAddAsset","onCancelUpload","onUploadSucceed","trackedLocation","assetCountRef","React","useRef","formatMessage","useIntl","trackUsage","useTracking","uploadStatus","setUploadStatus","useState","handleSubmit","e","preventDefault","stopPropagation","assetsCountByType","reduce","acc","asset","type","undefined","accType","currentCount","toString","parseInt","location","handleStatusChange","status","file","current","length","_jsxs","_Fragment","_jsx","Modal","Header","Title","id","getTrad","defaultMessage","Body","Flex","direction","alignItems","gap","justifyContent","Typography","variant","fontWeight","textColor","number","Button","size","onClick","KeyboardNavigable","tagName","Grid","Root","map","assetKey","url","Item","col","UploadingAssetCard","onCancel","onStatusChange","rawFile","AssetCard","local","alt","name","onEdit","onRemove","Footer","loading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PendingAssetStep.mjs","sources":["../../../../../admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, Grid, KeyboardNavigable, Modal, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { AssetType } from '../../../enums';\nimport { useTracking } from '../../../hooks/useTracking';\nimport { getTrad } from '../../../utils';\nimport { AssetCard } from '../../AssetCard/AssetCard';\nimport { UploadingAssetCard } from '../../AssetCard/UploadingAssetCard';\n\nimport type { File, RawFile } from '../../../../../shared/contracts/files';\n\nconst Status = {\n Idle: 'IDLE',\n Uploading: 'UPLOADING',\n Intermediate: 'INTERMEDIATE',\n};\n\ninterface Asset extends File {\n rawFile?: RawFile;\n type?: AssetType;\n}\n\ninterface PendingAssetStepProps {\n addUploadedFiles?: (files: File[]) => void;\n folderId?: string | number | null;\n onClose: () => void;\n onEditAsset: (asset: File) => void;\n onRemoveAsset: (asset: File) => void;\n onAddAsset?: (asset: File) => void;\n assets: Asset[];\n onClickAddAsset: () => void;\n onCancelUpload: (rawFile: RawFile) => void;\n onUploadSucceed: (file: RawFile) => void;\n trackedLocation?: string;\n initialAssetsToAdd?: File[];\n}\n\nexport const PendingAssetStep = ({\n addUploadedFiles,\n folderId,\n onClose,\n onEditAsset,\n onRemoveAsset,\n assets,\n onClickAddAsset,\n onCancelUpload,\n onUploadSucceed,\n trackedLocation,\n}: PendingAssetStepProps) => {\n const assetCountRef = React.useRef(0);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [uploadStatus, setUploadStatus] = React.useState(Status.Idle);\n\n const handleSubmit = async (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n e.stopPropagation();\n\n const assetsCountByType = assets.reduce(\n (acc: Record<AssetType, string | number>, asset) => {\n const { type } = asset;\n\n if (type !== undefined && !acc[type]) {\n acc[type] = 0;\n }\n\n if (type !== undefined) {\n const accType = acc[type];\n const currentCount = typeof accType === 'string' ? accType : accType.toString();\n acc[type] = `${parseInt(currentCount, 10) + 1}`;\n }\n\n return acc;\n },\n {} as Record<AssetType, string | number>\n );\n\n trackUsage('willAddMediaLibraryAssets', {\n location: trackedLocation!,\n ...assetsCountByType,\n });\n\n setUploadStatus(Status.Uploading);\n };\n\n const handleStatusChange = (status: string, file: RawFile) => {\n if (status === 'success' || status === 'error') {\n assetCountRef.current++;\n\n // There's no \"terminated\" status. When all the files have called their\n // onUploadSucceed callback, the parent component filters the asset list\n // and closes the modal when the asset list is empty\n if (assetCountRef.current === assets.length) {\n assetCountRef.current = 0;\n setUploadStatus(Status.Intermediate);\n }\n }\n\n if (status === 'success') {\n onUploadSucceed(file);\n }\n };\n\n return (\n <>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Modal.Title>\n </Modal.Header>\n\n <Modal.Body>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Flex justifyContent=\"space-between\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={0}>\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor=\"neutral800\">\n {formatMessage(\n {\n id: getTrad('list.assets.to-upload'),\n defaultMessage:\n '{number, plural, =0 {No asset} one {1 asset} other {# assets}} ready to upload',\n },\n { number: assets.length }\n )}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('modal.upload-list.sub-header-subtitle'),\n defaultMessage: 'Manage the assets before adding them to the Media Library',\n })}\n </Typography>\n </Flex>\n <Button size=\"S\" onClick={onClickAddAsset}>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Button>\n </Flex>\n <KeyboardNavigable tagName=\"article\">\n <Grid.Root gap={4}>\n {assets.map((asset) => {\n const assetKey = asset.url;\n\n if (uploadStatus === Status.Uploading || uploadStatus === Status.Intermediate) {\n return (\n <Grid.Item col={4} key={assetKey} direction=\"column\" alignItems=\"stretch\">\n <UploadingAssetCard\n // Props used to store the newly uploaded files\n addUploadedFiles={addUploadedFiles!}\n asset={asset}\n id={assetKey}\n onCancel={onCancelUpload}\n onStatusChange={(status) => handleStatusChange(status, asset.rawFile!)}\n size=\"S\"\n folderId={folderId}\n />\n </Grid.Item>\n );\n }\n\n return (\n <Grid.Item col={4} key={assetKey} direction=\"column\" alignItems=\"stretch\">\n <AssetCard\n asset={asset}\n size=\"S\"\n key={assetKey}\n local\n alt={asset.name}\n onEdit={onEditAsset}\n onRemove={onRemoveAsset}\n />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </KeyboardNavigable>\n </Flex>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'cancel' })}\n </Button>\n <Button onClick={handleSubmit} loading={uploadStatus === Status.Uploading}>\n {formatMessage(\n {\n id: getTrad('modal.upload-list.footer.button'),\n defaultMessage:\n 'Upload {number, plural, one {# asset} other {# assets}} to the library',\n },\n { number: assets.length }\n )}\n </Button>\n </Modal.Footer>\n </>\n );\n};\n"],"names":["Status","Idle","Uploading","Intermediate","PendingAssetStep","addUploadedFiles","folderId","onClose","onEditAsset","onRemoveAsset","assets","onClickAddAsset","onCancelUpload","onUploadSucceed","trackedLocation","assetCountRef","React","useRef","formatMessage","useIntl","trackUsage","useTracking","uploadStatus","setUploadStatus","useState","handleSubmit","e","preventDefault","stopPropagation","assetsCountByType","reduce","acc","asset","type","undefined","accType","currentCount","toString","parseInt","location","handleStatusChange","status","file","current","length","_jsxs","_Fragment","_jsx","Modal","Header","Title","id","getTrad","defaultMessage","Body","Flex","direction","alignItems","gap","justifyContent","Typography","variant","fontWeight","textColor","number","Button","size","onClick","KeyboardNavigable","tagName","Grid","Root","map","assetKey","url","Item","col","UploadingAssetCard","onCancel","onStatusChange","rawFile","AssetCard","local","alt","name","onEdit","onRemove","Footer","loading"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadProgress.js","sources":["../../../../admin/src/components/UploadProgress/UploadProgress.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport { Flex, ProgressBar, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { UpdateFile } from '../../../../shared/contracts/files';\n\nconst BoxWrapper = styled(Flex)`\n border-radius: ${({ theme }) => `${theme.borderRadius} ${theme.borderRadius} 0 0`};\n width: 100%;\n height: 100%;\n\n svg {\n path {\n fill: ${({ theme, error }) => (error ? theme.colors.danger600 : undefined)};\n }\n }\n`;\n\nconst CancelButton = styled.button`\n border: none;\n background: none;\n width: min-content;\n color: ${({ theme }) => theme.colors.neutral600};\n\n &:hover,\n &:focus {\n color: ${({ theme }) => theme.colors.neutral700};\n }\n\n svg {\n height: 10px;\n width: 10px;\n\n path {\n fill: currentColor;\n }\n }\n`;\n\nexport interface UploadProgressProps {\n error?: UpdateFile.Response['error'] | Error | null;\n onCancel: () => void;\n progress?: number;\n}\n\nexport const UploadProgress = ({ onCancel, progress = 0, error }: UploadProgressProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <BoxWrapper alignItems=\"center\" background={error ? 'danger100' : 'neutral150'} error={error}>\n {error ? (\n <Cross aria-label={error?.message} />\n ) : (\n <Flex direction=\"column\" alignItems=\"center\" gap={2} width=\"100%\">\n <ProgressBar value={progress} />\n <Typography>{`${progress}/100%`}</Typography>\n\n <CancelButton type=\"button\" onClick={onCancel}>\n <Flex gap={2}>\n <Typography variant=\"pi\" tag=\"span\" textColor=\"inherit\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Typography>\n\n <Cross aria-hidden />\n </Flex>\n </CancelButton>\n </Flex>\n )}\n </BoxWrapper>\n );\n};\n"],"names":["BoxWrapper","styled","Flex","theme","borderRadius","error","colors","danger600","undefined","CancelButton","button","neutral600","neutral700","UploadProgress","onCancel","progress","formatMessage","useIntl","_jsx","alignItems","background","Cross","aria-label","message","_jsxs","direction","gap","width","ProgressBar","value","Typography","type","onClick","variant","tag","textColor","id","defaultMessage","aria-hidden"],"mappings":";;;;;;;;AAAA;AAQA,MAAMA,UAAAA,GAAaC,uBAAOC,CAAAA,iBAAAA,CAAK;AACd,iBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAK,
|
|
1
|
+
{"version":3,"file":"UploadProgress.js","sources":["../../../../admin/src/components/UploadProgress/UploadProgress.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport { Flex, ProgressBar, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { UpdateFile } from '../../../../shared/contracts/files';\n\nconst BoxWrapper = styled(Flex)`\n border-radius: ${({ theme }) => `${theme.borderRadius} ${theme.borderRadius} 0 0`};\n width: 100%;\n height: 100%;\n\n svg {\n path {\n fill: ${({ theme, error }) => (error ? theme.colors.danger600 : undefined)};\n }\n }\n`;\n\nconst CancelButton = styled.button`\n border: none;\n background: none;\n width: min-content;\n color: ${({ theme }) => theme.colors.neutral600};\n\n &:hover,\n &:focus {\n color: ${({ theme }) => theme.colors.neutral700};\n }\n\n svg {\n height: 10px;\n width: 10px;\n\n path {\n fill: currentColor;\n }\n }\n`;\n\nexport interface UploadProgressProps {\n error?: UpdateFile.Response['error'] | Error | null;\n onCancel: () => void;\n progress?: number;\n}\n\nexport const UploadProgress = ({ onCancel, progress = 0, error }: UploadProgressProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <BoxWrapper alignItems=\"center\" background={error ? 'danger100' : 'neutral150'} error={error}>\n {error ? (\n <Cross aria-label={error?.message} />\n ) : (\n <Flex direction=\"column\" alignItems=\"center\" gap={2} width=\"100%\">\n <ProgressBar value={progress} />\n <Typography>{`${progress}/100%`}</Typography>\n\n <CancelButton type=\"button\" onClick={onCancel}>\n <Flex gap={2}>\n <Typography variant=\"pi\" tag=\"span\" textColor=\"inherit\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Typography>\n\n <Cross aria-hidden />\n </Flex>\n </CancelButton>\n </Flex>\n )}\n </BoxWrapper>\n );\n};\n"],"names":["BoxWrapper","styled","Flex","theme","borderRadius","error","colors","danger600","undefined","CancelButton","button","neutral600","neutral700","UploadProgress","onCancel","progress","formatMessage","useIntl","_jsx","alignItems","background","Cross","aria-label","message","_jsxs","direction","gap","width","ProgressBar","value","Typography","type","onClick","variant","tag","textColor","id","defaultMessage","aria-hidden"],"mappings":";;;;;;;;AAAA;AAQA,MAAMA,UAAAA,GAAaC,uBAAOC,CAAAA,iBAAAA,CAAK;AACd,iBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAK,GAAGA,KAAMC,CAAAA,YAAY,CAAC,CAAC,EAAED,KAAMC,CAAAA,YAAY,CAAC,IAAI,CAAC,CAAC;;;;;;AAMxE,YAAA,EAAE,CAAC,EAAED,KAAK,EAAEE,KAAK,EAAE,GAAMA,KAAAA,GAAQF,KAAMG,CAAAA,MAAM,CAACC,SAAS,GAAGC,SAAW,CAAA;;;AAGjF,CAAC;AAED,MAAMC,YAAAA,GAAeR,uBAAOS,CAAAA,MAAM;;;;SAIzB,EAAE,CAAC,EAAEP,KAAK,EAAE,GAAKA,KAAMG,CAAAA,MAAM,CAACK,UAAU,CAAC;;;;WAIvC,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAMG,CAAAA,MAAM,CAACM,UAAU,CAAC;;;;;;;;;;;AAWpD,CAAC;AAQM,MAAMC,cAAiB,GAAA,CAAC,EAAEC,QAAQ,EAAEC,QAAW,GAAA,CAAC,EAAEV,KAAK,EAAuB,GAAA;IACnF,MAAM,EAAEW,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,qBACEC,cAAClB,CAAAA,UAAAA,EAAAA;QAAWmB,UAAW,EAAA,QAAA;AAASC,QAAAA,UAAAA,EAAYf,QAAQ,WAAc,GAAA,YAAA;QAAcA,KAAOA,EAAAA,KAAAA;AACpFA,QAAAA,QAAAA,EAAAA,KAAAA,iBACCa,cAACG,CAAAA,WAAAA,EAAAA;AAAMC,YAAAA,YAAAA,EAAYjB,KAAOkB,EAAAA;2BAE1BC,eAACtB,CAAAA,iBAAAA,EAAAA;YAAKuB,SAAU,EAAA,QAAA;YAASN,UAAW,EAAA,QAAA;YAASO,GAAK,EAAA,CAAA;YAAGC,KAAM,EAAA,MAAA;;8BACzDT,cAACU,CAAAA,wBAAAA,EAAAA;oBAAYC,KAAOd,EAAAA;;8BACpBG,cAACY,CAAAA,uBAAAA,EAAAA;8BAAY,CAAGf,EAAAA,QAAAA,CAAS,KAAK;;8BAE9BG,cAACT,CAAAA,YAAAA,EAAAA;oBAAasB,IAAK,EAAA,QAAA;oBAASC,OAASlB,EAAAA,QAAAA;AACnC,oBAAA,QAAA,gBAAAU,eAACtB,CAAAA,iBAAAA,EAAAA;wBAAKwB,GAAK,EAAA,CAAA;;0CACTR,cAACY,CAAAA,uBAAAA,EAAAA;gCAAWG,OAAQ,EAAA,IAAA;gCAAKC,GAAI,EAAA,MAAA;gCAAOC,SAAU,EAAA,SAAA;0CAC3CnB,aAAc,CAAA;oCACboB,EAAI,EAAA,8BAAA;oCACJC,cAAgB,EAAA;AAClB,iCAAA;;0CAGFnB,cAACG,CAAAA,WAAAA,EAAAA;gCAAMiB,aAAW,EAAA;;;;;;;;AAOhC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadProgress.mjs","sources":["../../../../admin/src/components/UploadProgress/UploadProgress.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport { Flex, ProgressBar, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { UpdateFile } from '../../../../shared/contracts/files';\n\nconst BoxWrapper = styled(Flex)`\n border-radius: ${({ theme }) => `${theme.borderRadius} ${theme.borderRadius} 0 0`};\n width: 100%;\n height: 100%;\n\n svg {\n path {\n fill: ${({ theme, error }) => (error ? theme.colors.danger600 : undefined)};\n }\n }\n`;\n\nconst CancelButton = styled.button`\n border: none;\n background: none;\n width: min-content;\n color: ${({ theme }) => theme.colors.neutral600};\n\n &:hover,\n &:focus {\n color: ${({ theme }) => theme.colors.neutral700};\n }\n\n svg {\n height: 10px;\n width: 10px;\n\n path {\n fill: currentColor;\n }\n }\n`;\n\nexport interface UploadProgressProps {\n error?: UpdateFile.Response['error'] | Error | null;\n onCancel: () => void;\n progress?: number;\n}\n\nexport const UploadProgress = ({ onCancel, progress = 0, error }: UploadProgressProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <BoxWrapper alignItems=\"center\" background={error ? 'danger100' : 'neutral150'} error={error}>\n {error ? (\n <Cross aria-label={error?.message} />\n ) : (\n <Flex direction=\"column\" alignItems=\"center\" gap={2} width=\"100%\">\n <ProgressBar value={progress} />\n <Typography>{`${progress}/100%`}</Typography>\n\n <CancelButton type=\"button\" onClick={onCancel}>\n <Flex gap={2}>\n <Typography variant=\"pi\" tag=\"span\" textColor=\"inherit\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Typography>\n\n <Cross aria-hidden />\n </Flex>\n </CancelButton>\n </Flex>\n )}\n </BoxWrapper>\n );\n};\n"],"names":["BoxWrapper","styled","Flex","theme","borderRadius","error","colors","danger600","undefined","CancelButton","button","neutral600","neutral700","UploadProgress","onCancel","progress","formatMessage","useIntl","_jsx","alignItems","background","Cross","aria-label","message","_jsxs","direction","gap","width","ProgressBar","value","Typography","type","onClick","variant","tag","textColor","id","defaultMessage","aria-hidden"],"mappings":";;;;;;AAAA;AAQA,MAAMA,UAAAA,GAAaC,MAAOC,CAAAA,IAAAA,CAAK;AACd,iBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAK,
|
|
1
|
+
{"version":3,"file":"UploadProgress.mjs","sources":["../../../../admin/src/components/UploadProgress/UploadProgress.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport { Flex, ProgressBar, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { UpdateFile } from '../../../../shared/contracts/files';\n\nconst BoxWrapper = styled(Flex)`\n border-radius: ${({ theme }) => `${theme.borderRadius} ${theme.borderRadius} 0 0`};\n width: 100%;\n height: 100%;\n\n svg {\n path {\n fill: ${({ theme, error }) => (error ? theme.colors.danger600 : undefined)};\n }\n }\n`;\n\nconst CancelButton = styled.button`\n border: none;\n background: none;\n width: min-content;\n color: ${({ theme }) => theme.colors.neutral600};\n\n &:hover,\n &:focus {\n color: ${({ theme }) => theme.colors.neutral700};\n }\n\n svg {\n height: 10px;\n width: 10px;\n\n path {\n fill: currentColor;\n }\n }\n`;\n\nexport interface UploadProgressProps {\n error?: UpdateFile.Response['error'] | Error | null;\n onCancel: () => void;\n progress?: number;\n}\n\nexport const UploadProgress = ({ onCancel, progress = 0, error }: UploadProgressProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <BoxWrapper alignItems=\"center\" background={error ? 'danger100' : 'neutral150'} error={error}>\n {error ? (\n <Cross aria-label={error?.message} />\n ) : (\n <Flex direction=\"column\" alignItems=\"center\" gap={2} width=\"100%\">\n <ProgressBar value={progress} />\n <Typography>{`${progress}/100%`}</Typography>\n\n <CancelButton type=\"button\" onClick={onCancel}>\n <Flex gap={2}>\n <Typography variant=\"pi\" tag=\"span\" textColor=\"inherit\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Typography>\n\n <Cross aria-hidden />\n </Flex>\n </CancelButton>\n </Flex>\n )}\n </BoxWrapper>\n );\n};\n"],"names":["BoxWrapper","styled","Flex","theme","borderRadius","error","colors","danger600","undefined","CancelButton","button","neutral600","neutral700","UploadProgress","onCancel","progress","formatMessage","useIntl","_jsx","alignItems","background","Cross","aria-label","message","_jsxs","direction","gap","width","ProgressBar","value","Typography","type","onClick","variant","tag","textColor","id","defaultMessage","aria-hidden"],"mappings":";;;;;;AAAA;AAQA,MAAMA,UAAAA,GAAaC,MAAOC,CAAAA,IAAAA,CAAK;AACd,iBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAK,GAAGA,KAAMC,CAAAA,YAAY,CAAC,CAAC,EAAED,KAAMC,CAAAA,YAAY,CAAC,IAAI,CAAC,CAAC;;;;;;AAMxE,YAAA,EAAE,CAAC,EAAED,KAAK,EAAEE,KAAK,EAAE,GAAMA,KAAAA,GAAQF,KAAMG,CAAAA,MAAM,CAACC,SAAS,GAAGC,SAAW,CAAA;;;AAGjF,CAAC;AAED,MAAMC,YAAAA,GAAeR,MAAOS,CAAAA,MAAM;;;;SAIzB,EAAE,CAAC,EAAEP,KAAK,EAAE,GAAKA,KAAMG,CAAAA,MAAM,CAACK,UAAU,CAAC;;;;WAIvC,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAMG,CAAAA,MAAM,CAACM,UAAU,CAAC;;;;;;;;;;;AAWpD,CAAC;AAQM,MAAMC,cAAiB,GAAA,CAAC,EAAEC,QAAQ,EAAEC,QAAW,GAAA,CAAC,EAAEV,KAAK,EAAuB,GAAA;IACnF,MAAM,EAAEW,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,qBACEC,GAAClB,CAAAA,UAAAA,EAAAA;QAAWmB,UAAW,EAAA,QAAA;AAASC,QAAAA,UAAAA,EAAYf,QAAQ,WAAc,GAAA,YAAA;QAAcA,KAAOA,EAAAA,KAAAA;AACpFA,QAAAA,QAAAA,EAAAA,KAAAA,iBACCa,GAACG,CAAAA,KAAAA,EAAAA;AAAMC,YAAAA,YAAAA,EAAYjB,KAAOkB,EAAAA;2BAE1BC,IAACtB,CAAAA,IAAAA,EAAAA;YAAKuB,SAAU,EAAA,QAAA;YAASN,UAAW,EAAA,QAAA;YAASO,GAAK,EAAA,CAAA;YAAGC,KAAM,EAAA,MAAA;;8BACzDT,GAACU,CAAAA,WAAAA,EAAAA;oBAAYC,KAAOd,EAAAA;;8BACpBG,GAACY,CAAAA,UAAAA,EAAAA;8BAAY,CAAGf,EAAAA,QAAAA,CAAS,KAAK;;8BAE9BG,GAACT,CAAAA,YAAAA,EAAAA;oBAAasB,IAAK,EAAA,QAAA;oBAASC,OAASlB,EAAAA,QAAAA;AACnC,oBAAA,QAAA,gBAAAU,IAACtB,CAAAA,IAAAA,EAAAA;wBAAKwB,GAAK,EAAA,CAAA;;0CACTR,GAACY,CAAAA,UAAAA,EAAAA;gCAAWG,OAAQ,EAAA,IAAA;gCAAKC,GAAI,EAAA,MAAA;gCAAOC,SAAU,EAAA,SAAA;0CAC3CnB,aAAc,CAAA;oCACboB,EAAI,EAAA,8BAAA;oCACJC,cAAgB,EAAA;AAClB,iCAAA;;0CAGFnB,GAACG,CAAAA,KAAAA,EAAAA;gCAAMiB,aAAW,EAAA;;;;;;;;AAOhC;;;;"}
|
package/dist/admin/constants.js
CHANGED
|
@@ -4,20 +4,14 @@ require('byte-size');
|
|
|
4
4
|
require('date-fns');
|
|
5
5
|
var getTrad = require('./utils/getTrad.js');
|
|
6
6
|
require('qs');
|
|
7
|
+
require('./utils/typeFromMime.js');
|
|
7
8
|
require('./utils/urlYupSchema.js');
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
(function(AssetType) {
|
|
11
|
-
AssetType["Video"] = "video";
|
|
12
|
-
AssetType["Image"] = "image";
|
|
13
|
-
AssetType["Document"] = "doc";
|
|
14
|
-
AssetType["Audio"] = "audio";
|
|
15
|
-
})(exports.AssetType || (exports.AssetType = {}));
|
|
16
|
-
exports.AssetSource = void 0;
|
|
17
|
-
(function(AssetSource) {
|
|
10
|
+
var AssetSource = /*#__PURE__*/ function(AssetSource) {
|
|
18
11
|
AssetSource["Url"] = "url";
|
|
19
12
|
AssetSource["Computer"] = "computer";
|
|
20
|
-
|
|
13
|
+
return AssetSource;
|
|
14
|
+
}({});
|
|
21
15
|
const PERMISSIONS = {
|
|
22
16
|
// This permission regards the main component (App) and is used to tell
|
|
23
17
|
// If the plugin link should be displayed in the menu
|
|
@@ -196,6 +190,7 @@ const viewOptions = {
|
|
|
196
190
|
LIST: 1
|
|
197
191
|
};
|
|
198
192
|
|
|
193
|
+
exports.AssetSource = AssetSource;
|
|
199
194
|
exports.PERMISSIONS = PERMISSIONS;
|
|
200
195
|
exports.localStorageKeys = localStorageKeys;
|
|
201
196
|
exports.pageSizes = pageSizes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../admin/src/constants.ts"],"sourcesContent":["import { getTrad } from './utils';\n\nexport enum
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../admin/src/constants.ts"],"sourcesContent":["import { getTrad } from './utils';\n\nexport enum AssetSource {\n Url = 'url',\n Computer = 'computer',\n}\n\nexport const PERMISSIONS = {\n // This permission regards the main component (App) and is used to tell\n // If the plugin link should be displayed in the menu\n // And also if the plugin is accessible. This use case is found when a user types the url of the\n // plugin directly in the browser\n main: [\n { action: 'plugin::upload.read', subject: null },\n {\n action: 'plugin::upload.assets.create',\n subject: null,\n },\n {\n action: 'plugin::upload.assets.update',\n subject: null,\n },\n ],\n copyLink: [\n {\n action: 'plugin::upload.assets.copy-link',\n subject: null,\n },\n ],\n create: [\n {\n action: 'plugin::upload.assets.create',\n subject: null,\n },\n ],\n download: [\n {\n action: 'plugin::upload.assets.download',\n subject: null,\n },\n ],\n read: [{ action: 'plugin::upload.read', subject: null }],\n configureView: [{ action: 'plugin::upload.configure-view', subject: null }],\n settings: [{ action: 'plugin::upload.settings.read', subject: null }],\n update: [{ action: 'plugin::upload.assets.update', subject: null, fields: null }],\n};\n\nexport const tableHeaders = [\n {\n name: 'preview',\n key: 'preview',\n metadatas: {\n label: { id: getTrad('list.table.header.preview'), defaultMessage: 'preview' },\n isSortable: false,\n },\n type: 'image',\n },\n {\n name: 'name',\n key: 'name',\n metadatas: {\n label: { id: getTrad('list.table.header.name'), defaultMessage: 'name' },\n isSortable: true,\n },\n type: 'text',\n },\n {\n name: 'ext',\n key: 'extension',\n metadatas: {\n label: { id: getTrad('list.table.header.ext'), defaultMessage: 'extension' },\n isSortable: false,\n },\n type: 'ext',\n },\n {\n name: 'size',\n key: 'size',\n metadatas: {\n label: { id: getTrad('list.table.header.size'), defaultMessage: 'size' },\n isSortable: false,\n },\n type: 'size',\n },\n {\n name: 'createdAt',\n key: 'createdAt',\n metadatas: {\n label: { id: getTrad('list.table.header.createdAt'), defaultMessage: 'created' },\n isSortable: true,\n },\n type: 'date',\n },\n {\n name: 'updatedAt',\n key: 'updatedAt',\n metadatas: {\n label: { id: getTrad('list.table.header.updatedAt'), defaultMessage: 'last update' },\n isSortable: true,\n },\n type: 'date',\n },\n];\n\nexport const sortOptions = [\n { key: 'sort.created_at_desc', value: 'createdAt:DESC' },\n { key: 'sort.created_at_asc', value: 'createdAt:ASC' },\n { key: 'sort.name_asc', value: 'name:ASC' },\n { key: 'sort.name_desc', value: 'name:DESC' },\n { key: 'sort.updated_at_desc', value: 'updatedAt:DESC' },\n { key: 'sort.updated_at_asc', value: 'updatedAt:ASC' },\n];\n\nexport const pageSizes = [10, 20, 50, 100];\n\nexport const localStorageKeys = {\n modalView: `STRAPI_UPLOAD_MODAL_VIEW`,\n view: `STRAPI_UPLOAD_LIBRARY_VIEW`,\n};\n\nexport const viewOptions = {\n GRID: 0,\n LIST: 1,\n};\n"],"names":["AssetSource","PERMISSIONS","main","action","subject","copyLink","create","download","read","configureView","settings","update","fields","tableHeaders","name","key","metadatas","label","id","getTrad","defaultMessage","isSortable","type","sortOptions","value","pageSizes","localStorageKeys","modalView","view","viewOptions","GRID","LIST"],"mappings":"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"}
|
package/dist/admin/constants.mjs
CHANGED
|
@@ -2,20 +2,14 @@ import 'byte-size';
|
|
|
2
2
|
import 'date-fns';
|
|
3
3
|
import { getTrad } from './utils/getTrad.mjs';
|
|
4
4
|
import 'qs';
|
|
5
|
+
import './utils/typeFromMime.mjs';
|
|
5
6
|
import './utils/urlYupSchema.mjs';
|
|
6
7
|
|
|
7
|
-
var
|
|
8
|
-
(function(AssetType) {
|
|
9
|
-
AssetType["Video"] = "video";
|
|
10
|
-
AssetType["Image"] = "image";
|
|
11
|
-
AssetType["Document"] = "doc";
|
|
12
|
-
AssetType["Audio"] = "audio";
|
|
13
|
-
})(AssetType || (AssetType = {}));
|
|
14
|
-
var AssetSource;
|
|
15
|
-
(function(AssetSource) {
|
|
8
|
+
var AssetSource = /*#__PURE__*/ function(AssetSource) {
|
|
16
9
|
AssetSource["Url"] = "url";
|
|
17
10
|
AssetSource["Computer"] = "computer";
|
|
18
|
-
|
|
11
|
+
return AssetSource;
|
|
12
|
+
}({});
|
|
19
13
|
const PERMISSIONS = {
|
|
20
14
|
// This permission regards the main component (App) and is used to tell
|
|
21
15
|
// If the plugin link should be displayed in the menu
|
|
@@ -194,5 +188,5 @@ const viewOptions = {
|
|
|
194
188
|
LIST: 1
|
|
195
189
|
};
|
|
196
190
|
|
|
197
|
-
export { AssetSource,
|
|
191
|
+
export { AssetSource, PERMISSIONS, localStorageKeys, pageSizes, sortOptions, tableHeaders, viewOptions };
|
|
198
192
|
//# sourceMappingURL=constants.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["../../admin/src/constants.ts"],"sourcesContent":["import { getTrad } from './utils';\n\nexport enum
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../admin/src/constants.ts"],"sourcesContent":["import { getTrad } from './utils';\n\nexport enum AssetSource {\n Url = 'url',\n Computer = 'computer',\n}\n\nexport const PERMISSIONS = {\n // This permission regards the main component (App) and is used to tell\n // If the plugin link should be displayed in the menu\n // And also if the plugin is accessible. This use case is found when a user types the url of the\n // plugin directly in the browser\n main: [\n { action: 'plugin::upload.read', subject: null },\n {\n action: 'plugin::upload.assets.create',\n subject: null,\n },\n {\n action: 'plugin::upload.assets.update',\n subject: null,\n },\n ],\n copyLink: [\n {\n action: 'plugin::upload.assets.copy-link',\n subject: null,\n },\n ],\n create: [\n {\n action: 'plugin::upload.assets.create',\n subject: null,\n },\n ],\n download: [\n {\n action: 'plugin::upload.assets.download',\n subject: null,\n },\n ],\n read: [{ action: 'plugin::upload.read', subject: null }],\n configureView: [{ action: 'plugin::upload.configure-view', subject: null }],\n settings: [{ action: 'plugin::upload.settings.read', subject: null }],\n update: [{ action: 'plugin::upload.assets.update', subject: null, fields: null }],\n};\n\nexport const tableHeaders = [\n {\n name: 'preview',\n key: 'preview',\n metadatas: {\n label: { id: getTrad('list.table.header.preview'), defaultMessage: 'preview' },\n isSortable: false,\n },\n type: 'image',\n },\n {\n name: 'name',\n key: 'name',\n metadatas: {\n label: { id: getTrad('list.table.header.name'), defaultMessage: 'name' },\n isSortable: true,\n },\n type: 'text',\n },\n {\n name: 'ext',\n key: 'extension',\n metadatas: {\n label: { id: getTrad('list.table.header.ext'), defaultMessage: 'extension' },\n isSortable: false,\n },\n type: 'ext',\n },\n {\n name: 'size',\n key: 'size',\n metadatas: {\n label: { id: getTrad('list.table.header.size'), defaultMessage: 'size' },\n isSortable: false,\n },\n type: 'size',\n },\n {\n name: 'createdAt',\n key: 'createdAt',\n metadatas: {\n label: { id: getTrad('list.table.header.createdAt'), defaultMessage: 'created' },\n isSortable: true,\n },\n type: 'date',\n },\n {\n name: 'updatedAt',\n key: 'updatedAt',\n metadatas: {\n label: { id: getTrad('list.table.header.updatedAt'), defaultMessage: 'last update' },\n isSortable: true,\n },\n type: 'date',\n },\n];\n\nexport const sortOptions = [\n { key: 'sort.created_at_desc', value: 'createdAt:DESC' },\n { key: 'sort.created_at_asc', value: 'createdAt:ASC' },\n { key: 'sort.name_asc', value: 'name:ASC' },\n { key: 'sort.name_desc', value: 'name:DESC' },\n { key: 'sort.updated_at_desc', value: 'updatedAt:DESC' },\n { key: 'sort.updated_at_asc', value: 'updatedAt:ASC' },\n];\n\nexport const pageSizes = [10, 20, 50, 100];\n\nexport const localStorageKeys = {\n modalView: `STRAPI_UPLOAD_MODAL_VIEW`,\n view: `STRAPI_UPLOAD_LIBRARY_VIEW`,\n};\n\nexport const viewOptions = {\n GRID: 0,\n LIST: 1,\n};\n"],"names":["AssetSource","PERMISSIONS","main","action","subject","copyLink","create","download","read","configureView","settings","update","fields","tableHeaders","name","key","metadatas","label","id","getTrad","defaultMessage","isSortable","type","sortOptions","value","pageSizes","localStorageKeys","modalView","view","viewOptions","GRID","LIST"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var DocType = /*#__PURE__*/ function(DocType) {
|
|
4
|
+
DocType["Pdf"] = "pdf";
|
|
5
|
+
DocType["Csv"] = "csv";
|
|
6
|
+
DocType["Xls"] = "xls";
|
|
7
|
+
DocType["Zip"] = "zip";
|
|
8
|
+
return DocType;
|
|
9
|
+
}({});
|
|
10
|
+
var AssetType = /*#__PURE__*/ function(AssetType) {
|
|
11
|
+
AssetType["Video"] = "video";
|
|
12
|
+
AssetType["Image"] = "image";
|
|
13
|
+
AssetType["Document"] = "doc";
|
|
14
|
+
AssetType["Audio"] = "audio";
|
|
15
|
+
return AssetType;
|
|
16
|
+
}({});
|
|
17
|
+
|
|
18
|
+
exports.AssetType = AssetType;
|
|
19
|
+
exports.DocType = DocType;
|
|
20
|
+
//# sourceMappingURL=enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.js","sources":["../../admin/src/enums.ts"],"sourcesContent":["export enum DocType {\n Pdf = 'pdf',\n Csv = 'csv',\n Xls = 'xls',\n Zip = 'zip',\n}\n\nexport enum AssetType {\n Video = 'video',\n Image = 'image',\n Document = 'doc',\n Audio = 'audio',\n}\n"],"names":["DocType","AssetType"],"mappings":";;AAAO,IAAA,OAAKA,iBAAAA,SAAAA,OAAAA,EAAAA;;;;;AAAAA,IAAAA,OAAAA,OAAAA;AAKX,CAAA,CAAA,EAAA;AAEM,IAAA,SAAKC,iBAAAA,SAAAA,SAAAA,EAAAA;;;;;AAAAA,IAAAA,OAAAA,SAAAA;AAKX,CAAA,CAAA,EAAA;;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var DocType = /*#__PURE__*/ function(DocType) {
|
|
2
|
+
DocType["Pdf"] = "pdf";
|
|
3
|
+
DocType["Csv"] = "csv";
|
|
4
|
+
DocType["Xls"] = "xls";
|
|
5
|
+
DocType["Zip"] = "zip";
|
|
6
|
+
return DocType;
|
|
7
|
+
}({});
|
|
8
|
+
var AssetType = /*#__PURE__*/ function(AssetType) {
|
|
9
|
+
AssetType["Video"] = "video";
|
|
10
|
+
AssetType["Image"] = "image";
|
|
11
|
+
AssetType["Document"] = "doc";
|
|
12
|
+
AssetType["Audio"] = "audio";
|
|
13
|
+
return AssetType;
|
|
14
|
+
}({});
|
|
15
|
+
|
|
16
|
+
export { AssetType, DocType };
|
|
17
|
+
//# sourceMappingURL=enums.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.mjs","sources":["../../admin/src/enums.ts"],"sourcesContent":["export enum DocType {\n Pdf = 'pdf',\n Csv = 'csv',\n Xls = 'xls',\n Zip = 'zip',\n}\n\nexport enum AssetType {\n Video = 'video',\n Image = 'image',\n Document = 'doc',\n Audio = 'audio',\n}\n"],"names":["DocType","AssetType"],"mappings":"AAAO,IAAA,OAAKA,iBAAAA,SAAAA,OAAAA,EAAAA;;;;;AAAAA,IAAAA,OAAAA,OAAAA;AAKX,CAAA,CAAA,EAAA;AAEM,IAAA,SAAKC,iBAAAA,SAAAA,SAAAA,EAAAA;;;;;AAAAA,IAAAA,OAAAA,SAAAA;AAKX,CAAA,CAAA,EAAA;;;;"}
|
|
@@ -9,7 +9,7 @@ require('byte-size');
|
|
|
9
9
|
require('date-fns');
|
|
10
10
|
var getTrad = require('../utils/getTrad.js');
|
|
11
11
|
require('qs');
|
|
12
|
-
require('../
|
|
12
|
+
require('../utils/typeFromMime.js');
|
|
13
13
|
require('../utils/urlYupSchema.js');
|
|
14
14
|
|
|
15
15
|
function _interopNamespaceDefault(e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditAsset.js","sources":["../../../admin/src/hooks/useEditAsset.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useNotification, useFetchClient, FetchClient } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQueryClient } from 'react-query';\n\nimport { UpdateFile, File as FileAsset } from '../../../shared/contracts/files';\nimport { pluginId } from '../pluginId';\nimport { getTrad } from '../utils';\n\nexport type ErrorMutation = {\n message: string;\n response: {\n status: number;\n data: {\n error: Error;\n };\n };\n} | null;\n\nconst editAssetRequest = (\n asset: FileAsset,\n file: File,\n signal: AbortSignal,\n onProgress: (progress: number) => void,\n post: FetchClient['post']\n) => {\n const endpoint = `/${pluginId}?id=${asset.id}`;\n\n const formData = new FormData();\n\n if (file) {\n formData.append('files', file);\n }\n\n formData.append(\n 'fileInfo',\n JSON.stringify({\n alternativeText: asset.alternativeText,\n caption: asset.caption,\n folder: asset.folder,\n name: asset.name,\n })\n );\n\n /**\n * onProgress is not possible using native fetch\n * need to look into an alternative to make it work\n * perhaps using xhr like Axios does\n */\n return post(endpoint, formData, {\n signal,\n }).then((res) => res.data);\n};\n\nexport const useEditAsset = () => {\n const [progress, setProgress] = React.useState(0);\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const queryClient = useQueryClient();\n const abortController = new AbortController();\n const signal = abortController.signal;\n const { post } = useFetchClient();\n\n const mutation = useMutation<\n UpdateFile.Response['data'],\n ErrorMutation,\n { asset: FileAsset; file: File }\n >(({ asset, file }) => editAssetRequest(asset, file, signal, setProgress, post), {\n onSuccess() {\n queryClient.refetchQueries([pluginId, 'assets'], { active: true });\n queryClient.refetchQueries([pluginId, 'asset-count'], { active: true });\n queryClient.refetchQueries([pluginId, 'folders'], { active: true });\n },\n onError(reason) {\n if (reason?.response?.status === 403) {\n toggleNotification({\n type: 'info',\n message: formatMessage({ id: getTrad('permissions.not-allowed.update') }),\n });\n } else {\n toggleNotification({ type: 'danger', message: reason?.message });\n }\n },\n });\n\n const editAsset = (asset: FileAsset, file: File) => mutation.mutateAsync({ asset, file });\n\n const cancel = () => abortController.abort();\n\n return { ...mutation, cancel, editAsset, progress, status: mutation.status };\n};\n"],"names":["editAssetRequest","asset","file","signal","onProgress","post","endpoint","pluginId","id","formData","FormData","append","JSON","stringify","alternativeText","caption","folder","name","then","res","data","useEditAsset","progress","setProgress","React","useState","formatMessage","useIntl","toggleNotification","useNotification","queryClient","useQueryClient","abortController","AbortController","useFetchClient","mutation","useMutation","onSuccess","refetchQueries","active","onError","reason","response","status","type","message","getTrad","editAsset","mutateAsync","cancel","abort"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,MAAMA,gBAAmB,GAAA,CACvBC,KACAC,EAAAA,IAAAA,EACAC,QACAC,UACAC,EAAAA,IAAAA,GAAAA;IAEA,MAAMC,QAAAA,GAAW,CAAC,CAAC,EAAEC,
|
|
1
|
+
{"version":3,"file":"useEditAsset.js","sources":["../../../admin/src/hooks/useEditAsset.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useNotification, useFetchClient, FetchClient } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQueryClient } from 'react-query';\n\nimport { UpdateFile, File as FileAsset } from '../../../shared/contracts/files';\nimport { pluginId } from '../pluginId';\nimport { getTrad } from '../utils';\n\nexport type ErrorMutation = {\n message: string;\n response: {\n status: number;\n data: {\n error: Error;\n };\n };\n} | null;\n\nconst editAssetRequest = (\n asset: FileAsset,\n file: File,\n signal: AbortSignal,\n onProgress: (progress: number) => void,\n post: FetchClient['post']\n) => {\n const endpoint = `/${pluginId}?id=${asset.id}`;\n\n const formData = new FormData();\n\n if (file) {\n formData.append('files', file);\n }\n\n formData.append(\n 'fileInfo',\n JSON.stringify({\n alternativeText: asset.alternativeText,\n caption: asset.caption,\n folder: asset.folder,\n name: asset.name,\n })\n );\n\n /**\n * onProgress is not possible using native fetch\n * need to look into an alternative to make it work\n * perhaps using xhr like Axios does\n */\n return post(endpoint, formData, {\n signal,\n }).then((res) => res.data);\n};\n\nexport const useEditAsset = () => {\n const [progress, setProgress] = React.useState(0);\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const queryClient = useQueryClient();\n const abortController = new AbortController();\n const signal = abortController.signal;\n const { post } = useFetchClient();\n\n const mutation = useMutation<\n UpdateFile.Response['data'],\n ErrorMutation,\n { asset: FileAsset; file: File }\n >(({ asset, file }) => editAssetRequest(asset, file, signal, setProgress, post), {\n onSuccess() {\n queryClient.refetchQueries([pluginId, 'assets'], { active: true });\n queryClient.refetchQueries([pluginId, 'asset-count'], { active: true });\n queryClient.refetchQueries([pluginId, 'folders'], { active: true });\n },\n onError(reason) {\n if (reason?.response?.status === 403) {\n toggleNotification({\n type: 'info',\n message: formatMessage({ id: getTrad('permissions.not-allowed.update') }),\n });\n } else {\n toggleNotification({ type: 'danger', message: reason?.message });\n }\n },\n });\n\n const editAsset = (asset: FileAsset, file: File) => mutation.mutateAsync({ asset, file });\n\n const cancel = () => abortController.abort();\n\n return { ...mutation, cancel, editAsset, progress, status: mutation.status };\n};\n"],"names":["editAssetRequest","asset","file","signal","onProgress","post","endpoint","pluginId","id","formData","FormData","append","JSON","stringify","alternativeText","caption","folder","name","then","res","data","useEditAsset","progress","setProgress","React","useState","formatMessage","useIntl","toggleNotification","useNotification","queryClient","useQueryClient","abortController","AbortController","useFetchClient","mutation","useMutation","onSuccess","refetchQueries","active","onError","reason","response","status","type","message","getTrad","editAsset","mutateAsync","cancel","abort"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import 'byte-size';
|
|
|
7
7
|
import 'date-fns';
|
|
8
8
|
import { getTrad } from '../utils/getTrad.mjs';
|
|
9
9
|
import 'qs';
|
|
10
|
-
import '../
|
|
10
|
+
import '../utils/typeFromMime.mjs';
|
|
11
11
|
import '../utils/urlYupSchema.mjs';
|
|
12
12
|
|
|
13
13
|
const editAssetRequest = (asset, file, signal, onProgress, post)=>{
|