@strapi/upload 5.49.0 → 5.50.1
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 +10 -10
- package/dist/admin/ai/components/AIAssetCard.js.map +1 -1
- package/dist/admin/ai/components/AIAssetCard.mjs +11 -11
- package/dist/admin/ai/components/AIAssetCard.mjs.map +1 -1
- package/dist/admin/ai/components/AIUploadModal.js +0 -1
- package/dist/admin/ai/components/AIUploadModal.js.map +1 -1
- package/dist/admin/ai/components/AIUploadModal.mjs +0 -1
- package/dist/admin/ai/components/AIUploadModal.mjs.map +1 -1
- package/dist/admin/components/AssetCard/AssetCard.js +3 -4
- package/dist/admin/components/AssetCard/AssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/AssetCard.mjs +4 -5
- package/dist/admin/components/AssetCard/AssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/AssetCardBase.js +0 -1
- package/dist/admin/components/AssetCard/AssetCardBase.js.map +1 -1
- package/dist/admin/components/AssetCard/AssetCardBase.mjs +0 -1
- package/dist/admin/components/AssetCard/AssetCardBase.mjs.map +1 -1
- package/dist/admin/components/AssetCard/ImageAssetCard.js +0 -1
- package/dist/admin/components/AssetCard/ImageAssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/ImageAssetCard.mjs +0 -1
- package/dist/admin/components/AssetCard/ImageAssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/UploadingAssetCard.js +3 -4
- package/dist/admin/components/AssetCard/UploadingAssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/UploadingAssetCard.mjs +4 -5
- package/dist/admin/components/AssetCard/UploadingAssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/VideoAssetCard.js +0 -1
- package/dist/admin/components/AssetCard/VideoAssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/VideoAssetCard.mjs +0 -1
- package/dist/admin/components/AssetCard/VideoAssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/AssetDialog.js +0 -1
- package/dist/admin/components/AssetDialog/AssetDialog.js.map +1 -1
- package/dist/admin/components/AssetDialog/AssetDialog.mjs +0 -1
- package/dist/admin/components/AssetDialog/AssetDialog.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js +0 -1
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs +0 -1
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.js +0 -1
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.js.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs +0 -1
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js +0 -1
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs +0 -1
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js +0 -1
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js.map +1 -1
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs +0 -1
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +1 -1
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.js +0 -1
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.js.map +1 -1
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs +0 -1
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +1 -1
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js +0 -1
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js.map +1 -1
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs +0 -1
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs.map +1 -1
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.js +0 -1
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.js.map +1 -1
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs +0 -1
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/EditAssetContent.js +0 -1
- package/dist/admin/components/EditAssetDialog/EditAssetContent.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs +0 -1
- package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js +3 -3
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +4 -4
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js +0 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs +0 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.js +0 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs +0 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js +2 -3
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +3 -4
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js +0 -1
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs +0 -1
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs.map +1 -1
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.js +0 -1
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.js.map +1 -1
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs +0 -1
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs.map +1 -1
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js +0 -1
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +1 -1
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs +0 -1
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js +3 -4
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +4 -5
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js +0 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs +0 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js +2 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs +2 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +1 -2
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +2 -3
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js +2 -2
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs +2 -2
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -1
- package/dist/admin/components/SortPicker/SortPicker.js +0 -1
- package/dist/admin/components/SortPicker/SortPicker.js.map +1 -1
- package/dist/admin/components/SortPicker/SortPicker.mjs +0 -1
- package/dist/admin/components/SortPicker/SortPicker.mjs.map +1 -1
- package/dist/admin/components/TableList/CellContent.js +0 -1
- package/dist/admin/components/TableList/CellContent.js.map +1 -1
- package/dist/admin/components/TableList/CellContent.mjs +0 -1
- package/dist/admin/components/TableList/CellContent.mjs.map +1 -1
- package/dist/admin/components/TableList/PreviewCell.js +3 -4
- package/dist/admin/components/TableList/PreviewCell.js.map +1 -1
- package/dist/admin/components/TableList/PreviewCell.mjs +4 -5
- package/dist/admin/components/TableList/PreviewCell.mjs.map +1 -1
- package/dist/admin/components/TableList/TableList.js +0 -1
- package/dist/admin/components/TableList/TableList.js.map +1 -1
- package/dist/admin/components/TableList/TableList.mjs +0 -1
- package/dist/admin/components/TableList/TableList.mjs.map +1 -1
- package/dist/admin/components/TableList/TableRows.js +0 -1
- package/dist/admin/components/TableList/TableRows.js.map +1 -1
- package/dist/admin/components/TableList/TableRows.mjs +0 -1
- package/dist/admin/components/TableList/TableRows.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js +0 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs +0 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +2 -3
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +3 -4
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js +0 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs +0 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js +0 -1
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js.map +1 -1
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs +0 -1
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +1 -1
- package/dist/admin/constants.js +4 -7
- package/dist/admin/constants.js.map +1 -1
- package/dist/admin/constants.mjs +4 -7
- package/dist/admin/constants.mjs.map +1 -1
- package/dist/admin/enums.js +14 -16
- package/dist/admin/enums.js.map +1 -1
- package/dist/admin/enums.mjs +13 -15
- package/dist/admin/enums.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/AssetsPage.js +125 -122
- package/dist/admin/future/pages/Assets/AssetsPage.js.map +1 -1
- package/dist/admin/future/pages/Assets/AssetsPage.mjs +125 -122
- package/dist/admin/future/pages/Assets/AssetsPage.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.js +700 -0
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.mjs +678 -0
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js +134 -17
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs +137 -20
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js +27 -5
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs +27 -5
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetDetails/useCropImg.js +211 -0
- package/dist/admin/future/pages/Assets/components/AssetDetails/useCropImg.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/AssetDetails/useCropImg.mjs +188 -0
- package/dist/admin/future/pages/Assets/components/AssetDetails/useCropImg.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/AssetsGrid.js +50 -5
- package/dist/admin/future/pages/Assets/components/AssetsGrid.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs +51 -6
- package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetsTable.js +43 -4
- package/dist/admin/future/pages/Assets/components/AssetsTable.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetsTable.mjs +44 -5
- package/dist/admin/future/pages/Assets/components/AssetsTable.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.js +195 -0
- package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.mjs +192 -0
- package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.js +37 -0
- package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.mjs +35 -0
- package/dist/admin/future/pages/Assets/components/Dnd/DragOverlayChip.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/Dnd/dndIds.js +18 -0
- package/dist/admin/future/pages/Assets/components/Dnd/dndIds.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/Dnd/dndIds.mjs +13 -0
- package/dist/admin/future/pages/Assets/components/Dnd/dndIds.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/Dnd/useAssetDnd.js +97 -0
- package/dist/admin/future/pages/Assets/components/Dnd/useAssetDnd.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/Dnd/useAssetDnd.mjs +94 -0
- package/dist/admin/future/pages/Assets/components/Dnd/useAssetDnd.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.js +13 -4
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.mjs +13 -4
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.js +6 -3
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.mjs +6 -3
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.mjs.map +1 -1
- package/dist/admin/future/services/api.js +37 -1
- package/dist/admin/future/services/api.js.map +1 -1
- package/dist/admin/future/services/api.mjs +37 -2
- package/dist/admin/future/services/api.mjs.map +1 -1
- package/dist/admin/future/services/folders.js +36 -5
- package/dist/admin/future/services/folders.js.map +1 -1
- package/dist/admin/future/services/folders.mjs +36 -6
- package/dist/admin/future/services/folders.mjs.map +1 -1
- package/dist/admin/future/utils/buildBulkMovePayload.js +20 -0
- package/dist/admin/future/utils/buildBulkMovePayload.js.map +1 -0
- package/dist/admin/future/utils/buildBulkMovePayload.mjs +18 -0
- package/dist/admin/future/utils/buildBulkMovePayload.mjs.map +1 -0
- package/dist/admin/future/utils/canDropItemOnFolder.js +64 -0
- package/dist/admin/future/utils/canDropItemOnFolder.js.map +1 -0
- package/dist/admin/future/utils/canDropItemOnFolder.mjs +61 -0
- package/dist/admin/future/utils/canDropItemOnFolder.mjs.map +1 -0
- package/dist/admin/future/utils/getAssetIcon.js +4 -4
- package/dist/admin/future/utils/getAssetIcon.js.map +1 -1
- package/dist/admin/future/utils/getAssetIcon.mjs +4 -4
- package/dist/admin/future/utils/getAssetIcon.mjs.map +1 -1
- package/dist/admin/future/utils/getBulkMoveErrorMessage.js +23 -0
- package/dist/admin/future/utils/getBulkMoveErrorMessage.js.map +1 -0
- package/dist/admin/future/utils/getBulkMoveErrorMessage.mjs +21 -0
- package/dist/admin/future/utils/getBulkMoveErrorMessage.mjs.map +1 -0
- package/dist/admin/hooks/useAIMetadataJob.js +0 -1
- package/dist/admin/hooks/useAIMetadataJob.js.map +1 -1
- package/dist/admin/hooks/useAIMetadataJob.mjs +0 -1
- package/dist/admin/hooks/useAIMetadataJob.mjs.map +1 -1
- package/dist/admin/hooks/useAssets.js.map +1 -1
- package/dist/admin/hooks/useAssets.mjs.map +1 -1
- package/dist/admin/hooks/useBulkEdit.js +0 -1
- package/dist/admin/hooks/useBulkEdit.js.map +1 -1
- package/dist/admin/hooks/useBulkEdit.mjs +0 -1
- package/dist/admin/hooks/useBulkEdit.mjs.map +1 -1
- package/dist/admin/hooks/useBulkMove.js +0 -1
- package/dist/admin/hooks/useBulkMove.js.map +1 -1
- package/dist/admin/hooks/useBulkMove.mjs +0 -1
- package/dist/admin/hooks/useBulkMove.mjs.map +1 -1
- package/dist/admin/hooks/useBulkRemove.js +0 -1
- package/dist/admin/hooks/useBulkRemove.js.map +1 -1
- package/dist/admin/hooks/useBulkRemove.mjs +0 -1
- package/dist/admin/hooks/useBulkRemove.mjs.map +1 -1
- package/dist/admin/hooks/useEditAsset.js +0 -1
- package/dist/admin/hooks/useEditAsset.js.map +1 -1
- package/dist/admin/hooks/useEditAsset.mjs +0 -1
- package/dist/admin/hooks/useEditAsset.mjs.map +1 -1
- package/dist/admin/hooks/useEditFolder.js +4 -3
- package/dist/admin/hooks/useEditFolder.js.map +1 -1
- package/dist/admin/hooks/useEditFolder.mjs +4 -3
- package/dist/admin/hooks/useEditFolder.mjs.map +1 -1
- package/dist/admin/hooks/useFolder.js +0 -1
- package/dist/admin/hooks/useFolder.js.map +1 -1
- package/dist/admin/hooks/useFolder.mjs +0 -1
- package/dist/admin/hooks/useFolder.mjs.map +1 -1
- package/dist/admin/hooks/useFolderStructure.js +0 -1
- package/dist/admin/hooks/useFolderStructure.js.map +1 -1
- package/dist/admin/hooks/useFolderStructure.mjs +0 -1
- package/dist/admin/hooks/useFolderStructure.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 +0 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +0 -1
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/pages/App/App.js +0 -1
- package/dist/admin/pages/App/App.js.map +1 -1
- package/dist/admin/pages/App/App.mjs +0 -1
- package/dist/admin/pages/App/App.mjs.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js +0 -1
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs +0 -1
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.js +0 -1
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.js.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs +0 -1
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs.map +1 -1
- package/dist/admin/pages/App/MediaLibrary.js +0 -1
- package/dist/admin/pages/App/MediaLibrary.js.map +1 -1
- package/dist/admin/pages/App/MediaLibrary.mjs +0 -1
- package/dist/admin/pages/App/MediaLibrary.mjs.map +1 -1
- package/dist/admin/pages/App/components/BulkActions.js +0 -1
- package/dist/admin/pages/App/components/BulkActions.js.map +1 -1
- package/dist/admin/pages/App/components/BulkActions.mjs +0 -1
- package/dist/admin/pages/App/components/BulkActions.mjs.map +1 -1
- package/dist/admin/pages/App/components/EmptyOrNoPermissions.js +0 -1
- package/dist/admin/pages/App/components/EmptyOrNoPermissions.js.map +1 -1
- package/dist/admin/pages/App/components/EmptyOrNoPermissions.mjs +0 -1
- package/dist/admin/pages/App/components/EmptyOrNoPermissions.mjs.map +1 -1
- package/dist/admin/pages/App/components/Filters.js +0 -1
- package/dist/admin/pages/App/components/Filters.js.map +1 -1
- package/dist/admin/pages/App/components/Filters.mjs +0 -1
- package/dist/admin/pages/App/components/Filters.mjs.map +1 -1
- package/dist/admin/pages/App/components/Header.js +0 -1
- package/dist/admin/pages/App/components/Header.js.map +1 -1
- package/dist/admin/pages/App/components/Header.mjs +0 -1
- package/dist/admin/pages/App/components/Header.mjs.map +1 -1
- package/dist/admin/pages/SettingsPage/SettingsPage.js +1 -2
- package/dist/admin/pages/SettingsPage/SettingsPage.js.map +1 -1
- package/dist/admin/pages/SettingsPage/SettingsPage.mjs +1 -2
- package/dist/admin/pages/SettingsPage/SettingsPage.mjs.map +1 -1
- package/dist/admin/src/components/EditAssetDialog/PreviewBox/PreviewComponents.d.ts +11 -12
- package/dist/admin/src/components/EmptyAssets/EmptyAssets.d.ts +0 -1
- package/dist/admin/src/components/FolderCard/contexts/FolderCard.d.ts +2 -3
- package/dist/admin/src/constants.d.ts +5 -4
- package/dist/admin/src/enums.d.ts +14 -12
- package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetCropEditor.d.ts +10 -0
- package/dist/admin/src/future/pages/Assets/components/AssetDetails/useCropImg.d.ts +48 -0
- package/dist/admin/src/future/pages/Assets/components/Dnd/AssetsDndProvider.d.ts +12 -0
- package/dist/admin/src/future/pages/Assets/components/Dnd/DragOverlayChip.d.ts +6 -0
- package/dist/admin/src/future/pages/Assets/components/Dnd/dndIds.d.ts +4 -0
- package/dist/admin/src/future/pages/Assets/components/Dnd/useAssetDnd.d.ts +51 -0
- package/dist/admin/src/future/services/api.d.ts +24 -6
- package/dist/admin/src/future/services/assets.d.ts +1 -1
- package/dist/admin/src/future/services/folders.d.ts +12 -2
- package/dist/admin/src/future/services/settings.d.ts +1 -1
- package/dist/admin/src/future/store/uploadProgress.d.ts +1 -1
- package/dist/admin/src/future/types/dnd.d.ts +22 -0
- package/dist/admin/src/future/utils/buildBulkMovePayload.d.ts +2 -0
- package/dist/admin/src/future/utils/canDropItemOnFolder.d.ts +9 -0
- package/dist/admin/src/future/utils/getBulkMoveErrorMessage.d.ts +1 -0
- package/dist/admin/src/hooks/useAIMetadataJob.d.ts +1 -1
- package/dist/admin/src/hooks/useBulkEdit.d.ts +14 -14
- package/dist/admin/src/hooks/useBulkMove.d.ts +146 -15
- package/dist/admin/src/hooks/useBulkRemove.d.ts +186 -15
- package/dist/admin/src/hooks/useCropImg.d.ts +2 -2
- package/dist/admin/src/hooks/useEditFolder.d.ts +7 -6
- package/dist/admin/src/hooks/useModalQueryParams.d.ts +5 -5
- package/dist/admin/src/hooks/usePersistentState.d.ts +0 -1
- package/dist/admin/src/hooks/useSettings.d.ts +5 -5
- package/dist/admin/src/hooks/useTracking.d.ts +1 -1
- package/dist/admin/src/pages/App/ConfigureTheView/state/actions.d.ts +1 -1
- package/dist/admin/src/pages/App/ConfigureTheView/state/init.d.ts +1 -1
- package/dist/admin/src/utils/getBreadcrumbDataML.d.ts +1 -1
- package/dist/admin/src/utils/getFolderParents.d.ts +3 -3
- package/dist/admin/src/utils/icons.d.ts +2 -1
- package/dist/admin/src/utils/rawFileToAsset.d.ts +1 -1
- package/dist/admin/src/utils/urlsToAssets.d.ts +2 -10
- package/dist/admin/translations/en.json.js +28 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +28 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/ja.json.js +175 -0
- package/dist/admin/translations/ja.json.js.map +1 -1
- package/dist/admin/translations/ja.json.mjs +175 -0
- package/dist/admin/translations/ja.json.mjs.map +1 -1
- package/dist/admin/translations/pl.json.js +54 -29
- package/dist/admin/translations/pl.json.js.map +1 -1
- package/dist/admin/translations/pl.json.mjs +54 -29
- package/dist/admin/translations/pl.json.mjs.map +1 -1
- package/dist/admin/utils/icons.js +5 -5
- package/dist/admin/utils/icons.js.map +1 -1
- package/dist/admin/utils/icons.mjs +6 -6
- package/dist/admin/utils/icons.mjs.map +1 -1
- package/dist/admin/utils/typeFromMime.js +9 -9
- package/dist/admin/utils/typeFromMime.js.map +1 -1
- package/dist/admin/utils/typeFromMime.mjs +10 -10
- package/dist/admin/utils/typeFromMime.mjs.map +1 -1
- package/dist/admin/utils/urlsToAssets.js +1 -2
- package/dist/admin/utils/urlsToAssets.js.map +1 -1
- package/dist/admin/utils/urlsToAssets.mjs +1 -2
- package/dist/admin/utils/urlsToAssets.mjs.map +1 -1
- package/dist/server/controllers/admin-upload.js +3 -2
- package/dist/server/controllers/admin-upload.js.map +1 -1
- package/dist/server/controllers/admin-upload.mjs +3 -2
- package/dist/server/controllers/admin-upload.mjs.map +1 -1
- package/dist/server/controllers/content-api.js +6 -5
- package/dist/server/controllers/content-api.js.map +1 -1
- package/dist/server/controllers/content-api.mjs +6 -5
- package/dist/server/controllers/content-api.mjs.map +1 -1
- package/dist/server/src/controllers/admin-file.d.ts +4 -12
- package/dist/server/src/controllers/admin-file.d.ts.map +1 -1
- package/dist/server/src/controllers/admin-folder.d.ts +2 -2
- package/dist/server/src/controllers/admin-settings.d.ts +2 -2
- package/dist/server/src/controllers/admin-upload.d.ts +3 -3
- package/dist/server/src/controllers/admin-upload.d.ts.map +1 -1
- package/dist/server/src/controllers/content-api.d.ts +2 -2
- package/dist/server/src/controllers/content-api.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +14 -23
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/utils/find-entity-and-check-permissions.d.ts.map +1 -1
- package/dist/server/src/controllers/utils/folders.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/admin/configureView.d.ts +1 -1
- package/dist/server/src/controllers/validation/admin/folder-file.d.ts +1 -1
- package/dist/server/src/controllers/validation/admin/folder-file.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/admin/folder.d.ts +2 -2
- package/dist/server/src/controllers/validation/admin/folder.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/admin/settings.d.ts +1 -1
- package/dist/server/src/controllers/validation/admin/upload.d.ts +1 -1
- package/dist/server/src/controllers/validation/admin/upload.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/admin/utils.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/content-api/upload.d.ts.map +1 -1
- package/dist/server/src/controllers/view-configuration.d.ts +1 -1
- package/dist/server/src/graphql.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +36 -53
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/middlewares/upload.d.ts.map +1 -1
- package/dist/server/src/services/ai-metadata-jobs.d.ts +1 -1
- package/dist/server/src/services/ai-metadata-jobs.d.ts.map +1 -1
- package/dist/server/src/services/ai-metadata.d.ts.map +1 -1
- package/dist/server/src/services/extensions/utils.d.ts.map +1 -1
- package/dist/server/src/services/file.d.ts +2 -2
- package/dist/server/src/services/file.d.ts.map +1 -1
- package/dist/server/src/services/folder.d.ts +1 -1
- package/dist/server/src/services/folder.d.ts.map +1 -1
- package/dist/server/src/services/image-manipulation.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +22 -30
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/metrics.d.ts.map +1 -1
- package/dist/server/src/services/provider.d.ts.map +1 -1
- package/dist/server/src/services/upload.d.ts +1 -1
- package/dist/server/src/services/upload.d.ts.map +1 -1
- package/dist/server/src/services/weekly-metrics.d.ts.map +1 -1
- package/dist/server/src/types.d.ts +4 -3
- package/dist/server/src/types.d.ts.map +1 -1
- package/dist/server/src/utils/cron.d.ts.map +1 -1
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/dist/server/src/utils/mime-validation.d.ts.map +1 -1
- package/dist/server/utils/mime-validation.js +3 -1
- package/dist/server/utils/mime-validation.js.map +1 -1
- package/dist/server/utils/mime-validation.mjs +3 -1
- package/dist/server/utils/mime-validation.mjs.map +1 -1
- package/package.json +11 -10
- package/dist/admin/future/enums.js +0 -12
- package/dist/admin/future/enums.js.map +0 -1
- package/dist/admin/future/enums.mjs +0 -10
- package/dist/admin/future/enums.mjs.map +0 -1
- package/dist/admin/src/future/enums.d.ts +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditAsset.mjs","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 focalPoint: asset.focalPoint,\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","focalPoint","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":"
|
|
1
|
+
{"version":3,"file":"useEditAsset.mjs","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): Promise<UpdateFile.Response['data']> => {\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 focalPoint: asset.focalPoint,\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<UpdateFile.Response['data'], UpdateFile.Request['body']>(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","focalPoint","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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"}
|
|
@@ -5,9 +5,10 @@ var reactQuery = require('react-query');
|
|
|
5
5
|
var pluginId = require('../pluginId.js');
|
|
6
6
|
|
|
7
7
|
const editFolderRequest = (put, post, { attrs, id })=>{
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
if (id !== undefined) {
|
|
9
|
+
return put(`/upload/folders/${id}`, attrs).then((res)=>res.data);
|
|
10
|
+
}
|
|
11
|
+
return post('/upload/folders/', attrs).then((res)=>res.data);
|
|
11
12
|
};
|
|
12
13
|
const useEditFolder = ()=>{
|
|
13
14
|
const queryClient = reactQuery.useQueryClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditFolder.js","sources":["../../../admin/src/hooks/useEditFolder.ts"],"sourcesContent":["import { useFetchClient, FetchClient } from '@strapi/admin/strapi-admin';\nimport { useMutation, useQueryClient } from 'react-query';\n\nimport { CreateFolders, UpdateFolder } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\n\
|
|
1
|
+
{"version":3,"file":"useEditFolder.js","sources":["../../../admin/src/hooks/useEditFolder.ts"],"sourcesContent":["import { useFetchClient, FetchClient } from '@strapi/admin/strapi-admin';\nimport { useMutation, useQueryClient } from 'react-query';\n\nimport { CreateFolders, UpdateFolder } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\n\ntype EditFolderRequestBody = UpdateFolder.Request['body'];\n\ninterface EditFolderRequestParams {\n attrs: EditFolderRequestBody;\n id?: UpdateFolder.Request['params']['id'];\n}\n\nconst editFolderRequest = (\n put: FetchClient['put'],\n post: FetchClient['post'],\n { attrs, id }: EditFolderRequestParams\n): Promise<UpdateFolder.Response['data'] | CreateFolders.Response['data']> => {\n if (id !== undefined) {\n return put<UpdateFolder.Response['data'], UpdateFolder.Request['body']>(\n `/upload/folders/${id}`,\n attrs\n ).then((res) => res.data);\n }\n\n return post<CreateFolders.Response['data'], EditFolderRequestBody>(\n '/upload/folders/',\n attrs\n ).then((res) => res.data);\n};\n\nexport const useEditFolder = () => {\n const queryClient = useQueryClient();\n const { put, post } = useFetchClient();\n\n const mutation = useMutation<\n UpdateFolder.Response['data'] | CreateFolders.Response['data'],\n UpdateFolder.Response['error'] | CreateFolders.Response['error'],\n EditFolderRequestParams\n >((...args) => editFolderRequest(put, post, ...args), {\n async onSuccess() {\n await queryClient.refetchQueries([pluginId, 'folders'], { active: true });\n await queryClient.refetchQueries([pluginId, 'folder', 'structure'], { active: true });\n },\n });\n\n const editFolder = (\n attrs: EditFolderRequestParams['attrs'],\n id?: EditFolderRequestParams['id']\n ) => mutation.mutateAsync({ attrs, id });\n\n return { ...mutation, editFolder, status: mutation.status };\n};\n"],"names":["editFolderRequest","put","post","attrs","id","undefined","then","res","data","useEditFolder","queryClient","useQueryClient","useFetchClient","mutation","useMutation","args","onSuccess","refetchQueries","pluginId","active","editFolder","mutateAsync","status"],"mappings":";;;;;;AAaA,MAAMA,iBAAAA,GAAoB,CACxBC,GAAAA,EACAC,IAAAA,EACA,EAAEC,KAAK,EAAEC,EAAE,EAA2B,GAAA;AAEtC,IAAA,IAAIA,OAAOC,SAAAA,EAAW;AACpB,QAAA,OAAOJ,GAAAA,CACL,CAAC,gBAAgB,EAAEG,EAAAA,CAAAA,CAAI,EACvBD,KAAAA,CAAAA,CACAG,IAAI,CAAC,CAACC,GAAAA,GAAQA,GAAAA,CAAIC,IAAI,CAAA;AAC1B,IAAA;IAEA,OAAON,IAAAA,CACL,oBACAC,KAAAA,CAAAA,CACAG,IAAI,CAAC,CAACC,GAAAA,GAAQA,IAAIC,IAAI,CAAA;AAC1B,CAAA;MAEaC,aAAAA,GAAgB,IAAA;AAC3B,IAAA,MAAMC,WAAAA,GAAcC,yBAAAA,EAAAA;AACpB,IAAA,MAAM,EAAEV,GAAG,EAAEC,IAAI,EAAE,GAAGU,0BAAAA,EAAAA;IAEtB,MAAMC,QAAAA,GAAWC,uBAIf,CAAC,GAAGC,OAASf,iBAAAA,CAAkBC,GAAAA,EAAKC,SAASa,IAAAA,CAAAA,EAAO;QACpD,MAAMC,SAAAA,CAAAA,GAAAA;YACJ,MAAMN,WAAAA,CAAYO,cAAc,CAAC;AAACC,gBAAAA,iBAAAA;AAAU,gBAAA;aAAU,EAAE;gBAAEC,MAAAA,EAAQ;AAAK,aAAA,CAAA;YACvE,MAAMT,WAAAA,CAAYO,cAAc,CAAC;AAACC,gBAAAA,iBAAAA;AAAU,gBAAA,QAAA;AAAU,gBAAA;aAAY,EAAE;gBAAEC,MAAAA,EAAQ;AAAK,aAAA,CAAA;AACrF,QAAA;AACF,KAAA,CAAA;AAEA,IAAA,MAAMC,aAAa,CACjBjB,KAAAA,EACAC,EAAAA,GACGS,QAAAA,CAASQ,WAAW,CAAC;AAAElB,YAAAA,KAAAA;AAAOC,YAAAA;AAAG,SAAA,CAAA;IAEtC,OAAO;AAAE,QAAA,GAAGS,QAAQ;AAAEO,QAAAA,UAAAA;AAAYE,QAAAA,MAAAA,EAAQT,SAASS;AAAO,KAAA;AAC5D;;;;"}
|
|
@@ -3,9 +3,10 @@ import { useQueryClient, useMutation } from 'react-query';
|
|
|
3
3
|
import { pluginId } from '../pluginId.mjs';
|
|
4
4
|
|
|
5
5
|
const editFolderRequest = (put, post, { attrs, id })=>{
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
if (id !== undefined) {
|
|
7
|
+
return put(`/upload/folders/${id}`, attrs).then((res)=>res.data);
|
|
8
|
+
}
|
|
9
|
+
return post('/upload/folders/', attrs).then((res)=>res.data);
|
|
9
10
|
};
|
|
10
11
|
const useEditFolder = ()=>{
|
|
11
12
|
const queryClient = useQueryClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditFolder.mjs","sources":["../../../admin/src/hooks/useEditFolder.ts"],"sourcesContent":["import { useFetchClient, FetchClient } from '@strapi/admin/strapi-admin';\nimport { useMutation, useQueryClient } from 'react-query';\n\nimport { CreateFolders, UpdateFolder } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\n\
|
|
1
|
+
{"version":3,"file":"useEditFolder.mjs","sources":["../../../admin/src/hooks/useEditFolder.ts"],"sourcesContent":["import { useFetchClient, FetchClient } from '@strapi/admin/strapi-admin';\nimport { useMutation, useQueryClient } from 'react-query';\n\nimport { CreateFolders, UpdateFolder } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\n\ntype EditFolderRequestBody = UpdateFolder.Request['body'];\n\ninterface EditFolderRequestParams {\n attrs: EditFolderRequestBody;\n id?: UpdateFolder.Request['params']['id'];\n}\n\nconst editFolderRequest = (\n put: FetchClient['put'],\n post: FetchClient['post'],\n { attrs, id }: EditFolderRequestParams\n): Promise<UpdateFolder.Response['data'] | CreateFolders.Response['data']> => {\n if (id !== undefined) {\n return put<UpdateFolder.Response['data'], UpdateFolder.Request['body']>(\n `/upload/folders/${id}`,\n attrs\n ).then((res) => res.data);\n }\n\n return post<CreateFolders.Response['data'], EditFolderRequestBody>(\n '/upload/folders/',\n attrs\n ).then((res) => res.data);\n};\n\nexport const useEditFolder = () => {\n const queryClient = useQueryClient();\n const { put, post } = useFetchClient();\n\n const mutation = useMutation<\n UpdateFolder.Response['data'] | CreateFolders.Response['data'],\n UpdateFolder.Response['error'] | CreateFolders.Response['error'],\n EditFolderRequestParams\n >((...args) => editFolderRequest(put, post, ...args), {\n async onSuccess() {\n await queryClient.refetchQueries([pluginId, 'folders'], { active: true });\n await queryClient.refetchQueries([pluginId, 'folder', 'structure'], { active: true });\n },\n });\n\n const editFolder = (\n attrs: EditFolderRequestParams['attrs'],\n id?: EditFolderRequestParams['id']\n ) => mutation.mutateAsync({ attrs, id });\n\n return { ...mutation, editFolder, status: mutation.status };\n};\n"],"names":["editFolderRequest","put","post","attrs","id","undefined","then","res","data","useEditFolder","queryClient","useQueryClient","useFetchClient","mutation","useMutation","args","onSuccess","refetchQueries","pluginId","active","editFolder","mutateAsync","status"],"mappings":";;;;AAaA,MAAMA,iBAAAA,GAAoB,CACxBC,GAAAA,EACAC,IAAAA,EACA,EAAEC,KAAK,EAAEC,EAAE,EAA2B,GAAA;AAEtC,IAAA,IAAIA,OAAOC,SAAAA,EAAW;AACpB,QAAA,OAAOJ,GAAAA,CACL,CAAC,gBAAgB,EAAEG,EAAAA,CAAAA,CAAI,EACvBD,KAAAA,CAAAA,CACAG,IAAI,CAAC,CAACC,GAAAA,GAAQA,GAAAA,CAAIC,IAAI,CAAA;AAC1B,IAAA;IAEA,OAAON,IAAAA,CACL,oBACAC,KAAAA,CAAAA,CACAG,IAAI,CAAC,CAACC,GAAAA,GAAQA,IAAIC,IAAI,CAAA;AAC1B,CAAA;MAEaC,aAAAA,GAAgB,IAAA;AAC3B,IAAA,MAAMC,WAAAA,GAAcC,cAAAA,EAAAA;AACpB,IAAA,MAAM,EAAEV,GAAG,EAAEC,IAAI,EAAE,GAAGU,cAAAA,EAAAA;IAEtB,MAAMC,QAAAA,GAAWC,YAIf,CAAC,GAAGC,OAASf,iBAAAA,CAAkBC,GAAAA,EAAKC,SAASa,IAAAA,CAAAA,EAAO;QACpD,MAAMC,SAAAA,CAAAA,GAAAA;YACJ,MAAMN,WAAAA,CAAYO,cAAc,CAAC;AAACC,gBAAAA,QAAAA;AAAU,gBAAA;aAAU,EAAE;gBAAEC,MAAAA,EAAQ;AAAK,aAAA,CAAA;YACvE,MAAMT,WAAAA,CAAYO,cAAc,CAAC;AAACC,gBAAAA,QAAAA;AAAU,gBAAA,QAAA;AAAU,gBAAA;aAAY,EAAE;gBAAEC,MAAAA,EAAQ;AAAK,aAAA,CAAA;AACrF,QAAA;AACF,KAAA,CAAA;AAEA,IAAA,MAAMC,aAAa,CACjBjB,KAAAA,EACAC,EAAAA,GACGS,QAAAA,CAASQ,WAAW,CAAC;AAAElB,YAAAA,KAAAA;AAAOC,YAAAA;AAAG,SAAA,CAAA;IAEtC,OAAO;AAAE,QAAA,GAAGS,QAAQ;AAAEO,QAAAA,UAAAA;AAAYE,QAAAA,MAAAA,EAAQT,SAASS;AAAO,KAAA;AAC5D;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFolder.js","sources":["../../../admin/src/hooks/useFolder.ts"],"sourcesContent":["import { useNotification, useFetchClient } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useQuery } from 'react-query';\n\nimport { GetFolder } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\nimport { getTrad } from '../utils';\n\nexport const useFolder = (id: number | null | undefined, { enabled = true } = {}) => {\n const { toggleNotification } = useNotification();\n const { get } = useFetchClient();\n const { formatMessage } = useIntl();\n\n const { data, error, isLoading } = useQuery<\n GetFolder.Response['data'],\n GetFolder.Response['error']\n >(\n [pluginId, 'folder', id],\n async () => {\n const {\n data: { data },\n } = await get(`/upload/folders/${id}`, {\n params: {\n populate: {\n parent: {\n populate: {\n parent: '*',\n },\n },\n },\n },\n });\n\n return data;\n },\n {\n retry: false,\n enabled,\n staleTime: 0,\n cacheTime: 0,\n onError() {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTrad('notification.warning.404'),\n defaultMessage: 'Not found',\n }),\n });\n },\n }\n );\n\n return { data, error, isLoading };\n};\n"],"names":["useFolder","id","enabled","toggleNotification","useNotification","get","useFetchClient","formatMessage","useIntl","data","error","isLoading","useQuery","pluginId","params","populate","parent","retry","staleTime","cacheTime","onError","type","message","getTrad","defaultMessage"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFolder.js","sources":["../../../admin/src/hooks/useFolder.ts"],"sourcesContent":["import { useNotification, useFetchClient } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useQuery } from 'react-query';\n\nimport { GetFolder } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\nimport { getTrad } from '../utils';\n\nexport const useFolder = (id: number | null | undefined, { enabled = true } = {}) => {\n const { toggleNotification } = useNotification();\n const { get } = useFetchClient();\n const { formatMessage } = useIntl();\n\n const { data, error, isLoading } = useQuery<\n GetFolder.Response['data'],\n GetFolder.Response['error']\n >(\n [pluginId, 'folder', id],\n async () => {\n const {\n data: { data },\n } = await get<GetFolder.Response>(`/upload/folders/${id}`, {\n params: {\n populate: {\n parent: {\n populate: {\n parent: '*',\n },\n },\n },\n },\n });\n\n return data;\n },\n {\n retry: false,\n enabled,\n staleTime: 0,\n cacheTime: 0,\n onError() {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTrad('notification.warning.404'),\n defaultMessage: 'Not found',\n }),\n });\n },\n }\n );\n\n return { data, error, isLoading };\n};\n"],"names":["useFolder","id","enabled","toggleNotification","useNotification","get","useFetchClient","formatMessage","useIntl","data","error","isLoading","useQuery","pluginId","params","populate","parent","retry","staleTime","cacheTime","onError","type","message","getTrad","defaultMessage"],"mappings":";;;;;;;;;;;;AAQO,MAAMA,SAAAA,GAAY,CAACC,EAAAA,EAA+B,EAAEC,UAAU,IAAI,EAAE,GAAG,EAAE,GAAA;IAC9E,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,2BAAAA,EAAAA;IAC/B,MAAM,EAAEC,GAAG,EAAE,GAAGC,0BAAAA,EAAAA;IAChB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAEC,SAAS,EAAE,GAAGC,mBAAAA,CAIjC;AAACC,QAAAA,iBAAAA;AAAU,QAAA,QAAA;AAAUZ,QAAAA;KAAG,EACxB,UAAA;AACE,QAAA,MAAM,EACJQ,IAAAA,EAAM,EAAEA,IAAI,EAAE,EACf,GAAG,MAAMJ,GAAAA,CAAwB,CAAC,gBAAgB,EAAEJ,IAAI,EAAE;YACzDa,MAAAA,EAAQ;gBACNC,QAAAA,EAAU;oBACRC,MAAAA,EAAQ;wBACND,QAAAA,EAAU;4BACRC,MAAAA,EAAQ;AACV;AACF;AACF;AACF;AACF,SAAA,CAAA;QAEA,OAAOP,IAAAA;IACT,CAAA,EACA;QACEQ,KAAAA,EAAO,KAAA;AACPf,QAAAA,OAAAA;QACAgB,SAAAA,EAAW,CAAA;QACXC,SAAAA,EAAW,CAAA;AACXC,QAAAA,OAAAA,CAAAA,GAAAA;YACEjB,kBAAAA,CAAmB;gBACjBkB,IAAAA,EAAM,QAAA;AACNC,gBAAAA,OAAAA,EAASf,aAAAA,CAAc;AACrBN,oBAAAA,EAAAA,EAAIsB,eAAAA,CAAQ,0BAAA,CAAA;oBACZC,cAAAA,EAAgB;AAClB,iBAAA;AACF,aAAA,CAAA;AACF,QAAA;AACF,KAAA,CAAA;IAGF,OAAO;AAAEf,QAAAA,IAAAA;AAAMC,QAAAA,KAAAA;AAAOC,QAAAA;AAAU,KAAA;AAClC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFolder.mjs","sources":["../../../admin/src/hooks/useFolder.ts"],"sourcesContent":["import { useNotification, useFetchClient } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useQuery } from 'react-query';\n\nimport { GetFolder } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\nimport { getTrad } from '../utils';\n\nexport const useFolder = (id: number | null | undefined, { enabled = true } = {}) => {\n const { toggleNotification } = useNotification();\n const { get } = useFetchClient();\n const { formatMessage } = useIntl();\n\n const { data, error, isLoading } = useQuery<\n GetFolder.Response['data'],\n GetFolder.Response['error']\n >(\n [pluginId, 'folder', id],\n async () => {\n const {\n data: { data },\n } = await get(`/upload/folders/${id}`, {\n params: {\n populate: {\n parent: {\n populate: {\n parent: '*',\n },\n },\n },\n },\n });\n\n return data;\n },\n {\n retry: false,\n enabled,\n staleTime: 0,\n cacheTime: 0,\n onError() {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTrad('notification.warning.404'),\n defaultMessage: 'Not found',\n }),\n });\n },\n }\n );\n\n return { data, error, isLoading };\n};\n"],"names":["useFolder","id","enabled","toggleNotification","useNotification","get","useFetchClient","formatMessage","useIntl","data","error","isLoading","useQuery","pluginId","params","populate","parent","retry","staleTime","cacheTime","onError","type","message","getTrad","defaultMessage"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFolder.mjs","sources":["../../../admin/src/hooks/useFolder.ts"],"sourcesContent":["import { useNotification, useFetchClient } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useQuery } from 'react-query';\n\nimport { GetFolder } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\nimport { getTrad } from '../utils';\n\nexport const useFolder = (id: number | null | undefined, { enabled = true } = {}) => {\n const { toggleNotification } = useNotification();\n const { get } = useFetchClient();\n const { formatMessage } = useIntl();\n\n const { data, error, isLoading } = useQuery<\n GetFolder.Response['data'],\n GetFolder.Response['error']\n >(\n [pluginId, 'folder', id],\n async () => {\n const {\n data: { data },\n } = await get<GetFolder.Response>(`/upload/folders/${id}`, {\n params: {\n populate: {\n parent: {\n populate: {\n parent: '*',\n },\n },\n },\n },\n });\n\n return data;\n },\n {\n retry: false,\n enabled,\n staleTime: 0,\n cacheTime: 0,\n onError() {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTrad('notification.warning.404'),\n defaultMessage: 'Not found',\n }),\n });\n },\n }\n );\n\n return { data, error, isLoading };\n};\n"],"names":["useFolder","id","enabled","toggleNotification","useNotification","get","useFetchClient","formatMessage","useIntl","data","error","isLoading","useQuery","pluginId","params","populate","parent","retry","staleTime","cacheTime","onError","type","message","getTrad","defaultMessage"],"mappings":";;;;;;;;;;AAQO,MAAMA,SAAAA,GAAY,CAACC,EAAAA,EAA+B,EAAEC,UAAU,IAAI,EAAE,GAAG,EAAE,GAAA;IAC9E,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;IAC/B,MAAM,EAAEC,GAAG,EAAE,GAAGC,cAAAA,EAAAA;IAChB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAE1B,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAEC,SAAS,EAAE,GAAGC,QAAAA,CAIjC;AAACC,QAAAA,QAAAA;AAAU,QAAA,QAAA;AAAUZ,QAAAA;KAAG,EACxB,UAAA;AACE,QAAA,MAAM,EACJQ,IAAAA,EAAM,EAAEA,IAAI,EAAE,EACf,GAAG,MAAMJ,GAAAA,CAAwB,CAAC,gBAAgB,EAAEJ,IAAI,EAAE;YACzDa,MAAAA,EAAQ;gBACNC,QAAAA,EAAU;oBACRC,MAAAA,EAAQ;wBACND,QAAAA,EAAU;4BACRC,MAAAA,EAAQ;AACV;AACF;AACF;AACF;AACF,SAAA,CAAA;QAEA,OAAOP,IAAAA;IACT,CAAA,EACA;QACEQ,KAAAA,EAAO,KAAA;AACPf,QAAAA,OAAAA;QACAgB,SAAAA,EAAW,CAAA;QACXC,SAAAA,EAAW,CAAA;AACXC,QAAAA,OAAAA,CAAAA,GAAAA;YACEjB,kBAAAA,CAAmB;gBACjBkB,IAAAA,EAAM,QAAA;AACNC,gBAAAA,OAAAA,EAASf,aAAAA,CAAc;AACrBN,oBAAAA,EAAAA,EAAIsB,OAAAA,CAAQ,0BAAA,CAAA;oBACZC,cAAAA,EAAgB;AAClB,iBAAA;AACF,aAAA,CAAA;AACF,QAAA;AACF,KAAA,CAAA;IAGF,OAAO;AAAEf,QAAAA,IAAAA;AAAMC,QAAAA,KAAAA;AAAOC,QAAAA;AAAU,KAAA;AAClC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFolderStructure.js","sources":["../../../admin/src/hooks/useFolderStructure.ts"],"sourcesContent":["import { useFetchClient } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useQuery } from 'react-query';\n\nimport { FolderNode, GetFolderStructure } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\nimport { getTrad } from '../utils';\n\nimport { recursiveRenameKeys } from './utils/renameKeys';\n\nconst FIELD_MAPPING: Record<string, string> = {\n name: 'label',\n id: 'value',\n};\n\ninterface FolderNodeWithChildren extends Omit<FolderNode, 'children'> {\n children: FolderNodeWithChildren[];\n label?: string;\n value: string | number | null;\n}\n\nexport const useFolderStructure = ({ enabled = true } = {}) => {\n const { formatMessage } = useIntl();\n const { get } = useFetchClient();\n\n const fetchFolderStructure = async () => {\n const {\n data: { data },\n } = await get<GetFolderStructure.Response['data']>('/upload/folder-structure');\n const children = data.map((f: FolderNodeWithChildren) =>\n recursiveRenameKeys(f, (key) => FIELD_MAPPING?.[key] ?? key)\n );\n\n return [\n {\n value: null,\n label: formatMessage({\n id: getTrad('form.input.label.folder-location-default-label'),\n defaultMessage: 'Media Library',\n }),\n children,\n },\n ];\n };\n\n const { data, error, isLoading } = useQuery(\n [pluginId, 'folder', 'structure'],\n fetchFolderStructure,\n {\n enabled,\n staleTime: 0,\n cacheTime: 0,\n }\n );\n\n return { data, error, isLoading };\n};\n"],"names":["FIELD_MAPPING","name","id","useFolderStructure","enabled","formatMessage","useIntl","get","useFetchClient","fetchFolderStructure","data","children","map","f","recursiveRenameKeys","key","value","label","getTrad","defaultMessage","error","isLoading","useQuery","pluginId","staleTime","cacheTime"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFolderStructure.js","sources":["../../../admin/src/hooks/useFolderStructure.ts"],"sourcesContent":["import { useFetchClient } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useQuery } from 'react-query';\n\nimport { FolderNode, GetFolderStructure } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\nimport { getTrad } from '../utils';\n\nimport { recursiveRenameKeys } from './utils/renameKeys';\n\nconst FIELD_MAPPING: Record<string, string> = {\n name: 'label',\n id: 'value',\n};\n\ninterface FolderNodeWithChildren extends Omit<FolderNode, 'children'> {\n children: FolderNodeWithChildren[];\n label?: string;\n value: string | number | null;\n}\n\nexport const useFolderStructure = ({ enabled = true } = {}) => {\n const { formatMessage } = useIntl();\n const { get } = useFetchClient();\n\n const fetchFolderStructure = async () => {\n const {\n data: { data },\n } = await get<GetFolderStructure.Response['data']>('/upload/folder-structure');\n const children = data.map((f: FolderNodeWithChildren) =>\n recursiveRenameKeys(f, (key) => FIELD_MAPPING?.[key] ?? key)\n );\n\n return [\n {\n value: null,\n label: formatMessage({\n id: getTrad('form.input.label.folder-location-default-label'),\n defaultMessage: 'Media Library',\n }),\n children,\n },\n ];\n };\n\n const { data, error, isLoading } = useQuery(\n [pluginId, 'folder', 'structure'],\n fetchFolderStructure,\n {\n enabled,\n staleTime: 0,\n cacheTime: 0,\n }\n );\n\n return { data, error, isLoading };\n};\n"],"names":["FIELD_MAPPING","name","id","useFolderStructure","enabled","formatMessage","useIntl","get","useFetchClient","fetchFolderStructure","data","children","map","f","recursiveRenameKeys","key","value","label","getTrad","defaultMessage","error","isLoading","useQuery","pluginId","staleTime","cacheTime"],"mappings":";;;;;;;;;;;;;AAUA,MAAMA,aAAAA,GAAwC;IAC5CC,IAAAA,EAAM,OAAA;IACNC,EAAAA,EAAI;AACN,CAAA;AAQO,MAAMC,qBAAqB,CAAC,EAAEC,UAAU,IAAI,EAAE,GAAG,EAAE,GAAA;IACxD,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,GAAG,EAAE,GAAGC,0BAAAA,EAAAA;AAEhB,IAAA,MAAMC,oBAAAA,GAAuB,UAAA;QAC3B,MAAM,EACJC,MAAM,EAAEA,IAAI,EAAE,EACf,GAAG,MAAMH,GAAAA,CAAyC,0BAAA,CAAA;AACnD,QAAA,MAAMI,QAAAA,GAAWD,IAAAA,CAAKE,GAAG,CAAC,CAACC,CAAAA,GACzBC,8BAAAA,CAAoBD,CAAAA,EAAG,CAACE,GAAAA,GAAQf,aAAAA,GAAgBe,IAAI,IAAIA,GAAAA,CAAAA,CAAAA;QAG1D,OAAO;AACL,YAAA;gBACEC,KAAAA,EAAO,IAAA;AACPC,gBAAAA,KAAAA,EAAOZ,aAAAA,CAAc;AACnBH,oBAAAA,EAAAA,EAAIgB,eAAAA,CAAQ,gDAAA,CAAA;oBACZC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;AACAR,gBAAAA;AACF;AACD,SAAA;AACH,IAAA,CAAA;IAEA,MAAM,EAAED,IAAI,EAAEU,KAAK,EAAEC,SAAS,EAAE,GAAGC,mBAAAA,CACjC;AAACC,QAAAA,iBAAAA;AAAU,QAAA,QAAA;AAAU,QAAA;AAAY,KAAA,EACjCd,oBAAAA,EACA;AACEL,QAAAA,OAAAA;QACAoB,SAAAA,EAAW,CAAA;QACXC,SAAAA,EAAW;AACb,KAAA,CAAA;IAGF,OAAO;AAAEf,QAAAA,IAAAA;AAAMU,QAAAA,KAAAA;AAAOC,QAAAA;AAAU,KAAA;AAClC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFolderStructure.mjs","sources":["../../../admin/src/hooks/useFolderStructure.ts"],"sourcesContent":["import { useFetchClient } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useQuery } from 'react-query';\n\nimport { FolderNode, GetFolderStructure } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\nimport { getTrad } from '../utils';\n\nimport { recursiveRenameKeys } from './utils/renameKeys';\n\nconst FIELD_MAPPING: Record<string, string> = {\n name: 'label',\n id: 'value',\n};\n\ninterface FolderNodeWithChildren extends Omit<FolderNode, 'children'> {\n children: FolderNodeWithChildren[];\n label?: string;\n value: string | number | null;\n}\n\nexport const useFolderStructure = ({ enabled = true } = {}) => {\n const { formatMessage } = useIntl();\n const { get } = useFetchClient();\n\n const fetchFolderStructure = async () => {\n const {\n data: { data },\n } = await get<GetFolderStructure.Response['data']>('/upload/folder-structure');\n const children = data.map((f: FolderNodeWithChildren) =>\n recursiveRenameKeys(f, (key) => FIELD_MAPPING?.[key] ?? key)\n );\n\n return [\n {\n value: null,\n label: formatMessage({\n id: getTrad('form.input.label.folder-location-default-label'),\n defaultMessage: 'Media Library',\n }),\n children,\n },\n ];\n };\n\n const { data, error, isLoading } = useQuery(\n [pluginId, 'folder', 'structure'],\n fetchFolderStructure,\n {\n enabled,\n staleTime: 0,\n cacheTime: 0,\n }\n );\n\n return { data, error, isLoading };\n};\n"],"names":["FIELD_MAPPING","name","id","useFolderStructure","enabled","formatMessage","useIntl","get","useFetchClient","fetchFolderStructure","data","children","map","f","recursiveRenameKeys","key","value","label","getTrad","defaultMessage","error","isLoading","useQuery","pluginId","staleTime","cacheTime"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFolderStructure.mjs","sources":["../../../admin/src/hooks/useFolderStructure.ts"],"sourcesContent":["import { useFetchClient } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useQuery } from 'react-query';\n\nimport { FolderNode, GetFolderStructure } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\nimport { getTrad } from '../utils';\n\nimport { recursiveRenameKeys } from './utils/renameKeys';\n\nconst FIELD_MAPPING: Record<string, string> = {\n name: 'label',\n id: 'value',\n};\n\ninterface FolderNodeWithChildren extends Omit<FolderNode, 'children'> {\n children: FolderNodeWithChildren[];\n label?: string;\n value: string | number | null;\n}\n\nexport const useFolderStructure = ({ enabled = true } = {}) => {\n const { formatMessage } = useIntl();\n const { get } = useFetchClient();\n\n const fetchFolderStructure = async () => {\n const {\n data: { data },\n } = await get<GetFolderStructure.Response['data']>('/upload/folder-structure');\n const children = data.map((f: FolderNodeWithChildren) =>\n recursiveRenameKeys(f, (key) => FIELD_MAPPING?.[key] ?? key)\n );\n\n return [\n {\n value: null,\n label: formatMessage({\n id: getTrad('form.input.label.folder-location-default-label'),\n defaultMessage: 'Media Library',\n }),\n children,\n },\n ];\n };\n\n const { data, error, isLoading } = useQuery(\n [pluginId, 'folder', 'structure'],\n fetchFolderStructure,\n {\n enabled,\n staleTime: 0,\n cacheTime: 0,\n }\n );\n\n return { data, error, isLoading };\n};\n"],"names":["FIELD_MAPPING","name","id","useFolderStructure","enabled","formatMessage","useIntl","get","useFetchClient","fetchFolderStructure","data","children","map","f","recursiveRenameKeys","key","value","label","getTrad","defaultMessage","error","isLoading","useQuery","pluginId","staleTime","cacheTime"],"mappings":";;;;;;;;;;;AAUA,MAAMA,aAAAA,GAAwC;IAC5CC,IAAAA,EAAM,OAAA;IACNC,EAAAA,EAAI;AACN,CAAA;AAQO,MAAMC,qBAAqB,CAAC,EAAEC,UAAU,IAAI,EAAE,GAAG,EAAE,GAAA;IACxD,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,GAAG,EAAE,GAAGC,cAAAA,EAAAA;AAEhB,IAAA,MAAMC,oBAAAA,GAAuB,UAAA;QAC3B,MAAM,EACJC,MAAM,EAAEA,IAAI,EAAE,EACf,GAAG,MAAMH,GAAAA,CAAyC,0BAAA,CAAA;AACnD,QAAA,MAAMI,QAAAA,GAAWD,IAAAA,CAAKE,GAAG,CAAC,CAACC,CAAAA,GACzBC,mBAAAA,CAAoBD,CAAAA,EAAG,CAACE,GAAAA,GAAQf,aAAAA,GAAgBe,IAAI,IAAIA,GAAAA,CAAAA,CAAAA;QAG1D,OAAO;AACL,YAAA;gBACEC,KAAAA,EAAO,IAAA;AACPC,gBAAAA,KAAAA,EAAOZ,aAAAA,CAAc;AACnBH,oBAAAA,EAAAA,EAAIgB,OAAAA,CAAQ,gDAAA,CAAA;oBACZC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;AACAR,gBAAAA;AACF;AACD,SAAA;AACH,IAAA,CAAA;IAEA,MAAM,EAAED,IAAI,EAAEU,KAAK,EAAEC,SAAS,EAAE,GAAGC,QAAAA,CACjC;AAACC,QAAAA,QAAAA;AAAU,QAAA,QAAA;AAAU,QAAA;AAAY,KAAA,EACjCd,oBAAAA,EACA;AACEL,QAAAA,OAAAA;QACAoB,SAAAA,EAAW,CAAA;QACXC,SAAAA,EAAW;AACb,KAAA,CAAA;IAGF,OAAO;AAAEf,QAAAA,IAAAA;AAAMU,QAAAA,KAAAA;AAAOC,QAAAA;AAAU,KAAA;AAClC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpload.js","sources":["../../../admin/src/hooks/useUpload.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useFetchClient, FetchClient, adminApi } from '@strapi/admin/strapi-admin';\nimport { useMutation, useQueryClient } from 'react-query';\nimport { useDispatch } from 'react-redux';\n\nimport { File, RawFile, CreateFile } from '../../../shared/contracts/files';\nimport { pluginId } from '../pluginId';\n\nconst endpoint = `/${pluginId}`;\n\ninterface Asset extends Omit<File, 'id' | 'hash'> {\n rawFile?: RawFile;\n id?: File['id'];\n hash?: File['hash'];\n}\n\nconst uploadAssets = (\n assets: Asset | Asset[],\n folderId: number | null,\n signal: AbortSignal,\n onProgress: (progress: number) => void,\n post: FetchClient['post']\n) => {\n const assetsArray = Array.isArray(assets) ? assets : [assets];\n const formData = new FormData();\n\n // Add all files to the form data\n assetsArray.forEach((asset) => {\n if (asset.rawFile) {\n formData.append('files', asset.rawFile);\n }\n });\n\n // Add each fileInfo as a separate stringified field\n assetsArray.forEach((asset) => {\n formData.append(\n 'fileInfo',\n JSON.stringify({\n name: asset.name,\n caption: asset.caption,\n alternativeText: asset.alternativeText,\n folder: folderId,\n })\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 useUpload = () => {\n const dispatch = useDispatch();\n const [progress, setProgress] = React.useState(0);\n const queryClient = useQueryClient();\n const abortController = new AbortController();\n const signal = abortController.signal;\n const { post } = useFetchClient();\n\n const mutation = useMutation<\n CreateFile.Response['data'],\n CreateFile.Response['error'],\n { assets: Asset | Asset[]; folderId: number | null }\n >(\n ({ assets, folderId }) => {\n return uploadAssets(assets, folderId, signal, setProgress, post);\n },\n {\n onSuccess() {\n queryClient.refetchQueries([pluginId, 'assets'], { active: true });\n queryClient.refetchQueries([pluginId, 'asset-count'], { active: true });\n dispatch(adminApi.util.invalidateTags(['HomepageKeyStatistics', 'AiUsage']));\n },\n }\n );\n\n const upload = (assets: Asset | Asset[], folderId: number | null) =>\n mutation.mutateAsync({ assets, folderId });\n\n const cancel = () => abortController.abort();\n\n return {\n upload,\n isLoading: mutation.isLoading,\n cancel,\n error: mutation.error,\n progress,\n status: mutation.status,\n };\n};\n"],"names":["endpoint","pluginId","uploadAssets","assets","folderId","signal","onProgress","post","assetsArray","Array","isArray","formData","FormData","forEach","asset","rawFile","append","JSON","stringify","name","caption","alternativeText","folder","then","res","data","useUpload","dispatch","useDispatch","progress","setProgress","React","useState","queryClient","useQueryClient","abortController","AbortController","useFetchClient","mutation","useMutation","onSuccess","refetchQueries","active","adminApi","util","invalidateTags","upload","mutateAsync","cancel","abort","isLoading","error","status"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAMA,QAAAA,GAAW,CAAC,CAAC,EAAEC,iBAAAA,CAAAA,CAAU;AAQ/B,MAAMC,YAAAA,GAAe,CACnBC,MAAAA,EACAC,QAAAA,EACAC,QACAC,UAAAA,EACAC,IAAAA,GAAAA;AAEA,IAAA,MAAMC,WAAAA,GAAcC,KAAAA,CAAMC,OAAO,CAACP,UAAUA,MAAAA,GAAS;AAACA,QAAAA;AAAO,KAAA;AAC7D,IAAA,MAAMQ,WAAW,IAAIC,QAAAA,EAAAA;;IAGrBJ,WAAAA,CAAYK,OAAO,CAAC,CAACC,KAAAA,GAAAA;QACnB,IAAIA,KAAAA,CAAMC,OAAO,EAAE;AACjBJ,YAAAA,QAAAA,CAASK,MAAM,CAAC,OAAA,EAASF,KAAAA,CAAMC,OAAO,CAAA;AACxC,QAAA;AACF,IAAA,CAAA,CAAA;;IAGAP,WAAAA,CAAYK,OAAO,CAAC,CAACC,KAAAA,GAAAA;AACnBH,QAAAA,QAAAA,CAASK,MAAM,CACb,UAAA,EACAC,IAAAA,CAAKC,SAAS,CAAC;AACbC,YAAAA,IAAAA,EAAML,MAAMK,IAAI;AAChBC,YAAAA,OAAAA,EAASN,MAAMM,OAAO;AACtBC,YAAAA,eAAAA,EAAiBP,MAAMO,eAAe;YACtCC,MAAAA,EAAQlB;AACV,SAAA,CAAA,CAAA;AAEJ,IAAA,CAAA,CAAA;AAEA;;;;MAKA,OAAOG,IAAAA,
|
|
1
|
+
{"version":3,"file":"useUpload.js","sources":["../../../admin/src/hooks/useUpload.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useFetchClient, FetchClient, adminApi } from '@strapi/admin/strapi-admin';\nimport { useMutation, useQueryClient } from 'react-query';\nimport { useDispatch } from 'react-redux';\n\nimport { File, RawFile, CreateFile } from '../../../shared/contracts/files';\nimport { pluginId } from '../pluginId';\n\nconst endpoint = `/${pluginId}`;\n\ninterface Asset extends Omit<File, 'id' | 'hash'> {\n rawFile?: RawFile;\n id?: File['id'];\n hash?: File['hash'];\n}\n\nconst uploadAssets = (\n assets: Asset | Asset[],\n folderId: number | null,\n signal: AbortSignal,\n onProgress: (progress: number) => void,\n post: FetchClient['post']\n): Promise<CreateFile.Response['data']> => {\n const assetsArray = Array.isArray(assets) ? assets : [assets];\n const formData = new FormData();\n\n // Add all files to the form data\n assetsArray.forEach((asset) => {\n if (asset.rawFile) {\n formData.append('files', asset.rawFile);\n }\n });\n\n // Add each fileInfo as a separate stringified field\n assetsArray.forEach((asset) => {\n formData.append(\n 'fileInfo',\n JSON.stringify({\n name: asset.name,\n caption: asset.caption,\n alternativeText: asset.alternativeText,\n folder: folderId,\n })\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<CreateFile.Response['data'], CreateFile.Request['body']>(endpoint, formData, {\n signal,\n }).then((res) => res.data);\n};\n\nexport const useUpload = () => {\n const dispatch = useDispatch();\n const [progress, setProgress] = React.useState(0);\n const queryClient = useQueryClient();\n const abortController = new AbortController();\n const signal = abortController.signal;\n const { post } = useFetchClient();\n\n const mutation = useMutation<\n CreateFile.Response['data'],\n CreateFile.Response['error'],\n { assets: Asset | Asset[]; folderId: number | null }\n >(\n ({ assets, folderId }) => {\n return uploadAssets(assets, folderId, signal, setProgress, post);\n },\n {\n onSuccess() {\n queryClient.refetchQueries([pluginId, 'assets'], { active: true });\n queryClient.refetchQueries([pluginId, 'asset-count'], { active: true });\n dispatch(adminApi.util.invalidateTags(['HomepageKeyStatistics', 'AiUsage']));\n },\n }\n );\n\n const upload = (assets: Asset | Asset[], folderId: number | null) =>\n mutation.mutateAsync({ assets, folderId });\n\n const cancel = () => abortController.abort();\n\n return {\n upload,\n isLoading: mutation.isLoading,\n cancel,\n error: mutation.error,\n progress,\n status: mutation.status,\n };\n};\n"],"names":["endpoint","pluginId","uploadAssets","assets","folderId","signal","onProgress","post","assetsArray","Array","isArray","formData","FormData","forEach","asset","rawFile","append","JSON","stringify","name","caption","alternativeText","folder","then","res","data","useUpload","dispatch","useDispatch","progress","setProgress","React","useState","queryClient","useQueryClient","abortController","AbortController","useFetchClient","mutation","useMutation","onSuccess","refetchQueries","active","adminApi","util","invalidateTags","upload","mutateAsync","cancel","abort","isLoading","error","status"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpload.mjs","sources":["../../../admin/src/hooks/useUpload.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useFetchClient, FetchClient, adminApi } from '@strapi/admin/strapi-admin';\nimport { useMutation, useQueryClient } from 'react-query';\nimport { useDispatch } from 'react-redux';\n\nimport { File, RawFile, CreateFile } from '../../../shared/contracts/files';\nimport { pluginId } from '../pluginId';\n\nconst endpoint = `/${pluginId}`;\n\ninterface Asset extends Omit<File, 'id' | 'hash'> {\n rawFile?: RawFile;\n id?: File['id'];\n hash?: File['hash'];\n}\n\nconst uploadAssets = (\n assets: Asset | Asset[],\n folderId: number | null,\n signal: AbortSignal,\n onProgress: (progress: number) => void,\n post: FetchClient['post']\n) => {\n const assetsArray = Array.isArray(assets) ? assets : [assets];\n const formData = new FormData();\n\n // Add all files to the form data\n assetsArray.forEach((asset) => {\n if (asset.rawFile) {\n formData.append('files', asset.rawFile);\n }\n });\n\n // Add each fileInfo as a separate stringified field\n assetsArray.forEach((asset) => {\n formData.append(\n 'fileInfo',\n JSON.stringify({\n name: asset.name,\n caption: asset.caption,\n alternativeText: asset.alternativeText,\n folder: folderId,\n })\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 useUpload = () => {\n const dispatch = useDispatch();\n const [progress, setProgress] = React.useState(0);\n const queryClient = useQueryClient();\n const abortController = new AbortController();\n const signal = abortController.signal;\n const { post } = useFetchClient();\n\n const mutation = useMutation<\n CreateFile.Response['data'],\n CreateFile.Response['error'],\n { assets: Asset | Asset[]; folderId: number | null }\n >(\n ({ assets, folderId }) => {\n return uploadAssets(assets, folderId, signal, setProgress, post);\n },\n {\n onSuccess() {\n queryClient.refetchQueries([pluginId, 'assets'], { active: true });\n queryClient.refetchQueries([pluginId, 'asset-count'], { active: true });\n dispatch(adminApi.util.invalidateTags(['HomepageKeyStatistics', 'AiUsage']));\n },\n }\n );\n\n const upload = (assets: Asset | Asset[], folderId: number | null) =>\n mutation.mutateAsync({ assets, folderId });\n\n const cancel = () => abortController.abort();\n\n return {\n upload,\n isLoading: mutation.isLoading,\n cancel,\n error: mutation.error,\n progress,\n status: mutation.status,\n };\n};\n"],"names":["endpoint","pluginId","uploadAssets","assets","folderId","signal","onProgress","post","assetsArray","Array","isArray","formData","FormData","forEach","asset","rawFile","append","JSON","stringify","name","caption","alternativeText","folder","then","res","data","useUpload","dispatch","useDispatch","progress","setProgress","React","useState","queryClient","useQueryClient","abortController","AbortController","useFetchClient","mutation","useMutation","onSuccess","refetchQueries","active","adminApi","util","invalidateTags","upload","mutateAsync","cancel","abort","isLoading","error","status"],"mappings":";;;;;;AASA,MAAMA,QAAAA,GAAW,CAAC,CAAC,EAAEC,QAAAA,CAAAA,CAAU;AAQ/B,MAAMC,YAAAA,GAAe,CACnBC,MAAAA,EACAC,QAAAA,EACAC,QACAC,UAAAA,EACAC,IAAAA,GAAAA;AAEA,IAAA,MAAMC,WAAAA,GAAcC,KAAAA,CAAMC,OAAO,CAACP,UAAUA,MAAAA,GAAS;AAACA,QAAAA;AAAO,KAAA;AAC7D,IAAA,MAAMQ,WAAW,IAAIC,QAAAA,EAAAA;;IAGrBJ,WAAAA,CAAYK,OAAO,CAAC,CAACC,KAAAA,GAAAA;QACnB,IAAIA,KAAAA,CAAMC,OAAO,EAAE;AACjBJ,YAAAA,QAAAA,CAASK,MAAM,CAAC,OAAA,EAASF,KAAAA,CAAMC,OAAO,CAAA;AACxC,QAAA;AACF,IAAA,CAAA,CAAA;;IAGAP,WAAAA,CAAYK,OAAO,CAAC,CAACC,KAAAA,GAAAA;AACnBH,QAAAA,QAAAA,CAASK,MAAM,CACb,UAAA,EACAC,IAAAA,CAAKC,SAAS,CAAC;AACbC,YAAAA,IAAAA,EAAML,MAAMK,IAAI;AAChBC,YAAAA,OAAAA,EAASN,MAAMM,OAAO;AACtBC,YAAAA,eAAAA,EAAiBP,MAAMO,eAAe;YACtCC,MAAAA,EAAQlB;AACV,SAAA,CAAA,CAAA;AAEJ,IAAA,CAAA,CAAA;AAEA;;;;MAKA,OAAOG,IAAAA,
|
|
1
|
+
{"version":3,"file":"useUpload.mjs","sources":["../../../admin/src/hooks/useUpload.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { useFetchClient, FetchClient, adminApi } from '@strapi/admin/strapi-admin';\nimport { useMutation, useQueryClient } from 'react-query';\nimport { useDispatch } from 'react-redux';\n\nimport { File, RawFile, CreateFile } from '../../../shared/contracts/files';\nimport { pluginId } from '../pluginId';\n\nconst endpoint = `/${pluginId}`;\n\ninterface Asset extends Omit<File, 'id' | 'hash'> {\n rawFile?: RawFile;\n id?: File['id'];\n hash?: File['hash'];\n}\n\nconst uploadAssets = (\n assets: Asset | Asset[],\n folderId: number | null,\n signal: AbortSignal,\n onProgress: (progress: number) => void,\n post: FetchClient['post']\n): Promise<CreateFile.Response['data']> => {\n const assetsArray = Array.isArray(assets) ? assets : [assets];\n const formData = new FormData();\n\n // Add all files to the form data\n assetsArray.forEach((asset) => {\n if (asset.rawFile) {\n formData.append('files', asset.rawFile);\n }\n });\n\n // Add each fileInfo as a separate stringified field\n assetsArray.forEach((asset) => {\n formData.append(\n 'fileInfo',\n JSON.stringify({\n name: asset.name,\n caption: asset.caption,\n alternativeText: asset.alternativeText,\n folder: folderId,\n })\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<CreateFile.Response['data'], CreateFile.Request['body']>(endpoint, formData, {\n signal,\n }).then((res) => res.data);\n};\n\nexport const useUpload = () => {\n const dispatch = useDispatch();\n const [progress, setProgress] = React.useState(0);\n const queryClient = useQueryClient();\n const abortController = new AbortController();\n const signal = abortController.signal;\n const { post } = useFetchClient();\n\n const mutation = useMutation<\n CreateFile.Response['data'],\n CreateFile.Response['error'],\n { assets: Asset | Asset[]; folderId: number | null }\n >(\n ({ assets, folderId }) => {\n return uploadAssets(assets, folderId, signal, setProgress, post);\n },\n {\n onSuccess() {\n queryClient.refetchQueries([pluginId, 'assets'], { active: true });\n queryClient.refetchQueries([pluginId, 'asset-count'], { active: true });\n dispatch(adminApi.util.invalidateTags(['HomepageKeyStatistics', 'AiUsage']));\n },\n }\n );\n\n const upload = (assets: Asset | Asset[], folderId: number | null) =>\n mutation.mutateAsync({ assets, folderId });\n\n const cancel = () => abortController.abort();\n\n return {\n upload,\n isLoading: mutation.isLoading,\n cancel,\n error: mutation.error,\n progress,\n status: mutation.status,\n };\n};\n"],"names":["endpoint","pluginId","uploadAssets","assets","folderId","signal","onProgress","post","assetsArray","Array","isArray","formData","FormData","forEach","asset","rawFile","append","JSON","stringify","name","caption","alternativeText","folder","then","res","data","useUpload","dispatch","useDispatch","progress","setProgress","React","useState","queryClient","useQueryClient","abortController","AbortController","useFetchClient","mutation","useMutation","onSuccess","refetchQueries","active","adminApi","util","invalidateTags","upload","mutateAsync","cancel","abort","isLoading","error","status"],"mappings":"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"}
|
package/dist/admin/index.js
CHANGED
|
@@ -13,7 +13,6 @@ require('date-fns');
|
|
|
13
13
|
var getTrad = require('./utils/getTrad.js');
|
|
14
14
|
require('qs');
|
|
15
15
|
var prefixPluginTranslations = require('./utils/prefixPluginTranslations.js');
|
|
16
|
-
require('./utils/typeFromMime.js');
|
|
17
16
|
require('./utils/urlYupSchema.js');
|
|
18
17
|
|
|
19
18
|
function _interopNamespaceDefaultOnly (e) { return Object.freeze({ __proto__: null, default: e }); }
|
package/dist/admin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { Images, WarningCircle } from '@strapi/icons';\n\nimport pluginPkg from '../../package.json';\n\nimport { MediaLibraryDialog } from './components/MediaLibraryDialog/MediaLibraryDialog';\nimport { MediaLibraryInput } from './components/MediaLibraryInput/MediaLibraryInput';\nimport { PERMISSIONS } from './constants';\nimport { UploadProgressDialog } from './future/components/UploadProgressDialog';\nimport { uploadProgressReducer } from './future/store/uploadProgress';\nimport { pluginId } from './pluginId';\nimport { getTrad, prefixPluginTranslations } from './utils';\n\nimport type { MediaLibraryDialogProps } from './components/MediaLibraryDialog/MediaLibraryDialog';\nimport type { MediaLibraryInputProps } from './components/MediaLibraryInput/MediaLibraryInput';\nimport type { StrapiApp } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst name = pluginPkg.strapi.name;\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n app.addMenuLink({\n to: `plugins/${pluginId}`,\n icon: Images,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Media Library',\n },\n permissions: PERMISSIONS.main,\n Component: () => {\n return import('./pages/App/App').then((mod) => ({ default: mod.Upload }));\n },\n position: 4,\n });\n\n if (window.strapi.future.isEnabled('unstableMediaLibrary')) {\n app.addReducers({ uploadProgress: uploadProgressReducer });\n\n app.addComponents([\n {\n name: 'future-global::upload-progress',\n Component: UploadProgressDialog,\n },\n ]);\n\n app.addMenuLink({\n to: `plugins/unstable-${pluginId}`,\n icon: WarningCircle,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Media Library',\n },\n permissions: PERMISSIONS.main,\n Component: () => {\n return import('./future/App').then((mod) => ({\n default: mod.UnstableMediaLibrary,\n }));\n },\n position: 5,\n });\n }\n\n app.addSettingsLink('global', {\n id: 'media-library-settings',\n to: 'media-library',\n intlLabel: {\n id: getTrad('plugin.name'),\n defaultMessage: 'Media Library',\n },\n Component() {\n return import('./pages/SettingsPage/SettingsPage').then((mod) => ({\n default: mod.ProtectedSettingsPage,\n }));\n },\n permissions: PERMISSIONS.settings,\n });\n\n app.addFields({\n type: 'media',\n Component: MediaLibraryInput as React.FC<Partial<MediaLibraryInputProps>>,\n });\n app.addComponents([\n {\n name: 'media-library',\n Component: MediaLibraryDialog as React.FC<Partial<MediaLibraryDialogProps>>,\n },\n ]);\n\n app.registerPlugin({\n id: pluginId,\n name,\n });\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["name","pluginPkg","strapi","admin","register","app","addMenuLink","to","pluginId","icon","Images","intlLabel","id","defaultMessage","permissions","PERMISSIONS","main","Component","then","mod","default","Upload","position","window","future","isEnabled","addReducers","uploadProgress","uploadProgressReducer","addComponents","UploadProgressDialog","WarningCircle","UnstableMediaLibrary","addSettingsLink","getTrad","ProtectedSettingsPage","settings","addFields","type","MediaLibraryInput","MediaLibraryDialog","registerPlugin","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { Images, WarningCircle } from '@strapi/icons';\n\nimport pluginPkg from '../../package.json';\n\nimport { MediaLibraryDialog } from './components/MediaLibraryDialog/MediaLibraryDialog';\nimport { MediaLibraryInput } from './components/MediaLibraryInput/MediaLibraryInput';\nimport { PERMISSIONS } from './constants';\nimport { UploadProgressDialog } from './future/components/UploadProgressDialog';\nimport { uploadProgressReducer } from './future/store/uploadProgress';\nimport { pluginId } from './pluginId';\nimport { getTrad, prefixPluginTranslations } from './utils';\n\nimport type { MediaLibraryDialogProps } from './components/MediaLibraryDialog/MediaLibraryDialog';\nimport type { MediaLibraryInputProps } from './components/MediaLibraryInput/MediaLibraryInput';\nimport type { StrapiApp } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst name = pluginPkg.strapi.name;\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n app.addMenuLink({\n to: `plugins/${pluginId}`,\n icon: Images,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Media Library',\n },\n permissions: PERMISSIONS.main,\n Component: () => {\n return import('./pages/App/App').then((mod) => ({ default: mod.Upload }));\n },\n position: 4,\n });\n\n if (window.strapi.future.isEnabled('unstableMediaLibrary')) {\n app.addReducers({ uploadProgress: uploadProgressReducer });\n\n app.addComponents([\n {\n name: 'future-global::upload-progress',\n Component: UploadProgressDialog,\n },\n ]);\n\n app.addMenuLink({\n to: `plugins/unstable-${pluginId}`,\n icon: WarningCircle,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Media Library',\n },\n permissions: PERMISSIONS.main,\n Component: () => {\n return import('./future/App').then((mod) => ({\n default: mod.UnstableMediaLibrary,\n }));\n },\n position: 5,\n });\n }\n\n app.addSettingsLink('global', {\n id: 'media-library-settings',\n to: 'media-library',\n intlLabel: {\n id: getTrad('plugin.name'),\n defaultMessage: 'Media Library',\n },\n Component() {\n return import('./pages/SettingsPage/SettingsPage').then((mod) => ({\n default: mod.ProtectedSettingsPage,\n }));\n },\n permissions: PERMISSIONS.settings,\n });\n\n app.addFields({\n type: 'media',\n Component: MediaLibraryInput as React.FC<Partial<MediaLibraryInputProps>>,\n });\n app.addComponents([\n {\n name: 'media-library',\n Component: MediaLibraryDialog as React.FC<Partial<MediaLibraryDialogProps>>,\n },\n ]);\n\n app.registerPlugin({\n id: pluginId,\n name,\n });\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["name","pluginPkg","strapi","admin","register","app","addMenuLink","to","pluginId","icon","Images","intlLabel","id","defaultMessage","permissions","PERMISSIONS","main","Component","then","mod","default","Upload","position","window","future","isEnabled","addReducers","uploadProgress","uploadProgressReducer","addComponents","UploadProgressDialog","WarningCircle","UnstableMediaLibrary","addSettingsLink","getTrad","ProtectedSettingsPage","settings","addFields","type","MediaLibraryInput","MediaLibraryDialog","registerPlugin","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
|
package/dist/admin/index.mjs
CHANGED
|
@@ -11,7 +11,6 @@ import 'date-fns';
|
|
|
11
11
|
import { getTrad } from './utils/getTrad.mjs';
|
|
12
12
|
import 'qs';
|
|
13
13
|
import { prefixPluginTranslations } from './utils/prefixPluginTranslations.mjs';
|
|
14
|
-
import './utils/typeFromMime.mjs';
|
|
15
14
|
import './utils/urlYupSchema.mjs';
|
|
16
15
|
|
|
17
16
|
function __variableDynamicImportRuntime3__(path) {
|
package/dist/admin/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { Images, WarningCircle } from '@strapi/icons';\n\nimport pluginPkg from '../../package.json';\n\nimport { MediaLibraryDialog } from './components/MediaLibraryDialog/MediaLibraryDialog';\nimport { MediaLibraryInput } from './components/MediaLibraryInput/MediaLibraryInput';\nimport { PERMISSIONS } from './constants';\nimport { UploadProgressDialog } from './future/components/UploadProgressDialog';\nimport { uploadProgressReducer } from './future/store/uploadProgress';\nimport { pluginId } from './pluginId';\nimport { getTrad, prefixPluginTranslations } from './utils';\n\nimport type { MediaLibraryDialogProps } from './components/MediaLibraryDialog/MediaLibraryDialog';\nimport type { MediaLibraryInputProps } from './components/MediaLibraryInput/MediaLibraryInput';\nimport type { StrapiApp } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst name = pluginPkg.strapi.name;\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n app.addMenuLink({\n to: `plugins/${pluginId}`,\n icon: Images,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Media Library',\n },\n permissions: PERMISSIONS.main,\n Component: () => {\n return import('./pages/App/App').then((mod) => ({ default: mod.Upload }));\n },\n position: 4,\n });\n\n if (window.strapi.future.isEnabled('unstableMediaLibrary')) {\n app.addReducers({ uploadProgress: uploadProgressReducer });\n\n app.addComponents([\n {\n name: 'future-global::upload-progress',\n Component: UploadProgressDialog,\n },\n ]);\n\n app.addMenuLink({\n to: `plugins/unstable-${pluginId}`,\n icon: WarningCircle,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Media Library',\n },\n permissions: PERMISSIONS.main,\n Component: () => {\n return import('./future/App').then((mod) => ({\n default: mod.UnstableMediaLibrary,\n }));\n },\n position: 5,\n });\n }\n\n app.addSettingsLink('global', {\n id: 'media-library-settings',\n to: 'media-library',\n intlLabel: {\n id: getTrad('plugin.name'),\n defaultMessage: 'Media Library',\n },\n Component() {\n return import('./pages/SettingsPage/SettingsPage').then((mod) => ({\n default: mod.ProtectedSettingsPage,\n }));\n },\n permissions: PERMISSIONS.settings,\n });\n\n app.addFields({\n type: 'media',\n Component: MediaLibraryInput as React.FC<Partial<MediaLibraryInputProps>>,\n });\n app.addComponents([\n {\n name: 'media-library',\n Component: MediaLibraryDialog as React.FC<Partial<MediaLibraryDialogProps>>,\n },\n ]);\n\n app.registerPlugin({\n id: pluginId,\n name,\n });\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["name","pluginPkg","strapi","admin","register","app","addMenuLink","to","pluginId","icon","Images","intlLabel","id","defaultMessage","permissions","PERMISSIONS","main","Component","then","mod","default","Upload","position","window","future","isEnabled","addReducers","uploadProgress","uploadProgressReducer","addComponents","UploadProgressDialog","WarningCircle","UnstableMediaLibrary","addSettingsLink","getTrad","ProtectedSettingsPage","settings","addFields","type","MediaLibraryInput","MediaLibraryDialog","registerPlugin","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { Images, WarningCircle } from '@strapi/icons';\n\nimport pluginPkg from '../../package.json';\n\nimport { MediaLibraryDialog } from './components/MediaLibraryDialog/MediaLibraryDialog';\nimport { MediaLibraryInput } from './components/MediaLibraryInput/MediaLibraryInput';\nimport { PERMISSIONS } from './constants';\nimport { UploadProgressDialog } from './future/components/UploadProgressDialog';\nimport { uploadProgressReducer } from './future/store/uploadProgress';\nimport { pluginId } from './pluginId';\nimport { getTrad, prefixPluginTranslations } from './utils';\n\nimport type { MediaLibraryDialogProps } from './components/MediaLibraryDialog/MediaLibraryDialog';\nimport type { MediaLibraryInputProps } from './components/MediaLibraryInput/MediaLibraryInput';\nimport type { StrapiApp } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst name = pluginPkg.strapi.name;\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n app.addMenuLink({\n to: `plugins/${pluginId}`,\n icon: Images,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Media Library',\n },\n permissions: PERMISSIONS.main,\n Component: () => {\n return import('./pages/App/App').then((mod) => ({ default: mod.Upload }));\n },\n position: 4,\n });\n\n if (window.strapi.future.isEnabled('unstableMediaLibrary')) {\n app.addReducers({ uploadProgress: uploadProgressReducer });\n\n app.addComponents([\n {\n name: 'future-global::upload-progress',\n Component: UploadProgressDialog,\n },\n ]);\n\n app.addMenuLink({\n to: `plugins/unstable-${pluginId}`,\n icon: WarningCircle,\n intlLabel: {\n id: `${pluginId}.plugin.name`,\n defaultMessage: 'Media Library',\n },\n permissions: PERMISSIONS.main,\n Component: () => {\n return import('./future/App').then((mod) => ({\n default: mod.UnstableMediaLibrary,\n }));\n },\n position: 5,\n });\n }\n\n app.addSettingsLink('global', {\n id: 'media-library-settings',\n to: 'media-library',\n intlLabel: {\n id: getTrad('plugin.name'),\n defaultMessage: 'Media Library',\n },\n Component() {\n return import('./pages/SettingsPage/SettingsPage').then((mod) => ({\n default: mod.ProtectedSettingsPage,\n }));\n },\n permissions: PERMISSIONS.settings,\n });\n\n app.addFields({\n type: 'media',\n Component: MediaLibraryInput as React.FC<Partial<MediaLibraryInputProps>>,\n });\n app.addComponents([\n {\n name: 'media-library',\n Component: MediaLibraryDialog as React.FC<Partial<MediaLibraryDialogProps>>,\n },\n ]);\n\n app.registerPlugin({\n id: pluginId,\n name,\n });\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, pluginId),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["name","pluginPkg","strapi","admin","register","app","addMenuLink","to","pluginId","icon","Images","intlLabel","id","defaultMessage","permissions","PERMISSIONS","main","Component","then","mod","default","Upload","position","window","future","isEnabled","addReducers","uploadProgress","uploadProgressReducer","addComponents","UploadProgressDialog","WarningCircle","UnstableMediaLibrary","addSettingsLink","getTrad","ProtectedSettingsPage","settings","addFields","type","MediaLibraryInput","MediaLibraryDialog","registerPlugin","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sources":["../../../../admin/src/pages/App/App.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport { Page, useQueryParams } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Route, Routes } from 'react-router-dom';\n\nimport { useConfig } from '../../hooks/useConfig';\nimport { getTrad } from '../../utils';\n\nimport { MediaLibrary } from './MediaLibrary';\n\nimport type { Configuration } from '../../../../shared/contracts/configuration';\n\nconst ConfigureTheView = React.lazy(async () =>\n import('./ConfigureTheView/ConfigureTheView').then((mod) => ({ default: mod.ConfigureTheView }))\n);\n\nexport const Upload = () => {\n const {\n config: { isLoading, isError, data: config },\n } = useConfig() as { config: { isLoading: boolean; isError: boolean; data: Configuration } };\n\n const [{ rawQuery }, setQuery] = useQueryParams();\n const { formatMessage } = useIntl();\n const title = formatMessage({ id: getTrad('plugin.name'), defaultMessage: 'Media Library' });\n\n React.useEffect(() => {\n if (isLoading || isError || rawQuery) {\n return;\n }\n setQuery({\n sort: config.sort,\n page: 1,\n pageSize: config.pageSize,\n });\n }, [isLoading, isError, config, rawQuery, setQuery]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Page.Title>{title}</Page.Title>\n {rawQuery ? (\n <React.Suspense fallback={<Page.Loading />}>\n <Routes>\n <Route index element={<MediaLibrary />} />\n <Route\n path=\"configuration\"\n element={<ConfigureTheView config={config as Configuration} />}\n />\n </Routes>\n </React.Suspense>\n ) : null}\n </Page.Main>\n );\n};\n"],"names":["ConfigureTheView","React","lazy","then","mod","default","Upload","config","isLoading","isError","data","useConfig","rawQuery","setQuery","useQueryParams","formatMessage","useIntl","title","id","getTrad","defaultMessage","useEffect","sort","page","pageSize","_jsx","Page","Loading","_jsxs","Main","Title","Suspense","fallback","Routes","Route","index","element","MediaLibrary","path"],"mappings":"
|
|
1
|
+
{"version":3,"file":"App.js","sources":["../../../../admin/src/pages/App/App.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport { Page, useQueryParams } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Route, Routes } from 'react-router-dom';\n\nimport { useConfig } from '../../hooks/useConfig';\nimport { getTrad } from '../../utils';\n\nimport { MediaLibrary } from './MediaLibrary';\n\nimport type { Configuration } from '../../../../shared/contracts/configuration';\n\nconst ConfigureTheView = React.lazy(async () =>\n import('./ConfigureTheView/ConfigureTheView').then((mod) => ({ default: mod.ConfigureTheView }))\n);\n\nexport const Upload = () => {\n const {\n config: { isLoading, isError, data: config },\n } = useConfig() as { config: { isLoading: boolean; isError: boolean; data: Configuration } };\n\n const [{ rawQuery }, setQuery] = useQueryParams();\n const { formatMessage } = useIntl();\n const title = formatMessage({ id: getTrad('plugin.name'), defaultMessage: 'Media Library' });\n\n React.useEffect(() => {\n if (isLoading || isError || rawQuery) {\n return;\n }\n setQuery({\n sort: config.sort,\n page: 1,\n pageSize: config.pageSize,\n });\n }, [isLoading, isError, config, rawQuery, setQuery]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Page.Title>{title}</Page.Title>\n {rawQuery ? (\n <React.Suspense fallback={<Page.Loading />}>\n <Routes>\n <Route index element={<MediaLibrary />} />\n <Route\n path=\"configuration\"\n element={<ConfigureTheView config={config as Configuration} />}\n />\n </Routes>\n </React.Suspense>\n ) : null}\n </Page.Main>\n );\n};\n"],"names":["ConfigureTheView","React","lazy","then","mod","default","Upload","config","isLoading","isError","data","useConfig","rawQuery","setQuery","useQueryParams","formatMessage","useIntl","title","id","getTrad","defaultMessage","useEffect","sort","page","pageSize","_jsx","Page","Loading","_jsxs","Main","Title","Suspense","fallback","Routes","Route","index","element","MediaLibrary","path"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAcA,MAAMA,gBAAAA,iBAAmBC,gBAAAA,CAAMC,IAAI,CAAC,UAClC,oDAAO,wCAAA,KAAA,CAAuCC,IAAI,CAAC,CAACC,GAAAA,IAAS;AAAEC,YAAAA,OAAAA,EAASD,IAAIJ;SAAiB,CAAA,CAAA,CAAA;MAGlFM,MAAAA,GAAS,IAAA;IACpB,MAAM,EACJC,MAAAA,EAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,IAAAA,EAAMH,MAAM,EAAE,EAC7C,GAAGI,mBAAAA,EAAAA;AAEJ,IAAA,MAAM,CAAC,EAAEC,QAAQ,EAAE,EAAEC,SAAS,GAAGC,0BAAAA,EAAAA;IACjC,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQF,aAAAA,CAAc;AAAEG,QAAAA,EAAAA,EAAIC,eAAAA,CAAQ,aAAA,CAAA;QAAgBC,cAAAA,EAAgB;AAAgB,KAAA,CAAA;AAE1FnB,IAAAA,gBAAAA,CAAMoB,SAAS,CAAC,IAAA;QACd,IAAIb,SAAAA,IAAaC,WAAWG,QAAAA,EAAU;AACpC,YAAA;AACF,QAAA;QACAC,QAAAA,CAAS;AACPS,YAAAA,IAAAA,EAAMf,OAAOe,IAAI;YACjBC,IAAAA,EAAM,CAAA;AACNC,YAAAA,QAAAA,EAAUjB,OAAOiB;AACnB,SAAA,CAAA;IACF,CAAA,EAAG;AAAChB,QAAAA,SAAAA;AAAWC,QAAAA,OAAAA;AAASF,QAAAA,MAAAA;AAAQK,QAAAA,QAAAA;AAAUC,QAAAA;AAAS,KAAA,CAAA;AAEnD,IAAA,IAAIL,SAAAA,EAAW;QACb,qBAAOiB,cAAA,CAACC,iBAAKC,OAAO,EAAA,EAAA,CAAA;AACtB,IAAA;IAEA,qBACEC,eAAA,CAACF,iBAAKG,IAAI,EAAA;;AACR,0BAAAJ,cAAA,CAACC,iBAAKI,KAAK,EAAA;AAAEb,gBAAAA,QAAAA,EAAAA;;YACZL,QAAAA,iBACCa,cAAA,CAACxB,iBAAM8B,QAAQ,EAAA;gBAACC,QAAAA,gBAAUP,cAAA,CAACC,iBAAKC,OAAO,EAAA,EAAA,CAAA;AACrC,gBAAA,QAAA,gBAAAC,eAAA,CAACK,qBAAAA,EAAAA;;sCACCR,cAAA,CAACS,oBAAAA,EAAAA;4BAAMC,KAAK,EAAA,IAAA;AAACC,4BAAAA,OAAAA,gBAASX,cAAA,CAACY,yBAAAA,EAAAA,EAAAA;;sCACvBZ,cAAA,CAACS,oBAAAA,EAAAA;4BACCI,IAAAA,EAAK,eAAA;AACLF,4BAAAA,OAAAA,gBAASX,cAAA,CAACzB,gBAAAA,EAAAA;gCAAiBO,MAAAA,EAAQA;;;;;AAIvC,aAAA,CAAA,GAAA;;;AAGV;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.mjs","sources":["../../../../admin/src/pages/App/App.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport { Page, useQueryParams } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Route, Routes } from 'react-router-dom';\n\nimport { useConfig } from '../../hooks/useConfig';\nimport { getTrad } from '../../utils';\n\nimport { MediaLibrary } from './MediaLibrary';\n\nimport type { Configuration } from '../../../../shared/contracts/configuration';\n\nconst ConfigureTheView = React.lazy(async () =>\n import('./ConfigureTheView/ConfigureTheView').then((mod) => ({ default: mod.ConfigureTheView }))\n);\n\nexport const Upload = () => {\n const {\n config: { isLoading, isError, data: config },\n } = useConfig() as { config: { isLoading: boolean; isError: boolean; data: Configuration } };\n\n const [{ rawQuery }, setQuery] = useQueryParams();\n const { formatMessage } = useIntl();\n const title = formatMessage({ id: getTrad('plugin.name'), defaultMessage: 'Media Library' });\n\n React.useEffect(() => {\n if (isLoading || isError || rawQuery) {\n return;\n }\n setQuery({\n sort: config.sort,\n page: 1,\n pageSize: config.pageSize,\n });\n }, [isLoading, isError, config, rawQuery, setQuery]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Page.Title>{title}</Page.Title>\n {rawQuery ? (\n <React.Suspense fallback={<Page.Loading />}>\n <Routes>\n <Route index element={<MediaLibrary />} />\n <Route\n path=\"configuration\"\n element={<ConfigureTheView config={config as Configuration} />}\n />\n </Routes>\n </React.Suspense>\n ) : null}\n </Page.Main>\n );\n};\n"],"names":["ConfigureTheView","React","lazy","then","mod","default","Upload","config","isLoading","isError","data","useConfig","rawQuery","setQuery","useQueryParams","formatMessage","useIntl","title","id","getTrad","defaultMessage","useEffect","sort","page","pageSize","_jsx","Page","Loading","_jsxs","Main","Title","Suspense","fallback","Routes","Route","index","element","MediaLibrary","path"],"mappings":"
|
|
1
|
+
{"version":3,"file":"App.mjs","sources":["../../../../admin/src/pages/App/App.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport { Page, useQueryParams } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Route, Routes } from 'react-router-dom';\n\nimport { useConfig } from '../../hooks/useConfig';\nimport { getTrad } from '../../utils';\n\nimport { MediaLibrary } from './MediaLibrary';\n\nimport type { Configuration } from '../../../../shared/contracts/configuration';\n\nconst ConfigureTheView = React.lazy(async () =>\n import('./ConfigureTheView/ConfigureTheView').then((mod) => ({ default: mod.ConfigureTheView }))\n);\n\nexport const Upload = () => {\n const {\n config: { isLoading, isError, data: config },\n } = useConfig() as { config: { isLoading: boolean; isError: boolean; data: Configuration } };\n\n const [{ rawQuery }, setQuery] = useQueryParams();\n const { formatMessage } = useIntl();\n const title = formatMessage({ id: getTrad('plugin.name'), defaultMessage: 'Media Library' });\n\n React.useEffect(() => {\n if (isLoading || isError || rawQuery) {\n return;\n }\n setQuery({\n sort: config.sort,\n page: 1,\n pageSize: config.pageSize,\n });\n }, [isLoading, isError, config, rawQuery, setQuery]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Page.Title>{title}</Page.Title>\n {rawQuery ? (\n <React.Suspense fallback={<Page.Loading />}>\n <Routes>\n <Route index element={<MediaLibrary />} />\n <Route\n path=\"configuration\"\n element={<ConfigureTheView config={config as Configuration} />}\n />\n </Routes>\n </React.Suspense>\n ) : null}\n </Page.Main>\n );\n};\n"],"names":["ConfigureTheView","React","lazy","then","mod","default","Upload","config","isLoading","isError","data","useConfig","rawQuery","setQuery","useQueryParams","formatMessage","useIntl","title","id","getTrad","defaultMessage","useEffect","sort","page","pageSize","_jsx","Page","Loading","_jsxs","Main","Title","Suspense","fallback","Routes","Route","index","element","MediaLibrary","path"],"mappings":";;;;;;;;;;;;;AAAA;AAcA,MAAMA,gBAAAA,iBAAmBC,KAAAA,CAAMC,IAAI,CAAC,UAClC,OAAO,yCAAA,CAAA,CAAuCC,IAAI,CAAC,CAACC,GAAAA,IAAS;AAAEC,YAAAA,OAAAA,EAASD,IAAIJ;SAAiB,CAAA,CAAA,CAAA;MAGlFM,MAAAA,GAAS,IAAA;IACpB,MAAM,EACJC,MAAAA,EAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,IAAAA,EAAMH,MAAM,EAAE,EAC7C,GAAGI,SAAAA,EAAAA;AAEJ,IAAA,MAAM,CAAC,EAAEC,QAAQ,EAAE,EAAEC,SAAS,GAAGC,cAAAA,EAAAA;IACjC,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQF,aAAAA,CAAc;AAAEG,QAAAA,EAAAA,EAAIC,OAAAA,CAAQ,aAAA,CAAA;QAAgBC,cAAAA,EAAgB;AAAgB,KAAA,CAAA;AAE1FnB,IAAAA,KAAAA,CAAMoB,SAAS,CAAC,IAAA;QACd,IAAIb,SAAAA,IAAaC,WAAWG,QAAAA,EAAU;AACpC,YAAA;AACF,QAAA;QACAC,QAAAA,CAAS;AACPS,YAAAA,IAAAA,EAAMf,OAAOe,IAAI;YACjBC,IAAAA,EAAM,CAAA;AACNC,YAAAA,QAAAA,EAAUjB,OAAOiB;AACnB,SAAA,CAAA;IACF,CAAA,EAAG;AAAChB,QAAAA,SAAAA;AAAWC,QAAAA,OAAAA;AAASF,QAAAA,MAAAA;AAAQK,QAAAA,QAAAA;AAAUC,QAAAA;AAAS,KAAA,CAAA;AAEnD,IAAA,IAAIL,SAAAA,EAAW;QACb,qBAAOiB,GAAA,CAACC,KAAKC,OAAO,EAAA,EAAA,CAAA;AACtB,IAAA;IAEA,qBACEC,IAAA,CAACF,KAAKG,IAAI,EAAA;;AACR,0BAAAJ,GAAA,CAACC,KAAKI,KAAK,EAAA;AAAEb,gBAAAA,QAAAA,EAAAA;;YACZL,QAAAA,iBACCa,GAAA,CAACxB,MAAM8B,QAAQ,EAAA;gBAACC,QAAAA,gBAAUP,GAAA,CAACC,KAAKC,OAAO,EAAA,EAAA,CAAA;AACrC,gBAAA,QAAA,gBAAAC,IAAA,CAACK,MAAAA,EAAAA;;sCACCR,GAAA,CAACS,KAAAA,EAAAA;4BAAMC,KAAK,EAAA,IAAA;AAACC,4BAAAA,OAAAA,gBAASX,GAAA,CAACY,YAAAA,EAAAA,EAAAA;;sCACvBZ,GAAA,CAACS,KAAAA,EAAAA;4BACCI,IAAAA,EAAK,eAAA;AACLF,4BAAAA,OAAAA,gBAASX,GAAA,CAACzB,gBAAAA,EAAAA;gCAAiBO,MAAAA,EAAQA;;;;;AAIvC,aAAA,CAAA,GAAA;;;AAGV;;;;"}
|
|
@@ -14,7 +14,6 @@ require('byte-size');
|
|
|
14
14
|
require('date-fns');
|
|
15
15
|
var getTrad = require('../../../utils/getTrad.js');
|
|
16
16
|
require('qs');
|
|
17
|
-
require('../../../utils/typeFromMime.js');
|
|
18
17
|
require('../../../utils/urlYupSchema.js');
|
|
19
18
|
var Settings = require('./components/Settings.js');
|
|
20
19
|
var actions = require('./state/actions.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigureTheView.js","sources":["../../../../../admin/src/pages/App/ConfigureTheView/ConfigureTheView.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport {\n ConfirmDialog,\n useTracking,\n useNotification,\n Page,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Dialog, Link } from '@strapi/design-system';\nimport { ArrowLeft, Check } from '@strapi/icons';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useConfig } from '../../../hooks/useConfig';\nimport { pluginId } from '../../../pluginId';\nimport { getTrad } from '../../../utils';\n\nimport { Settings } from './components/Settings';\nimport { onChange, setLoaded } from './state/actions';\nimport { init, initialState } from './state/init';\nimport { reducer } from './state/reducer';\n\nimport type { InitialState } from './state/init';\nimport type { Action } from './state/reducer';\nimport type { Configuration } from '../../../../../shared/contracts/configuration';\n\ninterface ConfigureTheViewProps {\n config: Configuration;\n}\n\nexport const ConfigureTheView = ({ config }: ConfigureTheViewProps) => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { mutateConfig } = useConfig();\n const { isLoading: isSubmittingForm } = mutateConfig;\n\n const [showWarningSubmit, setWarningSubmit] = React.useState(false);\n const toggleWarningSubmit = () => setWarningSubmit((prevState) => !prevState);\n\n const [reducerState, dispatch] = React.useReducer(\n reducer,\n initialState,\n (): InitialState => init(config)\n );\n const typedDispatch: React.Dispatch<Action> = dispatch;\n const { initialData, modifiedData } = reducerState;\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n toggleWarningSubmit();\n };\n\n const handleConfirm = async () => {\n trackUsage('willEditMediaLibraryConfig');\n await mutateConfig.mutateAsync(modifiedData as Configuration);\n setWarningSubmit(false);\n typedDispatch(setLoaded());\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.form.success.fields',\n defaultMessage: 'Changes saved',\n }),\n });\n };\n\n const handleChange = ({\n target: { name, value },\n }: {\n target: { name: keyof Configuration; value: string | number };\n }) => {\n typedDispatch(onChange({ name, value }));\n };\n\n return (\n <Layouts.Root>\n <Page.Main aria-busy={isSubmittingForm}>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n navigationAction={\n <Link\n tag={NavLink}\n startIcon={<ArrowLeft />}\n to={`/plugins/${pluginId}`}\n id=\"go-back\"\n >\n {formatMessage({ id: getTrad('config.back'), defaultMessage: 'Back' })}\n </Link>\n }\n primaryAction={\n <Button\n size=\"S\"\n startIcon={<Check />}\n disabled={isEqual(modifiedData, initialData)}\n type=\"submit\"\n fullWidth\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n subtitle={formatMessage({\n id: getTrad('config.subtitle'),\n defaultMessage: 'Define the view settings of the media library.',\n })}\n title={formatMessage({\n id: getTrad('config.title'),\n defaultMessage: 'Configure the view - Media Library',\n })}\n />\n <Layouts.Content>\n <Settings\n data-testid=\"settings\"\n pageSize={modifiedData.pageSize || ''}\n sort={modifiedData.sort || ''}\n onChange={handleChange}\n />\n </Layouts.Content>\n <Dialog.Root open={showWarningSubmit} onOpenChange={toggleWarningSubmit}>\n <ConfirmDialog onConfirm={handleConfirm} variant=\"default\">\n {formatMessage({\n id: getTrad('config.popUpWarning.warning.updateAllSettings'),\n defaultMessage: 'This will modify all your settings',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n </form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n"],"names":["ConfigureTheView","config","trackUsage","useTracking","formatMessage","useIntl","toggleNotification","useNotification","mutateConfig","useConfig","isLoading","isSubmittingForm","showWarningSubmit","setWarningSubmit","React","useState","toggleWarningSubmit","prevState","reducerState","dispatch","useReducer","reducer","initialState","init","typedDispatch","initialData","modifiedData","handleSubmit","e","preventDefault","handleConfirm","mutateAsync","setLoaded","type","message","id","defaultMessage","handleChange","target","name","value","onChange","_jsx","Layouts","Root","Page","Main","aria-busy","_jsxs","form","onSubmit","Header","navigationAction","Link","tag","NavLink","startIcon","ArrowLeft","to","pluginId","getTrad","primaryAction","Button","size","Check","disabled","isEqual","fullWidth","subtitle","title","Content","Settings","data-testid","pageSize","sort","Dialog","open","onOpenChange","ConfirmDialog","onConfirm","variant"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConfigureTheView.js","sources":["../../../../../admin/src/pages/App/ConfigureTheView/ConfigureTheView.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport {\n ConfirmDialog,\n useTracking,\n useNotification,\n Page,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Dialog, Link } from '@strapi/design-system';\nimport { ArrowLeft, Check } from '@strapi/icons';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useConfig } from '../../../hooks/useConfig';\nimport { pluginId } from '../../../pluginId';\nimport { getTrad } from '../../../utils';\n\nimport { Settings } from './components/Settings';\nimport { onChange, setLoaded } from './state/actions';\nimport { init, initialState } from './state/init';\nimport { reducer } from './state/reducer';\n\nimport type { InitialState } from './state/init';\nimport type { Action } from './state/reducer';\nimport type { Configuration } from '../../../../../shared/contracts/configuration';\n\ninterface ConfigureTheViewProps {\n config: Configuration;\n}\n\nexport const ConfigureTheView = ({ config }: ConfigureTheViewProps) => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { mutateConfig } = useConfig();\n const { isLoading: isSubmittingForm } = mutateConfig;\n\n const [showWarningSubmit, setWarningSubmit] = React.useState(false);\n const toggleWarningSubmit = () => setWarningSubmit((prevState) => !prevState);\n\n const [reducerState, dispatch] = React.useReducer(\n reducer,\n initialState,\n (): InitialState => init(config)\n );\n const typedDispatch: React.Dispatch<Action> = dispatch;\n const { initialData, modifiedData } = reducerState;\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n toggleWarningSubmit();\n };\n\n const handleConfirm = async () => {\n trackUsage('willEditMediaLibraryConfig');\n await mutateConfig.mutateAsync(modifiedData as Configuration);\n setWarningSubmit(false);\n typedDispatch(setLoaded());\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.form.success.fields',\n defaultMessage: 'Changes saved',\n }),\n });\n };\n\n const handleChange = ({\n target: { name, value },\n }: {\n target: { name: keyof Configuration; value: string | number };\n }) => {\n typedDispatch(onChange({ name, value }));\n };\n\n return (\n <Layouts.Root>\n <Page.Main aria-busy={isSubmittingForm}>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n navigationAction={\n <Link\n tag={NavLink}\n startIcon={<ArrowLeft />}\n to={`/plugins/${pluginId}`}\n id=\"go-back\"\n >\n {formatMessage({ id: getTrad('config.back'), defaultMessage: 'Back' })}\n </Link>\n }\n primaryAction={\n <Button\n size=\"S\"\n startIcon={<Check />}\n disabled={isEqual(modifiedData, initialData)}\n type=\"submit\"\n fullWidth\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n subtitle={formatMessage({\n id: getTrad('config.subtitle'),\n defaultMessage: 'Define the view settings of the media library.',\n })}\n title={formatMessage({\n id: getTrad('config.title'),\n defaultMessage: 'Configure the view - Media Library',\n })}\n />\n <Layouts.Content>\n <Settings\n data-testid=\"settings\"\n pageSize={modifiedData.pageSize || ''}\n sort={modifiedData.sort || ''}\n onChange={handleChange}\n />\n </Layouts.Content>\n <Dialog.Root open={showWarningSubmit} onOpenChange={toggleWarningSubmit}>\n <ConfirmDialog onConfirm={handleConfirm} variant=\"default\">\n {formatMessage({\n id: getTrad('config.popUpWarning.warning.updateAllSettings'),\n defaultMessage: 'This will modify all your settings',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n </form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n"],"names":["ConfigureTheView","config","trackUsage","useTracking","formatMessage","useIntl","toggleNotification","useNotification","mutateConfig","useConfig","isLoading","isSubmittingForm","showWarningSubmit","setWarningSubmit","React","useState","toggleWarningSubmit","prevState","reducerState","dispatch","useReducer","reducer","initialState","init","typedDispatch","initialData","modifiedData","handleSubmit","e","preventDefault","handleConfirm","mutateAsync","setLoaded","type","message","id","defaultMessage","handleChange","target","name","value","onChange","_jsx","Layouts","Root","Page","Main","aria-busy","_jsxs","form","onSubmit","Header","navigationAction","Link","tag","NavLink","startIcon","ArrowLeft","to","pluginId","getTrad","primaryAction","Button","size","Check","disabled","isEqual","fullWidth","subtitle","title","Content","Settings","data-testid","pageSize","sort","Dialog","open","onOpenChange","ConfirmDialog","onConfirm","variant"],"mappings":"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"}
|
|
@@ -12,7 +12,6 @@ import 'byte-size';
|
|
|
12
12
|
import 'date-fns';
|
|
13
13
|
import { getTrad } from '../../../utils/getTrad.mjs';
|
|
14
14
|
import 'qs';
|
|
15
|
-
import '../../../utils/typeFromMime.mjs';
|
|
16
15
|
import '../../../utils/urlYupSchema.mjs';
|
|
17
16
|
import { Settings } from './components/Settings.mjs';
|
|
18
17
|
import { onChange, setLoaded } from './state/actions.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigureTheView.mjs","sources":["../../../../../admin/src/pages/App/ConfigureTheView/ConfigureTheView.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport {\n ConfirmDialog,\n useTracking,\n useNotification,\n Page,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Dialog, Link } from '@strapi/design-system';\nimport { ArrowLeft, Check } from '@strapi/icons';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useConfig } from '../../../hooks/useConfig';\nimport { pluginId } from '../../../pluginId';\nimport { getTrad } from '../../../utils';\n\nimport { Settings } from './components/Settings';\nimport { onChange, setLoaded } from './state/actions';\nimport { init, initialState } from './state/init';\nimport { reducer } from './state/reducer';\n\nimport type { InitialState } from './state/init';\nimport type { Action } from './state/reducer';\nimport type { Configuration } from '../../../../../shared/contracts/configuration';\n\ninterface ConfigureTheViewProps {\n config: Configuration;\n}\n\nexport const ConfigureTheView = ({ config }: ConfigureTheViewProps) => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { mutateConfig } = useConfig();\n const { isLoading: isSubmittingForm } = mutateConfig;\n\n const [showWarningSubmit, setWarningSubmit] = React.useState(false);\n const toggleWarningSubmit = () => setWarningSubmit((prevState) => !prevState);\n\n const [reducerState, dispatch] = React.useReducer(\n reducer,\n initialState,\n (): InitialState => init(config)\n );\n const typedDispatch: React.Dispatch<Action> = dispatch;\n const { initialData, modifiedData } = reducerState;\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n toggleWarningSubmit();\n };\n\n const handleConfirm = async () => {\n trackUsage('willEditMediaLibraryConfig');\n await mutateConfig.mutateAsync(modifiedData as Configuration);\n setWarningSubmit(false);\n typedDispatch(setLoaded());\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.form.success.fields',\n defaultMessage: 'Changes saved',\n }),\n });\n };\n\n const handleChange = ({\n target: { name, value },\n }: {\n target: { name: keyof Configuration; value: string | number };\n }) => {\n typedDispatch(onChange({ name, value }));\n };\n\n return (\n <Layouts.Root>\n <Page.Main aria-busy={isSubmittingForm}>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n navigationAction={\n <Link\n tag={NavLink}\n startIcon={<ArrowLeft />}\n to={`/plugins/${pluginId}`}\n id=\"go-back\"\n >\n {formatMessage({ id: getTrad('config.back'), defaultMessage: 'Back' })}\n </Link>\n }\n primaryAction={\n <Button\n size=\"S\"\n startIcon={<Check />}\n disabled={isEqual(modifiedData, initialData)}\n type=\"submit\"\n fullWidth\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n subtitle={formatMessage({\n id: getTrad('config.subtitle'),\n defaultMessage: 'Define the view settings of the media library.',\n })}\n title={formatMessage({\n id: getTrad('config.title'),\n defaultMessage: 'Configure the view - Media Library',\n })}\n />\n <Layouts.Content>\n <Settings\n data-testid=\"settings\"\n pageSize={modifiedData.pageSize || ''}\n sort={modifiedData.sort || ''}\n onChange={handleChange}\n />\n </Layouts.Content>\n <Dialog.Root open={showWarningSubmit} onOpenChange={toggleWarningSubmit}>\n <ConfirmDialog onConfirm={handleConfirm} variant=\"default\">\n {formatMessage({\n id: getTrad('config.popUpWarning.warning.updateAllSettings'),\n defaultMessage: 'This will modify all your settings',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n </form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n"],"names":["ConfigureTheView","config","trackUsage","useTracking","formatMessage","useIntl","toggleNotification","useNotification","mutateConfig","useConfig","isLoading","isSubmittingForm","showWarningSubmit","setWarningSubmit","React","useState","toggleWarningSubmit","prevState","reducerState","dispatch","useReducer","reducer","initialState","init","typedDispatch","initialData","modifiedData","handleSubmit","e","preventDefault","handleConfirm","mutateAsync","setLoaded","type","message","id","defaultMessage","handleChange","target","name","value","onChange","_jsx","Layouts","Root","Page","Main","aria-busy","_jsxs","form","onSubmit","Header","navigationAction","Link","tag","NavLink","startIcon","ArrowLeft","to","pluginId","getTrad","primaryAction","Button","size","Check","disabled","isEqual","fullWidth","subtitle","title","Content","Settings","data-testid","pageSize","sort","Dialog","open","onOpenChange","ConfirmDialog","onConfirm","variant"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConfigureTheView.mjs","sources":["../../../../../admin/src/pages/App/ConfigureTheView/ConfigureTheView.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport {\n ConfirmDialog,\n useTracking,\n useNotification,\n Page,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Dialog, Link } from '@strapi/design-system';\nimport { ArrowLeft, Check } from '@strapi/icons';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useConfig } from '../../../hooks/useConfig';\nimport { pluginId } from '../../../pluginId';\nimport { getTrad } from '../../../utils';\n\nimport { Settings } from './components/Settings';\nimport { onChange, setLoaded } from './state/actions';\nimport { init, initialState } from './state/init';\nimport { reducer } from './state/reducer';\n\nimport type { InitialState } from './state/init';\nimport type { Action } from './state/reducer';\nimport type { Configuration } from '../../../../../shared/contracts/configuration';\n\ninterface ConfigureTheViewProps {\n config: Configuration;\n}\n\nexport const ConfigureTheView = ({ config }: ConfigureTheViewProps) => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { mutateConfig } = useConfig();\n const { isLoading: isSubmittingForm } = mutateConfig;\n\n const [showWarningSubmit, setWarningSubmit] = React.useState(false);\n const toggleWarningSubmit = () => setWarningSubmit((prevState) => !prevState);\n\n const [reducerState, dispatch] = React.useReducer(\n reducer,\n initialState,\n (): InitialState => init(config)\n );\n const typedDispatch: React.Dispatch<Action> = dispatch;\n const { initialData, modifiedData } = reducerState;\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n toggleWarningSubmit();\n };\n\n const handleConfirm = async () => {\n trackUsage('willEditMediaLibraryConfig');\n await mutateConfig.mutateAsync(modifiedData as Configuration);\n setWarningSubmit(false);\n typedDispatch(setLoaded());\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.form.success.fields',\n defaultMessage: 'Changes saved',\n }),\n });\n };\n\n const handleChange = ({\n target: { name, value },\n }: {\n target: { name: keyof Configuration; value: string | number };\n }) => {\n typedDispatch(onChange({ name, value }));\n };\n\n return (\n <Layouts.Root>\n <Page.Main aria-busy={isSubmittingForm}>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n navigationAction={\n <Link\n tag={NavLink}\n startIcon={<ArrowLeft />}\n to={`/plugins/${pluginId}`}\n id=\"go-back\"\n >\n {formatMessage({ id: getTrad('config.back'), defaultMessage: 'Back' })}\n </Link>\n }\n primaryAction={\n <Button\n size=\"S\"\n startIcon={<Check />}\n disabled={isEqual(modifiedData, initialData)}\n type=\"submit\"\n fullWidth\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n subtitle={formatMessage({\n id: getTrad('config.subtitle'),\n defaultMessage: 'Define the view settings of the media library.',\n })}\n title={formatMessage({\n id: getTrad('config.title'),\n defaultMessage: 'Configure the view - Media Library',\n })}\n />\n <Layouts.Content>\n <Settings\n data-testid=\"settings\"\n pageSize={modifiedData.pageSize || ''}\n sort={modifiedData.sort || ''}\n onChange={handleChange}\n />\n </Layouts.Content>\n <Dialog.Root open={showWarningSubmit} onOpenChange={toggleWarningSubmit}>\n <ConfirmDialog onConfirm={handleConfirm} variant=\"default\">\n {formatMessage({\n id: getTrad('config.popUpWarning.warning.updateAllSettings'),\n defaultMessage: 'This will modify all your settings',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n </form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n"],"names":["ConfigureTheView","config","trackUsage","useTracking","formatMessage","useIntl","toggleNotification","useNotification","mutateConfig","useConfig","isLoading","isSubmittingForm","showWarningSubmit","setWarningSubmit","React","useState","toggleWarningSubmit","prevState","reducerState","dispatch","useReducer","reducer","initialState","init","typedDispatch","initialData","modifiedData","handleSubmit","e","preventDefault","handleConfirm","mutateAsync","setLoaded","type","message","id","defaultMessage","handleChange","target","name","value","onChange","_jsx","Layouts","Root","Page","Main","aria-busy","_jsxs","form","onSubmit","Header","navigationAction","Link","tag","NavLink","startIcon","ArrowLeft","to","pluginId","getTrad","primaryAction","Button","size","Check","disabled","isEqual","fullWidth","subtitle","title","Content","Settings","data-testid","pageSize","sort","Dialog","open","onOpenChange","ConfirmDialog","onConfirm","variant"],"mappings":"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"}
|