diff options
author | 2019-04-05 03:59:04 +0200 | |
---|---|---|
committer | 2019-04-04 18:59:04 -0700 | |
commit | a6068aae1d715a6cd23ba54e115fa5a21037b2ad (patch) | |
tree | 5fc6b521f864dd60c547364b49464bd9a5936e3b /ui/static/js | |
parent | 8ee1a09dc71ad779e36175b38450576ae510daf8 (diff) |
Improve page reload when showing unread/all entries
- Show only unread entries = refresh current page
- Show all entries = go to next page
Diffstat (limited to 'ui/static/js')
-rw-r--r-- | ui/static/js/bootstrap.js | 9 | ||||
-rw-r--r-- | ui/static/js/nav_handler.js | 8 |
2 files changed, 13 insertions, 4 deletions
diff --git a/ui/static/js/bootstrap.js b/ui/static/js/bootstrap.js index 5a8c701..a6952ee 100644 --- a/ui/static/js/bootstrap.js +++ b/ui/static/js/bootstrap.js @@ -20,7 +20,10 @@ document.addEventListener("DOMContentLoaded", function() { keyboardHandler.on("o", () => navHandler.openSelectedItem()); keyboardHandler.on("v", () => navHandler.openOriginalLink()); keyboardHandler.on("m", () => navHandler.toggleEntryStatus()); - keyboardHandler.on("A", () => navHandler.markPageAsRead()); + keyboardHandler.on("A", () => { + let element = document.querySelector("a[data-on-click=markPageAsRead]"); + navHandler.markPageAsRead(element.dataset.showOnlyUnread || false); + }); keyboardHandler.on("s", () => navHandler.saveEntry()); keyboardHandler.on("d", () => navHandler.fetchOriginalContent()); keyboardHandler.on("f", () => navHandler.toggleBookmark()); @@ -57,7 +60,9 @@ document.addEventListener("DOMContentLoaded", function() { EntryHandler.fetchOriginalContent(event.target); }); - mouseHandler.onClick("a[data-on-click=markPageAsRead]", () => navHandler.markPageAsRead()); + mouseHandler.onClick("a[data-on-click=markPageAsRead]", (event) => { + navHandler.markPageAsRead(event.target.dataset.showOnlyUnread || false); + }); mouseHandler.onClick("a[data-confirm]", (event) => { (new ConfirmHandler()).handle(event); diff --git a/ui/static/js/nav_handler.js b/ui/static/js/nav_handler.js index dd10607..9f1f861 100644 --- a/ui/static/js/nav_handler.js +++ b/ui/static/js/nav_handler.js @@ -27,7 +27,7 @@ class NavHandler { } } - markPageAsRead() { + markPageAsRead(showOnlyUnread) { let items = DomHelper.getVisibleElements(".items .item"); let entryIDs = []; @@ -39,7 +39,11 @@ class NavHandler { if (entryIDs.length > 0) { EntryHandler.updateEntriesStatus(entryIDs, "read", () => { // This callback make sure the Ajax request reach the server before we reload the page. - this.goToPage("next", true); + if (showOnlyUnread) { + window.location.reload(); + } else { + this.goToPage("next", true); + } }); } } |