]> git.scottworley.com Git - vopamoi/commitdiff
'l' goes to first *visible* subtask
authorScott Worley <scottworley@scottworley.com>
Wed, 2 Mar 2022 23:54:00 +0000 (15:54 -0800)
committerScott Worley <scottworley@scottworley.com>
Wed, 2 Mar 2022 23:54:00 +0000 (15:54 -0800)
I.e., it does something even if the first subtask is hidden because it's
complete or something.

vopamoi.ts

index 5f759d08588cfa18d24da7f07e41df026d565c1d..8e7280964e076c45dc740cae6661e09ccaf6fe00 100644 (file)
@@ -378,8 +378,9 @@ function BrowserUI() {
       return target as HTMLElement;
     },
 
       return target as HTMLElement;
     },
 
-    firstVisibleTask: function () {
-      for (const task of document.getElementsByClassName("task")) {
+    firstVisibleTask: function (root: Element | null = null) {
+      if (root === null) root = document.body;
+      for (const task of root.getElementsByClassName("task")) {
         const state = task.getAttribute("data-state");
         if (
           task instanceof HTMLElement &&
         const state = task.getAttribute("data-state");
         if (
           task instanceof HTMLElement &&
@@ -447,7 +448,9 @@ function BrowserUI() {
     },
 
     moveCursorRight: function () {
     },
 
     moveCursorRight: function () {
-      (this.currentTask()?.getElementsByClassName("task")[0] as HTMLElement)?.focus();
+      const active = this.currentTask();
+      if (!active) return false;
+      (this.firstVisibleTask(active) as HTMLElement | null)?.focus();
     },
 
     moveCursorVertically: function (offset: number): boolean {
     },
 
     moveCursorVertically: function (offset: number): boolean {