fix: Add custom dropzone event
This commit is contained in:
parent
12f2e50232
commit
d077b6b50d
@ -33,6 +33,31 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) {
|
|||||||
setUploadFiles(uploadFiles.filter((file) => file.id !== id))
|
setUploadFiles(uploadFiles.filter((file) => file.id !== id))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleDrop = (e) => {
|
||||||
|
e.preventDefault()
|
||||||
|
e.stopPropagation()
|
||||||
|
const fileList = []
|
||||||
|
Array.from(e.dataTransfer.files).forEach((file) => {
|
||||||
|
fileList.push({ data: file, id: uuidv4() })
|
||||||
|
})
|
||||||
|
setUploadFiles([...uploadFiles, ...fileList])
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDragOver = (e) => {
|
||||||
|
e.preventDefault()
|
||||||
|
e.stopPropagation()
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDragEnd = (e) => {
|
||||||
|
e.preventDefault()
|
||||||
|
e.stopPropagation()
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDragLeave = (e) => {
|
||||||
|
e.preventDefault()
|
||||||
|
e.stopPropagation()
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="drag-file-box">
|
<div className="drag-file-box">
|
||||||
<div className="btn-area">
|
<div className="btn-area">
|
||||||
@ -41,7 +66,14 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) {
|
|||||||
</label>
|
</label>
|
||||||
<input type="file" name="file" id="img" ref={fileInputRef} style={{ display: 'none' }} onChange={(e) => onChangeFiles(e)} />
|
<input type="file" name="file" id="img" ref={fileInputRef} style={{ display: 'none' }} onChange={(e) => onChangeFiles(e)} />
|
||||||
</div>
|
</div>
|
||||||
<div className="drag-file-area">
|
<div
|
||||||
|
className="drag-file-area"
|
||||||
|
draggable
|
||||||
|
onDrop={(e) => handleDrop(e)}
|
||||||
|
onDragOver={(e) => handleDragOver(e)}
|
||||||
|
onDragEnd={(e) => handleDragEnd(e)}
|
||||||
|
onDragLeave={(e) => handleDragLeave(e)}
|
||||||
|
>
|
||||||
<p>Drag file here</p>
|
<p>Drag file here</p>
|
||||||
<ul className="file-list">
|
<ul className="file-list">
|
||||||
{uploadFiles.length > 0 &&
|
{uploadFiles.length > 0 &&
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user