Files
flees/code/static/js/scripts.js

65 lines
1.6 KiB
JavaScript

function index_form_enter(event) {
if (event.which || event.keyCode) {
if ((event.which == 13) || (event.keyCode == 13)) {
index_form_submit();
}
};
}
function index_form_submit() {
window.location = window.location + "/list/" + document.getElementById("index_form_name").value;
}
function UploadFile(file) {
var xhr = new XMLHttpRequest();
if (xhr.upload) {
var o = document.getElementById("progress");
xhr.upload.addEventListener("progress", function(e) {
var pc = parseInt((e.loaded / e.total * 100));
o.innerHTML = "Uploading: " + pc + "%";
// upload works, hide button
document.getElementById("list_upload_button").hidden = true;
}, false);
// file received/failed
xhr.onreadystatechange = function(e) {
if (xhr.readyState == 4) {
progress.className = (xhr.status == 200 ? "success" : "failure");
if (xhr.status == 200) {
location = location;
} else {
o.innerHTML = xhr.response;
}
}
};
// start upload
xhr.open("POST", document.getElementById("upload_form").action, true);
xhr.setRequestHeader("X-FILENAME", file.name);
var formData = new FormData();
formData.append('name', document.getElementById("list_upload_name").value);
formData.append('file', file);
xhr.send(formData);
}
}
// file selection
function FileSelectHandler(e) {
// fetch FileList object
var files = e.target.files || e.dataTransfer.files;
// process all File objects
for (var i = 0, f; f = files[i]; i++) {
UploadFile(f);
}
}