Skip to content

Commit a674e1a

Browse files
committedMar 2, 2025
minor changes for validation
1 parent 160c508 commit a674e1a

File tree

1 file changed

+8
-15
lines changed
  • drag-and-drop-vanilla-js/src

1 file changed

+8
-15
lines changed
 

‎drag-and-drop-vanilla-js/src/main.js

+8-15
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const drag_img = document.querySelector(".drag-img");
55
const label_Onupload = document.getElementById("upload-label");
66

77
// drag and drap events
8-
let isDragged; // store the dragged elements
8+
let isDragged; // manage the state dragged elements zone
99

1010
dragUploadFile.addEventListener("change", (e) => {
1111
if (e.target.files.length > 3) {
@@ -34,6 +34,7 @@ function handleOnDragItem(e) {
3434
function onDragOver(e) {
3535
e.stopPropagation();
3636
e.preventDefault();
37+
e.dataTransfer.dropEffect = "move";
3738
e.target.classList.add("currentBox");
3839
}
3940

@@ -46,16 +47,14 @@ function onDragDrop(e) {
4647
e.target.classList.remove("currentBox");
4748
const dropTarget = e.target.closest(".drag-area");
4849
if (!dropTarget) return;
49-
5050
for (let file of e.dataTransfer.files) {
5151
if (file.type === "image/*") {
5252
displayMultipleImages(file);
5353
}
54-
}
55-
56-
if (isDragged) {
57-
if (dropTarget !== isDragged.parentElement) {
58-
dropTarget.appendChild(isDragged);
54+
if (isDragged) {
55+
if (dropTarget !== isDragged.parentElement) {
56+
dropTarget.appendChild(isDragged);
57+
}
5958
}
6059
}
6160
}
@@ -86,26 +85,20 @@ function dropZonEmptyCheck(image) {
8685

8786
// handling multiple files
8887
function displayMultipleImages(files) {
89-
for (let file of files) {
90-
if (!file && !file.type("image/*") && files.length > 3) {
91-
return false;
92-
}
93-
}
94-
95-
//
9688
for (let file of files) {
9789
let reader = new FileReader();
90+
reader.readAsDataURL(file);
9891
reader.onload = () => {
9992
let image = new Image();
10093
image.src = reader.result;
10194
image.style.display = "block";
10295
image.className = "drag-img";
10396
image.setAttribute("draggable", "true");
10497
image.addEventListener("dragstart", function (e) {
98+
e.dataTransfer.setData("text/plain", image.src);
10599
isDragged = e.target;
106100
});
107101
imageShow.appendChild(image);
108102
};
109-
reader.readAsDataURL(file);
110103
}
111104
}

0 commit comments

Comments
 (0)
Please sign in to comment.