]> git.scottworley.com Git - vopamoi/blobdiff - vopamoi.ts
Leave something focused after destroying a task
[vopamoi] / vopamoi.ts
index 3ff39184a0ec8cc6a74069eb3535ff79413699f6..151c5e06103d8e8f68791350c0361c56fe5f9fdf 100644 (file)
@@ -39,21 +39,6 @@ const Model = {
     const task = this.getTask(createTimestamp);
     task!.parentElement!.removeChild(task!);
   },
     const task = this.getTask(createTimestamp);
     task!.parentElement!.removeChild(task!);
   },
-
-  moveCursor: function (offset: number): boolean {
-    var active = document.activeElement;
-    if (offset === 1 && active) {
-      active = active.nextElementSibling;
-    }
-    if (offset === -1 && active) {
-      active = active.previousElementSibling;
-    }
-    if (active && active instanceof HTMLElement) {
-      active.focus();
-      return true;
-    }
-    return false;
-  },
 };
 
 const Log = (function () {
 };
 
 const Log = (function () {
@@ -108,22 +93,39 @@ const BrowserUI = {
     }
     return false;
   },
     }
     return false;
   },
+
   destroyTask: function () {
     const createTimestamp = document.activeElement?.getAttribute("data-created");
   destroyTask: function () {
     const createTimestamp = document.activeElement?.getAttribute("data-created");
-    return createTimestamp && UI.destroyTask(createTimestamp);
+    this.moveCursor(1) || this.moveCursor(-1);
+    return UI.destroyTask(createTimestamp!);
   },
   },
-};
 
 
-function focusTaskNameInput(event: any) {
-  document.getElementById("taskName")!.focus();
-  event.preventDefault();
-}
+  focusTaskNameInput: function (event: any) {
+    document.getElementById("taskName")!.focus();
+    event.preventDefault();
+  },
+
+  moveCursor: function (offset: number): boolean {
+    var active = document.activeElement;
+    if (offset === 1 && active) {
+      active = active.nextElementSibling;
+    }
+    if (offset === -1 && active) {
+      active = active.previousElementSibling;
+    }
+    if (active && active instanceof HTMLElement) {
+      active.focus();
+      return true;
+    }
+    return false;
+  },
+};
 
 function handleKey(event: any) {
   if (event.target.tagName !== "INPUT") {
 
 function handleKey(event: any) {
   if (event.target.tagName !== "INPUT") {
-    if (event.key == "j") return Model.moveCursor(1);
-    if (event.key == "k") return Model.moveCursor(-1);
-    if (event.key == "c") return focusTaskNameInput(event);
+    if (event.key == "j") return BrowserUI.moveCursor(1);
+    if (event.key == "k") return BrowserUI.moveCursor(-1);
+    if (event.key == "c") return BrowserUI.focusTaskNameInput(event);
     if (event.key == "X") return BrowserUI.destroyTask();
   }
 }
     if (event.key == "X") return BrowserUI.destroyTask();
   }
 }