diff options
Diffstat (limited to 'ui/static/js/bootstrap.js')
-rw-r--r-- | ui/static/js/bootstrap.js | 63 |
1 files changed, 33 insertions, 30 deletions
diff --git a/ui/static/js/bootstrap.js b/ui/static/js/bootstrap.js index a6952ee..bf7a690 100644 --- a/ui/static/js/bootstrap.js +++ b/ui/static/js/bootstrap.js @@ -2,36 +2,39 @@ document.addEventListener("DOMContentLoaded", function() { FormHandler.handleSubmitButtons(); let navHandler = new NavHandler(); - let keyboardHandler = new KeyboardHandler(); - keyboardHandler.on("g u", () => navHandler.goToPage("unread")); - keyboardHandler.on("g b", () => navHandler.goToPage("starred")); - keyboardHandler.on("g h", () => navHandler.goToPage("history")); - keyboardHandler.on("g f", () => navHandler.goToFeedOrFeeds()); - keyboardHandler.on("g c", () => navHandler.goToPage("categories")); - keyboardHandler.on("g s", () => navHandler.goToPage("settings")); - keyboardHandler.on("ArrowLeft", () => navHandler.goToPrevious()); - keyboardHandler.on("ArrowRight", () => navHandler.goToNext()); - keyboardHandler.on("j", () => navHandler.goToPrevious()); - keyboardHandler.on("p", () => navHandler.goToPrevious()); - keyboardHandler.on("k", () => navHandler.goToNext()); - keyboardHandler.on("n", () => navHandler.goToNext()); - keyboardHandler.on("h", () => navHandler.goToPage("previous")); - keyboardHandler.on("l", () => navHandler.goToPage("next")); - keyboardHandler.on("o", () => navHandler.openSelectedItem()); - keyboardHandler.on("v", () => navHandler.openOriginalLink()); - keyboardHandler.on("m", () => navHandler.toggleEntryStatus()); - 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()); - keyboardHandler.on("?", () => navHandler.showKeyboardShortcuts()); - keyboardHandler.on("#", () => navHandler.unsubscribeFromFeed()); - keyboardHandler.on("/", (e) => navHandler.setFocusToSearchInput(e)); - keyboardHandler.on("Escape", () => ModalHandler.close()); - keyboardHandler.listen(); + + if (! document.querySelector("body[data-disable-keyboard-shortcuts=true]")) { + let keyboardHandler = new KeyboardHandler(); + keyboardHandler.on("g u", () => navHandler.goToPage("unread")); + keyboardHandler.on("g b", () => navHandler.goToPage("starred")); + keyboardHandler.on("g h", () => navHandler.goToPage("history")); + keyboardHandler.on("g f", () => navHandler.goToFeedOrFeeds()); + keyboardHandler.on("g c", () => navHandler.goToPage("categories")); + keyboardHandler.on("g s", () => navHandler.goToPage("settings")); + keyboardHandler.on("ArrowLeft", () => navHandler.goToPrevious()); + keyboardHandler.on("ArrowRight", () => navHandler.goToNext()); + keyboardHandler.on("j", () => navHandler.goToPrevious()); + keyboardHandler.on("p", () => navHandler.goToPrevious()); + keyboardHandler.on("k", () => navHandler.goToNext()); + keyboardHandler.on("n", () => navHandler.goToNext()); + keyboardHandler.on("h", () => navHandler.goToPage("previous")); + keyboardHandler.on("l", () => navHandler.goToPage("next")); + keyboardHandler.on("o", () => navHandler.openSelectedItem()); + keyboardHandler.on("v", () => navHandler.openOriginalLink()); + keyboardHandler.on("m", () => navHandler.toggleEntryStatus()); + 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()); + keyboardHandler.on("?", () => navHandler.showKeyboardShortcuts()); + keyboardHandler.on("#", () => navHandler.unsubscribeFromFeed()); + keyboardHandler.on("/", (e) => navHandler.setFocusToSearchInput(e)); + keyboardHandler.on("Escape", () => ModalHandler.close()); + keyboardHandler.listen(); + } let touchHandler = new TouchHandler(navHandler); touchHandler.listen(); |