aboutsummaryrefslogtreecommitdiffhomepage
path: root/ui/static/js
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2018-10-08 18:49:15 -0700
committerGravatar Frédéric Guillot <fred@miniflux.net>2018-10-08 18:49:15 -0700
commitd4c1677e3860667f7b7ebf61d11d33b9495da64d (patch)
treed3ac643b0888daf688c7b7948da3dd3918b7a824 /ui/static/js
parent9dc38a0803ba8b5a7d0cfe023b21ee2ea2aff88a (diff)
Change link state when marking all entries as read
Diffstat (limited to 'ui/static/js')
-rw-r--r--ui/static/js/bootstrap.js9
-rw-r--r--ui/static/js/link_state_handler.js10
-rw-r--r--ui/static/js/mouse_handler.js4
3 files changed, 16 insertions, 7 deletions
diff --git a/ui/static/js/bootstrap.js b/ui/static/js/bootstrap.js
index fe6e87c..a89799a 100644
--- a/ui/static/js/bootstrap.js
+++ b/ui/static/js/bootstrap.js
@@ -34,18 +34,14 @@ document.addEventListener("DOMContentLoaded", function() {
let mouseHandler = new MouseHandler();
mouseHandler.onClick("a[data-save-entry]", (event) => {
- event.preventDefault();
EntryHandler.saveEntry(event.target);
});
mouseHandler.onClick("a[data-toggle-bookmark]", (event) => {
- event.preventDefault();
EntryHandler.toggleBookmark(event.target);
});
mouseHandler.onClick("a[data-toggle-status]", (event) => {
- event.preventDefault();
-
let currentItem = DomHelper.findParent(event.target, "entry");
if (! currentItem) {
currentItem = DomHelper.findParent(event.target, "item");
@@ -57,7 +53,6 @@ document.addEventListener("DOMContentLoaded", function() {
});
mouseHandler.onClick("a[data-fetch-content-entry]", (event) => {
- event.preventDefault();
EntryHandler.fetchOriginalContent(event.target);
});
@@ -71,6 +66,10 @@ document.addEventListener("DOMContentLoaded", function() {
navHandler.setFocusToSearchInput(event);
});
+ mouseHandler.onClick("a[data-link-state=flip]", (event) => {
+ LinkStateHandler.flip(event.target);
+ }, true);
+
if (document.documentElement.clientWidth < 600) {
let menuHandler = new MenuHandler();
mouseHandler.onClick(".logo", () => menuHandler.toggleMainMenu());
diff --git a/ui/static/js/link_state_handler.js b/ui/static/js/link_state_handler.js
new file mode 100644
index 0000000..9338f0e
--- /dev/null
+++ b/ui/static/js/link_state_handler.js
@@ -0,0 +1,10 @@
+class LinkStateHandler {
+ static flip(element) {
+ let labelElement = document.createElement("span")
+ labelElement.className = "link-flipped-state";
+ labelElement.appendChild(document.createTextNode(element.dataset.labelNewState));
+
+ element.parentNode.appendChild(labelElement);
+ element.parentNode.removeChild(element);
+ }
+}
diff --git a/ui/static/js/mouse_handler.js b/ui/static/js/mouse_handler.js
index a70a37a..fed4081 100644
--- a/ui/static/js/mouse_handler.js
+++ b/ui/static/js/mouse_handler.js
@@ -1,9 +1,9 @@
class MouseHandler {
- onClick(selector, callback) {
+ onClick(selector, callback, noPreventDefault) {
let elements = document.querySelectorAll(selector);
elements.forEach((element) => {
element.onclick = (event) => {
- event.preventDefault();
+ noPreventDefault || event.preventDefault();
callback(event);
};
});