Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 45929001

Von Sven Schöling vor fast 4 Jahren hinzugefügt

  • ID 4592900192b9f2c88d4790eb61ec2c5d3e342d48
  • Vorgänger 73c402e6
  • Nachfolger fd13f784

ImageUpload: client side Scripte

Unterschiede anzeigen:

js/kivi.FileDB.js
ns.create_image_store(event.target.result);
};
request.onerror = ns.onerror;
request.aftersuccess = [];
request.onsuccess = () => {
db = request.result;
......
};
}
}
request.aftersuccess.forEach(f => f());
};
ns.create_image_store = function (db) {
......
console.error("Error creating/accessing IndexedDB database");
console.error(event.errorState);
};
ns.with_db = function(success) {
if (db && db_version == db.version) {
success();
} else {
// assume the page load db init isn't done yet and push it onto the success
request.aftersuccess.push(success);
}
};
});
js/kivi.ImageUpload.js
namespace("kivi.ImageUpload", function(ns) {
"use strict";
const MAXSIZE = 5*1024*1024; // 5MB size limit
ns.add_files = function(target) {
let files = [];
for (var i = 0; i < target.files.length; i++) {
......
});
};
ns.upload_selected_files = function(id,type,filetype,maxsize) {
ns.upload_files = function() {
let id = $('#object_id').val();
let type = $('#object_type').val();
ns.upload_selected_files(id, type, MAXSIZE);
};
ns.upload_selected_files = function(id, type, maxsize) {
$("#upload_modal").modal("open");
kivi.FileDB.retrieve_all((myfiles) => {
let filesize = 0;
myfiles.forEach(file => {
......
}
let data = new FormData();
data.append(file);
data.append("uploadfiles[]", file);
data.append("action", "File/ajax_files_uploaded");
data.append("json", "1");
data.append("object_type", type);
data.append("object_id", id);
data.append("file_type", filetype);
data.append("file_type", "attachment");
$("#upload_result").html(kivi.t8("start upload"));
$.ajax({
url: "controller.pl",
data: data,
success: ns.attSuccess,
progress: ns.attProgress,
error: ns.attFailes,
abort: ns.attCanceled
});
let xhr = new XMLHttpRequest;
xhr.open('POST', 'controller.pl', true);
xhr.success = ns.attSuccess;
xhr.progress = ns.attProgress;
xhr.error = ns.attFailed;
xhr.abort = ns.attCanceled;
xhr.send(data);
});
});
};
......
$("#upload_result").html(kivi.t8("Files have been uploaded successfully."));
};
ns.resolve_object = function(event) {
let obj_type = $('#object_type').val();
let number = event.target.value;
$.ajax({
url: "controller.pl",
data: {
action: "ImageUpload/resolve_object_by_number",
object_type: obj_type,
object_number: number
},
type: "json",
success: (json) => {
if (json.error) {
$("#object_description").html("");
$("#object_id").val("");
} else {
$("#object_description").html(json.description);
$("#object_id").val(json.id);
}
},
error: () => {
$("#object_description").html("");
$("#object_id").val("");
}
});
};
ns.init = function() {
ns.reload_images();
};

Auch abrufbar als: Unified diff