Merge branch 'devel' into dev/clientlib

This commit is contained in:
Gina Häußge 2015-09-28 13:09:58 +02:00
commit 6bc8bca99c
4 changed files with 69 additions and 95 deletions

View file

@ -15,7 +15,7 @@ Log file management
Retrieve a list of available log files Retrieve a list of available log files
====================================== ======================================
.. http:post:: /api/logs .. http:get:: /api/logs
Retrieve information regarding all log files currently available and regarding the disk space still available Retrieve information regarding all log files currently available and regarding the disk space still available
in the system on the location the log files are being stored. in the system on the location the log files are being stored.

File diff suppressed because one or more lines are too long

View file

@ -37,6 +37,15 @@ $(function() {
headers: {"X-Api-Key": UI_API_KEY} headers: {"X-Api-Key": UI_API_KEY}
}); });
//~~ Initialize file upload plugin
$.widget("blueimp.fileupload", $.blueimp.fileupload, {
options: {
dropZone: null,
pasteZone: null
}
});
//~~ Initialize i18n //~~ Initialize i18n
var catalog = window["BABEL_TO_LOAD_" + LOCALE]; var catalog = window["BABEL_TO_LOAD_" + LOCALE];

View file

@ -53,6 +53,7 @@ $(function() {
}); });
self.uploadButton = undefined; self.uploadButton = undefined;
self.uploadSdButton = undefined;
// initialize list helper // initialize list helper
self.listHelper = new ItemListHelper( self.listHelper = new ItemListHelper(
@ -342,10 +343,16 @@ $(function() {
self.onUserLoggedIn = function(user) { self.onUserLoggedIn = function(user) {
self.uploadButton.fileupload("enable"); self.uploadButton.fileupload("enable");
if (self.uploadSdButton) {
self.uploadSdButton.fileupload("enable");
}
}; };
self.onUserLoggedOut = function() { self.onUserLoggedOut = function() {
self.uploadButton.fileupload("disable"); self.uploadButton.fileupload("disable");
if (self.uploadSdButton) {
self.uploadSdButton.fileupload("disable");
}
}; };
self.onStartup = function() { self.onStartup = function() {
@ -372,6 +379,31 @@ $(function() {
//~~ Gcode upload //~~ Gcode upload
self.uploadButton = $("#gcode_upload"); self.uploadButton = $("#gcode_upload");
self.uploadSdButton = $("#gcode_upload_sd");
if (!self.uploadSdButton.length) {
self.uploadSdButton = undefined;
}
var uploadProgress = $("#gcode_upload_progress");
var uploadProgressBar = uploadProgress.find(".bar");
var localTarget = CONFIG_SD_SUPPORT ? $("#drop_locally") : $("#drop");
var sdTarget = $("#drop_sd");
function setProgressBar(percentage, text, active) {
uploadProgressBar
.css("width", percentage + "%")
.text(text);
if (active) {
uploadProgress
.addClass("progress-striped active");
} else {
uploadProgress
.removeClass("progress-striped active");
}
}
function gcode_upload_done(e, data) { function gcode_upload_done(e, data) {
var filename = undefined; var filename = undefined;
var location = undefined; var location = undefined;
@ -389,9 +421,7 @@ $(function() {
} }
if (data.result.done) { if (data.result.done) {
$("#gcode_upload_progress .bar").css("width", "0%"); setProgressBar(0, "", false);
$("#gcode_upload_progress").removeClass("progress-striped").removeClass("active");
$("#gcode_upload_progress .bar").text("");
} }
} }
@ -404,109 +434,44 @@ $(function() {
type: "error", type: "error",
hide: false hide: false
}); });
$("#gcode_upload_progress .bar").css("width", "0%"); setProgressBar(0, "", false);
$("#gcode_upload_progress").removeClass("progress-striped").removeClass("active");
$("#gcode_upload_progress .bar").text("");
} }
function gcode_upload_progress(e, data) { function gcode_upload_progress(e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10); var progress = parseInt(data.loaded / data.total * 100, 10);
$("#gcode_upload_progress .bar").css("width", progress + "%"); var uploaded = progress >= 100;
$("#gcode_upload_progress .bar").text(gettext("Uploading ..."));
if (progress >= 100) { setProgressBar(progress, uploaded ? gettext("Saving ...") : gettext("Uploading ..."), uploaded);
$("#gcode_upload_progress").addClass("progress-striped").addClass("active");
$("#gcode_upload_progress .bar").text(gettext("Saving ..."));
}
} }
function enable_local_dropzone() { function setDropzone(dropzone, enable) {
$("#gcode_upload").fileupload({ var button = (dropzone == "local") ? self.uploadButton : self.uploadSdButton;
url: API_BASEURL + "files/local", var drop = (dropzone == "local") ? localTarget : sdTarget;
var url = API_BASEURL + "files/" + dropzone;
button.fileupload({
url: url,
dataType: "json", dataType: "json",
dropZone: localTarget, dropZone: enable ? drop : null,
drop: function(e, data) {
},
done: gcode_upload_done, done: gcode_upload_done,
fail: gcode_upload_fail, fail: gcode_upload_fail,
progressall: gcode_upload_progress progressall: gcode_upload_progress
}); });
} }
function disable_local_dropzone() { function evaluateDropzones() {
$("#gcode_upload").fileupload({ var enableLocal = self.loginState.isUser();
url: API_BASEURL + "files/local", var enableSd = enableLocal && CONFIG_SD_SUPPORT && self.printerState.isSdReady();
dataType: "json",
dropZone: null, setDropzone("local", enableLocal);
done: gcode_upload_done, setDropzone("sdcard", enableSd);
fail: gcode_upload_fail,
progressall: gcode_upload_progress
});
}
function enable_sd_dropzone() {
$("#gcode_upload_sd").fileupload({
url: API_BASEURL + "files/sdcard",
dataType: "json",
dropZone: $("#drop_sd"),
done: gcode_upload_done,
fail: gcode_upload_fail,
progressall: gcode_upload_progress
});
}
function disable_sd_dropzone() {
$("#gcode_upload_sd").fileupload({
url: API_BASEURL + "files/sdcard",
dataType: "json",
dropZone: null,
done: gcode_upload_done,
fail: gcode_upload_fail,
progressall: gcode_upload_progress
});
}
var localTarget;
if (CONFIG_SD_SUPPORT) {
localTarget = $("#drop_locally");
} else {
localTarget = $("#drop");
}
self.loginState.isUser.subscribe(function(newValue) {
if (newValue === true) {
enable_local_dropzone();
} else {
disable_local_dropzone();
}
});
if (self.loginState.isUser()) {
enable_local_dropzone();
} else {
disable_local_dropzone();
}
if (CONFIG_SD_SUPPORT) {
self.printerState.isSdReady.subscribe(function(newValue) {
if (newValue === true && self.loginState.isUser()) {
enable_sd_dropzone();
} else {
disable_sd_dropzone();
}
});
self.loginState.isUser.subscribe(function(newValue) {
if (newValue === true && self.printerState.isSdReady()) {
enable_sd_dropzone();
} else {
disable_sd_dropzone();
}
});
if (self.printerState.isSdReady() && self.loginState.isUser()) {
enable_sd_dropzone();
} else {
disable_sd_dropzone();
}
} }
self.loginState.isUser.subscribe(evaluateDropzones);
self.printerState.isSdReady.subscribe(evaluateDropzones);
evaluateDropzones();
$(document).bind("dragover", function (e) { $(document).bind("dragover", function (e) {
var dropOverlay = $("#drop_overlay"); var dropOverlay = $("#drop_overlay");
@ -519,7 +484,7 @@ $(function() {
var timeout = window.dropZoneTimeout; var timeout = window.dropZoneTimeout;
if (!timeout) { if (!timeout) {
dropOverlay.addClass('in'); dropOverlay.addClass("in");
} else { } else {
clearTimeout(timeout); clearTimeout(timeout);
} }