-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuploads.js
More file actions
71 lines (71 loc) · 2.73 KB
/
uploads.js
File metadata and controls
71 lines (71 loc) · 2.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
(function () {
let fileArray = [];
let mainImg = "";
const buttonUpload = document.querySelector(".applicationSummary-details__image_button_upload");
const input = document.querySelector(".img-upload-default");
buttonUpload.onclick = (e) => {
e.preventDefault();
input.click();
};
input.addEventListener("change", (e) => {
workingWithFiles(input.files);
document.querySelector(".applicationSummary-details__image_button_save").classList.remove("hide");
});
let number = 0;
function workingWithFiles(files) {
for (let i = 0, file; (file = files[i]); i++) {
let reader = new FileReader();
fileArray.push(files[i]);
reader.onload = (function (theFile) {
return function (e) {
uploadPreview();
function uploadPreview() {
const span = document.createElement("span");
const close = document.createElement("button");
const div = document.createElement("div");
const radio = document.createElement("input");
const label = document.createElement("label");
span.setAttribute("class", "applicationSummary-details__image_output_span");
close.setAttribute("class", "removeUploadImg");
close.setAttribute("data-removeUploadImg", number);
number++;
div.setAttribute("class", "selectMainImg");
close.innerHTML = `<img src="./icons/close.png" alt="close">`;
label.innerHTML = `<span> Сделать главной</span> `;
label.setAttribute("class", "custom-radio");
span.innerHTML = ['<img class="imgPreview" title="',escape(theFile.name),'" src="',e.target.result,'" />',].join("");
radio.value = theFile.name;
radio.type = "radio";
radio.name = "select";
label.prepend(radio);
span.append(close);
div.append(label);
span.append(div);
document.getElementById("output").insertBefore(span, null);
deleteFile(close);
selectMain(radio);
}
};
})(file);
reader.readAsDataURL(file);
}
function deleteFile(close) {
close.addEventListener("click", function (e) {
let numberRemove = 0;
let removeUploadImg = close.dataset.removeuploadimg;
this.parentElement.remove();
fileArray.splice(removeUploadImg, 1);
document.querySelectorAll(".removeUploadImg").forEach((element) => {
element.setAttribute("data-removeUploadImg",numberRemove);
numberRemove++;
});
number--;
});
}
function selectMain(radio) {
radio.addEventListener("click", function (e) {
mainImg = radio.value;
});
}
}
})();