aboutsummaryrefslogtreecommitdiffstats
path: root/loggedin.js
diff options
context:
space:
mode:
Diffstat (limited to 'loggedin.js')
-rw-r--r--loggedin.js48
1 files changed, 45 insertions, 3 deletions
diff --git a/loggedin.js b/loggedin.js
index 8980586..436719f 100644
--- a/loggedin.js
+++ b/loggedin.js
@@ -1,21 +1,42 @@
+var FORM_ASYNC = false;
+
const upload_form = document.getElementById("upload_form");
const the_file = document.getElementById("the_file");
const filename_input = document.getElementById("filename");
const upload_btn = document.getElementById("upload_btn");
+const current_directory = document.getElementById("current_directory");
the_file.onchange = on_file_added;
-function on_file_added(e) {
+const files = [];
+
+const pending_uploads = [];
+
+function on_file_added(_e) {
if (the_file.files.length >= 1) {
filename_input.value = the_file.files[0].name;
+ if (!FORM_ASYNC) {
+ upload_form.submit();
+ return;
+ }
+
// Send the form asynchronously through the fetch api
fetch(upload_form.action, {
method: upload_form.method,
body: new FormData(upload_form)
- })
+ }).then((resp) => {
+ if (resp.status == 200) {
+ add_file_visuals(filename_input.value, true);
+ }
+ else {
+ alert("Upload failed");
+ }
+ }, () => {
+ alert("Upload failed")
+ });
+
- alert("Sent the upload request");
}
else {
alert("No files selected");
@@ -23,6 +44,27 @@ function on_file_added(e) {
}
+function add_file_visuals(name, pending) {
+ var fileDiv = document.createElement('div');
+
+ var img = document.createElement('img');
+ var filename = document.createElement('div');
+
+ img.src="/mimeicons/application-pdf.png";
+ fileDiv.classList.add('file');
+ filename.classList.add('filename');
+ filename.innerText = name;
+
+ fileDiv.appendChild(img);
+ fileDiv.appendChild(filename);
+
+ current_directory.appendChild(fileDiv);
+
+ files.push([name, fileDiv]);
+
+ return fileDiv;
+}
+
function begin_upload() {
the_file.click();
}