]> git.scottworley.com Git - vopamoi/blobdiff - vopamoi.ts
resetView
[vopamoi] / vopamoi.ts
index 7777f36bf9bf940f4f0399a7c136aa60b7e58916..931505b6027e3ef6ebcafba2c996f0010f10b10b 100644 (file)
@@ -355,6 +355,17 @@ function BrowserUI() {
       }
     },
 
+    currentTag: function (): Element | null {
+      var target = document.activeElement;
+      if (!target) return null;
+      if (target.classList.contains("task")) {
+        const tags = target.getElementsByClassName("tag");
+        target = tags[tags.length - 1];
+      }
+      if (!target || !target.classList.contains("tag")) return null;
+      return target;
+    },
+
     firstVisibleTask: function () {
       for (const task of document.getElementsByClassName("task")) {
         const state = task.getAttribute("data-state");
@@ -436,16 +447,15 @@ function BrowserUI() {
     },
 
     removeTag: function () {
-      var target = document.activeElement;
+      const target = this.currentTag();
       if (!target) return;
-      if (target.classList.contains("task")) {
-        const tags = target.getElementsByClassName("tag");
-        target = tags[tags.length - 1];
-      }
-      if (!target || !target.classList.contains("tag")) return;
       ui.removeTag(target.parentElement!.getAttribute("data-created")!, target.textContent!);
     },
 
+    resetView: function () {
+      this.setView("todo");
+    },
+
     returnFocusAfterInput: function (): boolean {
       if (taskFocusedBeforeJumpingToInput) {
         taskFocusedBeforeJumpingToInput.focus();
@@ -574,7 +584,7 @@ function handleKey(event: any) {
       if (event.key == "d") return browserUI.setView("done");
       if (event.key == "q") return browserUI.setView("todo");
       if (event.key == "s") return (inputState = InputState.VS);
-      if (event.key == "v") return browserUI.setView("todo");
+      if (event.key == "v") return browserUI.resetView();
       if (event.key == "w") return browserUI.setView("waiting");
       if (event.key == "x") return browserUI.setView("deleted");
     } else if (inputState === InputState.VS) {