Change indentation in dz.js

git-svn-id: file:///srv/svn/repo/marisa/trunk@56 d6811dac-2434-b64a-9ddc-f563ab233461
This commit is contained in:
dev 2022-01-18 06:01:58 +00:00
parent c7687232ef
commit cc118407b3

View File

@ -4,85 +4,95 @@
// Only start once the DOM tree is ready // Only start once the DOM tree is ready
if(document.readyState === "complete") { if(document.readyState === "complete") {
setupzone(); setupzone();
} else { } else {
document.addEventListener("DOMContentLoaded", setupzone); document.addEventListener("DOMContentLoaded", setupzone);
} }
function setupzone() { function setupzone() {
let dropzone = document.getElementById("dropzone"); let dropzone = document.getElementById("dropzone");
let fileinput = document.getElementById("filebox"); let fileinput = document.getElementById("filebox");
let fallbackform = document.getElementById("fallbackform"); let fallbackform = document.getElementById("fallbackform");
fallbackform.style.display = "none"; fallbackform.style.display = "none";
dropzone.className = "dropzone"; dropzone.className = "dropzone";
dropzone.innerHTML = "Click or drop file(s)"; dropzone.innerHTML = "Click or drop file(s)";
dropzone.onclick = function() { dropzone.onclick = function() {
fileinput.click() fileinput.click()
return false; return false;
} }
dropzone.ondragover = function() { dropzone.ondragover = function() {
this.className = "dropzone dragover"; this.className = "dropzone dragover";
return false; return false;
} }
dropzone.ondragleave = function() {
this.className = "dropzone";
return false;
}
dropzone.ondrop = function(e) { dropzone.ondragleave = function() {
// Stop browser from simply opening that was just dropped this.className = "dropzone";
e.preventDefault(); return false;
// Restore original dropzone appearance }
this.className = "dropzone";
sendfiles(e.dataTransfer.files)
}
fileinput.onchange = function(e) { dropzone.ondrop = function(e) {
sendfiles(this.files) // Stop browser from simply opening that was just dropped
} e.preventDefault();
// Restore original dropzone appearance
this.className = "dropzone";
sendfiles(e.dataTransfer.files)
}
fileinput.onchange = function(e) {
sendfiles(this.files)
}
} }
function sendfiles(files) { function sendfiles(files) {
let uploads = document.getElementById("uploads"); let uploads = document.getElementById("uploads");
let progressbar = document.createElement("progress"); let progressbar = document.createElement("progress");
let uploadlist = document.createElement("ul"); let uploadlist = document.createElement("ul");
let formData = new FormData(), xhr = new XMLHttpRequest(); let uploadtext = document.createElement("textarea");
let formData = new FormData(), xhr = new XMLHttpRequest();
uploads.appendChild(progressbar); // used for clipboard only
uploads.appendChild(uploadlist); uploadtext.style.display = "none";
formData.append("expiry", 10); uploads.appendChild(progressbar);
for(let i=0; i < files.length; i++) { uploads.appendChild(uploadlist);
formData.append("file", files[i]); uploads.appendChild(uploadtext);
}
// triggers periodically formData.append("expiry", 10);
xhr.upload.onprogress = function(e) { for(let i=0; i < files.length; i++) {
// e.loaded - how many bytes downloaded formData.append("file", files[i]);
// e.lengthComputable = true if the server sent Content-Length header
// e.total - total number of bytes (if lengthComputable)
if (e.lengthComputable) {
progressbar.max = e.total
} }
progressbar.value = e.loaded
}
xhr.onreadystatechange = function() { // triggers periodically
if(xhr.readyState === XMLHttpRequest.DONE) { xhr.upload.onprogress = function(e) {
progressbar.remove(); // e.loaded - how many bytes downloaded
this.response.split(/\r?\n/).forEach(function(link) { // e.lengthComputable = true if the server sent Content-Length header
let li = document.createElement("li"); // e.total - total number of bytes (if lengthComputable)
li.innerHTML = `<a href="${link}">${link}</a>`;
uploadlist.appendChild(li);
});
}
}
xhr.open('POST', window.location.href, true); // async = true }
xhr.send(formData);
xhr.onreadystatechange = function() {
if(xhr.readyState === XMLHttpRequest.DONE) {
progressbar.remove();
this.response.split(/\r?\n/).forEach(function(link) {
let li = document.createElement("li");
li.innerHTML = `<a href="${link}">${link}</a>`;
uploadlist.appendChild(li);
});
let clippy = document.createElement("button");
uploads.appendChild(clippy);
clippy.innerText = " 📋 copy ";
clippy.onclick = function(e) {
uploadtext.select();
document.execCommand("copy");
}
}
}
xhr.open('POST', window.location.href, true); // async = true
xhr.send(formData);
} }