aboutsummaryrefslogtreecommitdiffhomepage
path: root/ui/static/js
diff options
context:
space:
mode:
authorGravatar Diego Agulló <aeoris@gmail.com>2019-04-05 03:59:04 +0200
committerGravatar fguillot <fred@miniflux.net>2019-04-04 18:59:04 -0700
commita6068aae1d715a6cd23ba54e115fa5a21037b2ad (patch)
tree5fc6b521f864dd60c547364b49464bd9a5936e3b /ui/static/js
parent8ee1a09dc71ad779e36175b38450576ae510daf8 (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.js9
-rw-r--r--ui/static/js/nav_handler.js8
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);
+ }
});
}
}