aboutsummaryrefslogtreecommitdiff
path: root/qc_app/static/js/upload_progress.js
diff options
context:
space:
mode:
Diffstat (limited to 'qc_app/static/js/upload_progress.js')
-rw-r--r--qc_app/static/js/upload_progress.js97
1 files changed, 0 insertions, 97 deletions
diff --git a/qc_app/static/js/upload_progress.js b/qc_app/static/js/upload_progress.js
deleted file mode 100644
index 9638b36..0000000
--- a/qc_app/static/js/upload_progress.js
+++ /dev/null
@@ -1,97 +0,0 @@
-function make_processing_indicator(elt) {
- var count = 0;
- return function() {
- var message = "Finalising upload and saving file: "
- if(count > 5) {
- count = 1;
- }
- for(i = 0; i < count; i++) {
- message = message + ".";
- }
- elt.innerHTML = message
- count = count + 1
- };
-}
-
-function make_progress_updater(file, indicator_elt) {
- var progress_bar = indicator_elt.querySelector("#progress-bar");
- var progress_text = indicator_elt.querySelector("#progress-text");
- var extra_text = indicator_elt.querySelector("#progress-extra-text");
- return function(event) {
- if(event.loaded <= file.size) {
- var percent = Math.round((event.loaded / file.size) * 100);
- progress_bar.value = percent
- progress_text.innerHTML = "Uploading: " + percent + "%";
- extra_text.setAttribute("class", "hidden")
- }
-
- if(event.loaded == event.total) {
- progress_bar.value = 100;
- progress_text.innerHTML = "Uploaded: 100%";
- extra_text.setAttribute("class", null);
- intv = setInterval(make_processing_indicator(extra_text), 400);
- setTimeout(function() {clearTimeout(intv);}, 20000);
- }
- };
-}
-
-function setup_cancel_upload(request, indicator_elt) {
- document.getElementById("btn-cancel-upload").addEventListener(
- "click", function(event) {
- event.preventDefault();
- request.abort();
- });
-}
-
-function setup_request(file, progress_indicator_elt) {
- var request = new XMLHttpRequest();
- var updater = make_progress_updater(file, progress_indicator_elt);
- request.upload.addEventListener("progress", updater);
- request.onload = function(event) {
- document.location.assign(request.responseURL);
- };
- setup_cancel_upload(request, progress_indicator_elt)
- return request;
-}
-
-function selected_filetype(radios) {
- for(idx = 0; idx < radios.length; idx++) {
- if(radios[idx].checked) {
- return radios[idx].value;
- }
- }
-}
-
-function make_data_uploader(setup_formdata) {
- return function(event) {
- event.preventDefault();
-
- var pindicator = document.getElementById("upload-progress-indicator");
-
- var form = event.target;
- var the_file = form.querySelector("input[type='file']").files[0];
- if(the_file === undefined) {
- form.querySelector("input[type='file']").parentElement.setAttribute(
- "class", "invalid-input");
- error_elt = form.querySelector("#no-file-error");
- if(error_elt !== undefined) {
- error_elt.setAttribute("style", "display: block;");
- }
- return false;
- }
- var formdata = setup_formdata(form);
-
- document.getElementById("progress-filename").innerHTML = the_file.name;
- var request = setup_request(the_file, pindicator);
- request.open(form.getAttribute("method"), form.getAttribute("action"));
- request.send(formdata);
- return false;
- }
-}
-
-
-function setup_upload_handlers(formid, datauploader) {
- console.info("Setting up the upload handlers.")
- upload_form = document.getElementById(formid);
- upload_form.addEventListener("submit", datauploader);
-}