aboutsummaryrefslogtreecommitdiffstats
path: root/view/js
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2017-11-30 19:06:00 -0800
committerzotlabs <mike@macgirvin.com>2017-11-30 19:06:00 -0800
commit19ec8488e09bcff3a7ef6e9d2abbe4b0c213b3f8 (patch)
treeaba909fa56e2875deb4a25542c97eb490ab3e4fd /view/js
parentfc5b6887168a25992fb089ed7da7ac917e7aaf6b (diff)
parent0e8e0b48b3fd6f4d6d0dd60039743371930af08d (diff)
downloadvolse-hubzilla-19ec8488e09bcff3a7ef6e9d2abbe4b0c213b3f8.tar.gz
volse-hubzilla-19ec8488e09bcff3a7ef6e9d2abbe4b0c213b3f8.tar.bz2
volse-hubzilla-19ec8488e09bcff3a7ef6e9d2abbe4b0c213b3f8.zip
Merge branch 'chunk'
Diffstat (limited to 'view/js')
-rw-r--r--view/js/mod_cloud.js74
1 files changed, 49 insertions, 25 deletions
diff --git a/view/js/mod_cloud.js b/view/js/mod_cloud.js
index 8af90863e..9f2a007f3 100644
--- a/view/js/mod_cloud.js
+++ b/view/js/mod_cloud.js
@@ -16,26 +16,48 @@ function UploadInit() {
var fileselect = $("#files-upload");
var filedrag = $("#cloud-drag-area");
var submit = $("#upload-submit");
+ var count = 1;
- // is XHR2 available?
- var xhr = new XMLHttpRequest();
- if (xhr.upload) {
+
+ $('#invisible-cloud-file-upload').fileupload({
+ url: 'file_upload',
+ dataType: 'json',
+ dropZone: filedrag,
+ formData: $('#ajax-upload-files').serializeArray(),
+ maxChunkSize: 4 * 1024 * 1024,
- // file select
- fileselect.attr("multiple", 'multiple');
- fileselect.on("change", UploadFileSelectHandler);
+ add: function(e,data) {
+ $(data.files).each( function() { this.count = ++ count; prepareHtml(this); });
+
+ data.submit();
+ },
- // file submit
- submit.on("click", fileselect, UploadFileSelectHandler);
- // file drop
- filedrag.on("dragover", DragDropUploadFileHover);
- filedrag.on("dragleave", DragDropUploadFileHover);
- filedrag.on("drop", DragDropUploadFileSelectHandler);
- }
+ progress: function(e,data) {
+
+ // there will only be one file, the one we are looking for
+
+ $(data.files).each( function() {
+ var idx = this.count;
+
+ // Dynamically update the percentage complete displayed in the file upload list
+ $('#upload-progress-' + idx).html(Math.round(data.loaded / data.total * 100) + '%');
+ $('#upload-progress-bar-' + idx).css('background-size', Math.round(data.loaded / data.total * 100) + '%');
+
+ });
+
+
+ },
+
+
+ stop: function(e,data) {
+ window.location.href = window.location.href;
+ }
+
+ });
+
+ $('#upload-submit').click(function(event) { event.preventDefault(); $('#invisible-cloud-file-upload').trigger('click'); return false;});
- window.filesToUpload = 0;
- window.fileUploadsCompleted = 0;
}
// file drag hover
@@ -84,8 +106,9 @@ function UploadFileSelectHandler(e) {
}
}
-function prepareHtml(f, i) {
- var num = i - 1;
+function prepareHtml(f) {
+ var num = f.count - 1;
+ var i = f.count;
$('#cloud-index #new-upload-progress-bar-' + num.toString()).after(
'<tr id="new-upload-' + i + '" class="new-upload">' +
'<td><i class="fa ' + getIconFromType(f.type) + '" title="' + f.type + '"></i></td>' +
@@ -158,6 +181,7 @@ function getIconFromType(type) {
// upload files
function UploadFile(file, idx) {
+
window.filesToUpload = window.filesToUpload + 1;
var xhr = new XMLHttpRequest();
@@ -202,15 +226,15 @@ function UploadFile(file, idx) {
});
// POST to the entire cloud path
- xhr.open('post', 'file_upload', true);
+// xhr.open('post', 'file_upload', true);
- var formfields = $("#ajax-upload-files").serializeArray();
+// var formfields = $("#ajax-upload-files").serializeArray();
- var data = new FormData();
- $.each(formfields, function(i, field) {
- data.append(field.name, field.value);
- });
- data.append('userfile', file);
+// var data = new FormData();
+// $.each(formfields, function(i, field) {
+// data.append(field.name, field.value);
+// });
+// data.append('userfile', file);
- xhr.send(data);
+// xhr.send(data);
}