X-Git-Url: http://git.scottworley.com/vopamoi/blobdiff_plain/b5f15e0e536c9898458cd7ab9b440dbec404ce6a..55a4baa82e843ccb8a0ced1c1dc75a38bfe5f70e:/vopamoi.ts diff --git a/vopamoi.ts b/vopamoi.ts index 17d81b6..83354a4 100644 --- a/vopamoi.ts +++ b/vopamoi.ts @@ -262,7 +262,7 @@ function BrowserUI() { } input.value = ""; if (event.getModifierState("Control")) { - this.setPriority(task, null, document.getElementsByClassName("task")[0]); + this.makeTopPriority(task); } }, @@ -356,6 +356,12 @@ function BrowserUI() { return valid_cursor; }, + makeTopPriority: function (task: Element | null = null) { + if (!task) task = document.activeElement; + if (!task) return; + this.setPriority(task, null, document.getElementsByClassName("task")[0]); + }, + moveCursor: function (offset: number): boolean { const active = document.activeElement; if (!active) return false; @@ -382,9 +388,14 @@ function BrowserUI() { }, removeTag: function () { - const tag = document.activeElement; - if (!tag || !tag.classList.contains("tag")) return; - ui.removeTag(tag.parentElement!.getAttribute("data-created")!, tag.textContent!); + var target = document.activeElement; + 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!); }, returnFocusAfterInput: function (): boolean { @@ -463,6 +474,7 @@ function handleKey(event: any) { if (event.key == "k") return browserUI.moveCursor(-1); if (event.key == "J") return browserUI.moveTask(1); if (event.key == "K") return browserUI.moveTask(-1); + if (event.key == "T") return browserUI.makeTopPriority(); if (event.key == "n") return browserUI.focusTaskNameInput(event); if (event.key == "c") return browserUI.setState("cancelled"); if (event.key == "d") return browserUI.setState("done");