From 7c123353b57cb96d84fb7a6b311b0df1e56fa035 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 26 Feb 2017 17:39:42 +0300 Subject: do not process all dropdowns when offline status changes --- js/index.js | 48 ++++++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 22 deletions(-) (limited to 'js/index.js') diff --git a/js/index.js b/js/index.js index 87279c2..c5f8926 100644 --- a/js/index.js +++ b/js/index.js @@ -1,32 +1,36 @@ -function mark_offline_books() { - var elems = $(".offline_dropitem"); +function mark_offline(elem) { - $.each(elems, function (i, elem) { - var bookId = elem.getAttribute("data-book-id"); - var cacheId = "epube-book." + bookId; + var bookId = elem.getAttribute("data-book-id"); + var cacheId = "epube-book." + bookId; - localforage.getItem(cacheId).then(function(book) { - if (book) { + localforage.getItem(cacheId).then(function(book) { + if (book) { + elem.onclick = function() { + offline_remove(bookId, function() { + mark_offline(elem); + }); + }; - elem.onclick = function() { - offline_remove(bookId, function() { - mark_offline_books(); - }); - }; + elem.innerHTML = "Remove offline data"; - elem.innerHTML = "Remove offline data"; + } else { + elem.onclick = function() { + offline_cache(bookId, function() { + mark_offline(elem); + }); + }; - } else { - elem.onclick = function() { - offline_cache(bookId, function() { - mark_offline_books(); - }); - }; + elem.innerHTML = "Make available offline"; + } + }); +} - elem.innerHTML = "Make available offline"; - } - }); +function mark_offline_books() { + var elems = $(".offline_dropitem"); + + $.each(elems, function (i, elem) { + mark_offline(elem); }); } -- cgit v1.2.3