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 &&
},
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 {