62 lines
1.5 KiB
JavaScript
Executable File
62 lines
1.5 KiB
JavaScript
Executable File
/**
|
|
* @name LoadingBar Module
|
|
* @description This module is used to show and hide the loading bar.
|
|
* @author Tobias Reich
|
|
* @copyright 2014 by Tobias Reich
|
|
*/
|
|
|
|
loadingBar = {
|
|
|
|
status: null,
|
|
|
|
show: function(status, errorText) {
|
|
|
|
if (status==="error") {
|
|
|
|
loadingBar.status = "error";
|
|
|
|
if (!errorText) errorText = "Whoops, it looks like something went wrong. Please reload the site and try again!";
|
|
|
|
lychee.loadingBar
|
|
.removeClass("loading uploading error")
|
|
.addClass(status)
|
|
.html("<h1>Error: <span>" + errorText + "</span></h1>")
|
|
.show()
|
|
.css("height", "40px");
|
|
if (visible.controls()) lychee.header.addClass("error");
|
|
|
|
clearTimeout(lychee.loadingBar.data("timeout"));
|
|
lychee.loadingBar.data("timeout", setTimeout(function() { loadingBar.hide(true) }, 3000));
|
|
|
|
} else if (loadingBar.status===null) {
|
|
|
|
loadingBar.status = "loading";
|
|
|
|
clearTimeout(lychee.loadingBar.data("timeout"));
|
|
lychee.loadingBar.data("timeout", setTimeout(function() {
|
|
lychee.loadingBar
|
|
.show()
|
|
.removeClass("loading uploading error")
|
|
.addClass("loading");
|
|
if (visible.controls()) lychee.header.addClass("loading");
|
|
}, 1000));
|
|
|
|
}
|
|
|
|
},
|
|
|
|
hide: function(force_hide) {
|
|
|
|
if ((loadingBar.status!=="error"&&loadingBar.status!==null)||force_hide) {
|
|
|
|
loadingBar.status = null;
|
|
clearTimeout(lychee.loadingBar.data("timeout"));
|
|
lychee.loadingBar.html("").css("height", "3px");
|
|
if (visible.controls()) lychee.header.removeClass("error loading");
|
|
setTimeout(function() { lychee.loadingBar.hide() }, 300);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}; |