calibre-web/cps/static/js/main.js

168 lines
5.5 KiB
JavaScript
Raw Normal View History

var displaytext;
var updateTimerID;
var updateText;
// Generic control/related handler to show/hide fields based on a checkbox' value
// e.g.
// <input type="checkbox" data-control="stuff-to-show">
// <div data-related="stuff-to-show">...</div>
$(document).on("change", "input[type=\"checkbox\"][data-control]", function () {
var $this = $(this);
var name = $this.data("control");
var showOrHide = $this.prop("checked");
$("[data-related=\""+name+"\"]").each(function () {
$(this).toggle(showOrHide);
});
});
$(function() {
2017-04-03 18:05:55 +00:00
// Allow ajax prefilters to be added/removed dynamically
// eslint-disable-next-line new-cap
const preFilters = $.Callbacks();
$.ajaxPrefilter(preFilters.fire);
2017-04-03 18:05:55 +00:00
function restartTimer() {
$("#spinner").addClass("hidden");
$("#RestartDialog").modal("hide");
}
function updateTimer() {
$.ajax({
dataType: "json",
url: window.location.pathname+"/../../get_updater_status",
2017-04-04 17:05:09 +00:00
success(data) {
2017-04-03 18:05:55 +00:00
// console.log(data.status);
$("#UpdateprogressDialog #Updatecontent").html(updateText[data.status]);
if (data.status >6){
clearInterval(updateTimerID);
$("#spinner2").hide();
$("#UpdateprogressDialog #updateFinished").removeClass("hidden");
$("#check_for_update").removeClass("hidden");
$("#perform_update").addClass("hidden");
}
},
error() {
// console.log('Done');
clearInterval(updateTimerID);
$("#spinner2").hide();
$("#UpdateprogressDialog #Updatecontent").html(updateText[7]);
$("#UpdateprogressDialog #updateFinished").removeClass("hidden");
$("#check_for_update").removeClass("hidden");
$("#perform_update").addClass("hidden");
},
timeout:2000
});
}
2017-03-30 19:17:18 +00:00
$(".discover .row").isotope({
// options
2017-03-29 19:43:55 +00:00
itemSelector : ".book",
layoutMode : "fitRows"
});
2017-03-29 19:43:55 +00:00
$(".load-more .row").infinitescroll({
debug: false,
navSelector : ".pagination",
// selector for the paged navigation (it will be hidden)
nextSelector : ".pagination a:last",
// selector for the NEXT link (to page 2)
itemSelector : ".load-more .book",
animate : true,
extraScrollPx: 300,
// selector for all items you'll retrieve
}, function(data){
2017-03-30 19:17:18 +00:00
$(".load-more .row").isotope( "appended", $(data), null );
});
2016-03-27 21:36:51 +00:00
2017-03-30 19:17:18 +00:00
$("#sendbtn").click(function(){
2016-03-27 21:36:51 +00:00
var $this = $(this);
2017-03-29 19:43:55 +00:00
$this.text("Please wait...");
$this.addClass("disabled");
2016-03-27 21:36:51 +00:00
});
$("#restart").click(function() {
$.ajax({
2017-03-30 19:17:18 +00:00
dataType: "json",
url: window.location.pathname+"/../../shutdown",
data: {"parameter":0},
2017-04-03 18:05:55 +00:00
success(data) {
2017-03-30 19:17:18 +00:00
$("#spinner").show();
displaytext=data.text;
setTimeout(restartTimer, 3000);}
});
});
$("#shutdown").click(function() {
$.ajax({
2017-03-30 19:17:18 +00:00
dataType: "json",
url: window.location.pathname+"/../../shutdown",
data: {"parameter":1},
2017-04-03 18:05:55 +00:00
success(data) {
return alert(data.text);}
});
});
$("#check_for_update").click(function() {
2017-04-02 08:05:07 +00:00
var buttonText = $("#check_for_update").html();
2017-03-30 19:17:18 +00:00
$("#check_for_update").html("...");
$.ajax({
2017-03-30 19:17:18 +00:00
dataType: "json",
url: window.location.pathname+"/../../get_update_status",
2017-04-03 18:05:55 +00:00
success(data) {
2017-04-02 08:05:07 +00:00
$("#check_for_update").html(buttonText);
2017-03-30 19:17:18 +00:00
if (data.status === true) {
2017-03-29 19:43:55 +00:00
$("#check_for_update").addClass("hidden");
$("#perform_update").removeClass("hidden");
$("#update_info").removeClass("hidden");
$("#update_info").find("span").html(data.commit);
}
}
});
});
$("#restart_database").click(function() {
$.ajax({
2017-04-02 08:05:07 +00:00
dataType: "json",
url: window.location.pathname+"/../../shutdown",
data: {"parameter":2}
});
});
$("#perform_update").click(function() {
2017-03-29 19:43:55 +00:00
$("#spinner2").show();
$.ajax({
type: "POST",
2017-04-02 08:05:07 +00:00
dataType: "json",
data: { start: "True"},
url: window.location.pathname+"/../../get_updater_status",
2017-04-03 18:05:55 +00:00
success(data) {
2017-03-29 19:43:55 +00:00
updateText=data.text;
$("#UpdateprogressDialog #Updatecontent").html(updateText[data.status]);
2017-03-30 19:17:18 +00:00
// console.log(data.status);
updateTimerID=setInterval(updateTimer, 2000);}
});
});
$("input[data-control]").trigger("change");
2017-07-08 01:22:05 +00:00
$("#bookDetailsModal")
.on("show.bs.modal", function(e) {
const $modalBody = $(this).find(".modal-body");
// Prevent static assets from loading multiple times
const useCache = (options) => {
options.async = true;
options.cache = true;
};
preFilters.add(useCache);
$.get(e.relatedTarget.href).done(function(content) {
$modalBody.html(content);
preFilters.remove(useCache);
});
})
.on("hidden.bs.modal", function() {
$(this).find(".modal-body").html("...");
});
2017-03-31 16:31:16 +00:00
$(window).resize(function(event) {
$(".discover .row").isotope("reLayout");
});
});