// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later Dropzone.options.dropzone = { init: function() { var dzone = document.getElementById("dzone"); dzone.style.display = "block"; }, addedfile: function(file) { var upload = document.createElement("div"); upload.className = "upload"; var fileLabel = document.createElement("span"); fileLabel.innerHTML = file.name; file.fileLabel = fileLabel; upload.appendChild(fileLabel); var fileActions = document.createElement("div"); fileActions.className = "right"; file.fileActions = fileActions; upload.appendChild(fileActions); var cancelAction = document.createElement("span"); cancelAction.className = "cancel"; cancelAction.innerHTML = "Cancel"; cancelAction.addEventListener('click', function(ev) { this.removeFile(file); }.bind(this)); file.cancelActionElement = cancelAction; fileActions.appendChild(cancelAction); var progress = document.createElement("span"); file.progressElement = progress; fileActions.appendChild(progress); file.uploadElement = upload; document.getElementById("uploads").appendChild(upload); }, uploadprogress: function(file, p, bytesSent) { p = parseInt(p); file.progressElement.innerHTML = p + "%"; file.uploadElement.setAttribute("style", 'background-image: -webkit-linear-gradient(left, #F2F4F7 ' + p + '%, #E2E2E2 ' + p + '%); background-image: -moz-linear-gradient(left, #F2F4F7 ' + p + '%, #E2E2E2 ' + p + '%); background-image: -ms-linear-gradient(left, #F2F4F7 ' + p + '%, #E2E2E2 ' + p + '%); background-image: -o-linear-gradient(left, #F2F4F7 ' + p + '%, #E2E2E2 ' + p + '%); background-image: linear-gradient(left, #F2F4F7 ' + p + '%, #E2E2E2 ' + p + '%)'); }, sending: function(file, xhr, formData) { var randomize = document.getElementById("randomize"); if(randomize != null) { formData.append("randomize", randomize.checked); } formData.append("expires", document.getElementById("expires").value); }, success: function(file, resp) { file.fileActions.removeChild(file.progressElement); var fileLabelLink = document.createElement("a"); fileLabelLink.href = resp.url; fileLabelLink.target = "_blank"; fileLabelLink.innerHTML = resp.url; file.fileLabel.innerHTML = ""; file.fileLabelLink = fileLabelLink; file.fileLabel.appendChild(fileLabelLink); var deleteAction = document.createElement("span"); deleteAction.innerHTML = "Delete"; deleteAction.className = "cancel"; deleteAction.addEventListener('click', function(ev) { xhr = new XMLHttpRequest(); xhr.open("DELETE", resp.url, true); xhr.setRequestHeader("Linx-Delete-Key", resp.delete_key); xhr.onreadystatechange = function(file) { if (xhr.readyState == 4 && xhr.status === 200) { var text = document.createTextNode("Deleted "); file.fileLabel.insertBefore(text, file.fileLabelLink); file.fileLabel.className = "deleted"; file.fileActions.removeChild(file.cancelActionElement); } }.bind(this, file); xhr.send(); }); file.fileActions.removeChild(file.cancelActionElement); file.cancelActionElement = deleteAction; file.fileActions.appendChild(deleteAction); }, error: function(file, resp, xhrO) { file.fileActions.removeChild(file.cancelActionElement); file.fileActions.removeChild(file.progressElement); if (file.status === "canceled") { file.fileLabel.innerHTML = file.name + ": Canceled "; } else { if (resp.error) { file.fileLabel.innerHTML = file.name + ": " + resp.error; } else if (resp.includes("