diff options
author | Frédéric Guillot <fred@miniflux.net> | 2018-10-08 18:49:15 -0700 |
---|---|---|
committer | Frédéric Guillot <fred@miniflux.net> | 2018-10-08 18:49:15 -0700 |
commit | d4c1677e3860667f7b7ebf61d11d33b9495da64d (patch) | |
tree | d3ac643b0888daf688c7b7948da3dd3918b7a824 /ui/static/js | |
parent | 9dc38a0803ba8b5a7d0cfe023b21ee2ea2aff88a (diff) |
Change link state when marking all entries as read
Diffstat (limited to 'ui/static/js')
-rw-r--r-- | ui/static/js/bootstrap.js | 9 | ||||
-rw-r--r-- | ui/static/js/link_state_handler.js | 10 | ||||
-rw-r--r-- | ui/static/js/mouse_handler.js | 4 |
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); }; }); |