diff --git a/.eslintrc b/.eslintrc index 17ae1f3f..eb405572 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,7 +1,6 @@ { "env": { "browser": true, - "es6": true, "jquery": true }, "globals": { @@ -83,6 +82,8 @@ 2, "always" ], + "space-before-blocks": 2, + "space-infix-ops": 2, "space-unary-ops": 2, "use-isnan": 2, "valid-typeof": 2, diff --git a/cps/static/js/details.js b/cps/static/js/details.js index 74dbb08e..33335339 100644 --- a/cps/static/js/details.js +++ b/cps/static/js/details.js @@ -1,4 +1,6 @@ -$( document ).ready(function() { +/* global _ */ + +$(function() { $("#have_read_form").ajaxForm(); }); @@ -6,34 +8,51 @@ $("#have_read_cb").on("change", function() { $(this).closest("form").submit(); }); -$("#shelf-actions").on("click", "[data-shelf-action]", function (e) { - e.preventDefault(); +(function() { + var templates = { + add: _.template( + $("#template-shelf-add").html() + ), + remove: _.template( + $("#template-shelf-remove").html() + ) + }; - $.get(this.href) - .done(() => { - const $this = $(this); - switch ($this.data("shelf-action")) { - case "add": - $("#remove-from-shelves").append(` ${this.textContent}`); - break; - case "remove": - $("#add-to-shelves").append(`
"+ msg.no_result +"
"); + $("#meta-info").html(""+ msg.no_result +"
"); return; } } @@ -62,7 +59,7 @@ $(document).ready(function () { ""+ msg.source + ":Google Books
" + "" + ""; - $("#metaModal #book-list").append(bookHtml); + $("#book-list").append(bookHtml); } ggDone = false; } @@ -82,24 +79,22 @@ $(document).ready(function () { "" + msg.source + ":Douban Books
" + "" + ""; - $("#metaModal #book-list").append(bookHtml); + $("#book-list").append(bookHtml); } dbDone = false; } } function ggSearchBook (title) { - title = title.replaceAll(/\s+/, "+"); - var url = google + ggSearch + "?q=" + title; $.ajax({ - url, + url: google + ggSearch + "?q=" + title.replace(/\s+/gm, "+"), type: "GET", dataType: "jsonp", jsonp: "callback", - success (data) { + success: function success(data) { ggResults = data.items; }, - complete () { + complete: function complete() { ggDone = true; showResult(); } @@ -107,19 +102,18 @@ $(document).ready(function () { } function dbSearchBook (title) { - var url = douban + dbSearch + "?q=" + title + "&fields=all&count=10"; $.ajax({ - url, + url: douban + dbSearch + "?q=" + title + "&fields=all&count=10", type: "GET", dataType: "jsonp", jsonp: "callback", - success (data) { + success: function success(data) { dbResults = data.books; }, - error () { - $("#metaModal #meta-info").html(""+ msg.search_error+"!
"); + error: function error() { + $("#meta-info").html(""+ msg.search_error+"!
"); }, - complete () { + complete: function complete() { dbDone = true; showResult(); } @@ -128,7 +122,7 @@ $(document).ready(function () { function doSearch (keyword) { showFlag = 0; - $("#metaModal #meta-info").text(msg.loading); + $("#meta-info").text(msg.loading); // var keyword = $("#keyword").val(); if (keyword) { dbSearchBook(keyword); @@ -153,6 +147,7 @@ $(document).ready(function () { }); +// eslint-disable-next-line no-unused-vars function getMeta (source, id) { var meta; var tags; @@ -181,6 +176,5 @@ function getMeta (source, id) { } $("#tags").val(tags); $("#rating").val(Math.round(meta.rating.average / 2)); - return; } } diff --git a/cps/static/js/main.js b/cps/static/js/main.js index 7b7402b2..267c6d97 100644 --- a/cps/static/js/main.js +++ b/cps/static/js/main.js @@ -1,7 +1,3 @@ -var displaytext; -var updateTimerID; -var updateText; - // Generic control/related handler to show/hide fields based on a checkbox' value // e.g. // @@ -11,16 +7,18 @@ $(document).on("change", "input[type=\"checkbox\"][data-control]", function () { var name = $this.data("control"); var showOrHide = $this.prop("checked"); - $("[data-related=\""+name+"\"]").each(function () { + $("[data-related=\"" + name + "\"]").each(function () { $(this).toggle(showOrHide); }); }); $(function() { + var updateTimerID; + var updateText; // Allow ajax prefilters to be added/removed dynamically // eslint-disable-next-line new-cap - const preFilters = $.Callbacks(); + var preFilters = $.Callbacks(); $.ajaxPrefilter(preFilters.fire); function restartTimer() { @@ -30,29 +28,29 @@ $(function() { function updateTimer() { $.ajax({ - dataType: "json", - url: window.location.pathname+"/../../get_updater_status", - success(data) { - // console.log(data.status); - $("#UpdateprogressDialog #Updatecontent").html(updateText[data.status]); - if (data.status >6){ + dataType: "json", + url: window.location.pathname + "/../../get_updater_status", + success: function success(data) { + // console.log(data.status); + $("#Updatecontent").html(updateText[data.status]); + if (data.status > 6) { + clearInterval(updateTimerID); + $("#spinner2").hide(); + $("#updateFinished").removeClass("hidden"); + $("#check_for_update").removeClass("hidden"); + $("#perform_update").addClass("hidden"); + } + }, + error: function error() { + // console.log('Done'); clearInterval(updateTimerID); $("#spinner2").hide(); - $("#UpdateprogressDialog #updateFinished").removeClass("hidden"); + $("#Updatecontent").html(updateText[7]); + $("#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 + timeout: 2000 }); } @@ -70,13 +68,13 @@ $(function() { // selector for the NEXT link (to page 2) itemSelector : ".load-more .book", animate : true, - extraScrollPx: 300, + extraScrollPx: 300 // selector for all items you'll retrieve - }, function(data){ + }, function(data) { $(".load-more .row").isotope( "appended", $(data), null ); }); - $("#sendbtn").click(function(){ + $("#sendbtn").click(function() { var $this = $(this); $this.text("Please wait..."); $this.addClass("disabled"); @@ -84,36 +82,39 @@ $(function() { $("#restart").click(function() { $.ajax({ dataType: "json", - url: window.location.pathname+"/../../shutdown", + url: window.location.pathname + "/../../shutdown", data: {"parameter":0}, - success(data) { + success: function success() { $("#spinner").show(); - displaytext=data.text; - setTimeout(restartTimer, 3000);} + setTimeout(restartTimer, 3000); + } }); }); $("#shutdown").click(function() { $.ajax({ dataType: "json", - url: window.location.pathname+"/../../shutdown", + url: window.location.pathname + "/../../shutdown", data: {"parameter":1}, - success(data) { - return alert(data.text);} + success: function success(data) { + return alert(data.text); + } }); }); $("#check_for_update").click(function() { - var buttonText = $("#check_for_update").html(); - $("#check_for_update").html("..."); + var $this = $(this); + var buttonText = $this.html(); + $this.html("..."); $.ajax({ dataType: "json", - url: window.location.pathname+"/../../get_update_status", - success(data) { - $("#check_for_update").html(buttonText); + url: window.location.pathname + "/../../get_update_status", + success: function success(data) { + $this.html(buttonText); if (data.status === true) { $("#check_for_update").addClass("hidden"); $("#perform_update").removeClass("hidden"); - $("#update_info").removeClass("hidden"); - $("#update_info").find("span").html(data.commit); + $("#update_info") + .removeClass("hidden") + .find("span").html(data.commit); } } }); @@ -121,22 +122,23 @@ $(function() { $("#restart_database").click(function() { $.ajax({ dataType: "json", - url: window.location.pathname+"/../../shutdown", + url: window.location.pathname + "/../../shutdown", data: {"parameter":2} }); }); $("#perform_update").click(function() { $("#spinner2").show(); $.ajax({ - type: "POST", - dataType: "json", - data: { start: "True"}, - url: window.location.pathname+"/../../get_updater_status", - success(data) { - updateText=data.text; - $("#UpdateprogressDialog #Updatecontent").html(updateText[data.status]); - // console.log(data.status); - updateTimerID=setInterval(updateTimer, 2000);} + type: "POST", + dataType: "json", + data: { start: "True"}, + url: window.location.pathname + "/../../get_updater_status", + success: function success(data) { + updateText = data.text; + $("#Updatecontent").html(updateText[data.status]); + // console.log(data.status); + updateTimerID = setInterval(updateTimer, 2000); + } }); }); @@ -144,10 +146,10 @@ $(function() { $("#bookDetailsModal") .on("show.bs.modal", function(e) { - const $modalBody = $(this).find(".modal-body"); + var $modalBody = $(this).find(".modal-body"); // Prevent static assets from loading multiple times - const useCache = (options) => { + var useCache = function(options) { options.async = true; options.cache = true; }; @@ -162,7 +164,7 @@ $(function() { $(this).find(".modal-body").html("..."); }); - $(window).resize(function(event) { + $(window).resize(function() { $(".discover .row").isotope("reLayout"); }); -}); \ No newline at end of file +}); diff --git a/cps/static/js/shelforder.js b/cps/static/js/shelforder.js index 5ae3acbf..36390fb3 100644 --- a/cps/static/js/shelforder.js +++ b/cps/static/js/shelforder.js @@ -1,31 +1,31 @@ /* global Sortable,sortTrue */ -var sortable = Sortable.create(sortTrue, { - group: "sorting", - sort: true +Sortable.create(sortTrue, { + group: "sorting", + sort: true }); -function sendData(path){ +// eslint-disable-next-line no-unused-vars +function sendData(path) { var elements; var counter; var maxElements; - var tmp=[]; + var tmp = []; - elements=Sortable.utils.find(sortTrue,"div"); - maxElements=elements.length; + elements = Sortable.utils.find(sortTrue, "div"); + maxElements = elements.length; var form = document.createElement("form"); form.setAttribute("method", "post"); form.setAttribute("action", path); - - for(counter=0;counter