X-Git-Url: http://git.scottworley.com/vopamoi/blobdiff_plain/e94e9f27c762273111ae0526d6ca24cee0c02592..682139fcfed4fc2110ebef8a47953bb8655c8fba:/vopamoi.ts?ds=sidebyside diff --git a/vopamoi.ts b/vopamoi.ts index 80e8ff9..b16bc70 100644 --- a/vopamoi.ts +++ b/vopamoi.ts @@ -36,6 +36,7 @@ const Model = { task.setAttribute("class", "task"); task.setAttribute("tabindex", "0"); task.setAttribute("data-created", timestamp); + task.setAttribute("data-state", "todo"); document.getElementById("tasks")!.appendChild(task); return task; }, @@ -73,10 +74,6 @@ const Model = { return parseFloat(task.getAttribute("data-created")!); }, - getState: function (task: Element): string { - return task.getAttribute("data-state") ?? "todo"; - }, - getTask: function (createTimestamp: string) { for (const task of document.getElementsByClassName("task")) { if (task.getAttribute("data-created") === createTimestamp) { @@ -297,7 +294,7 @@ const BrowserUI = { setState: function (newState: string) { const task = document.activeElement; if (!task) return; - const oldState = Model.getState(task); + const oldState = task.getAttribute("data-state"); if (newState === oldState) return; const createTimestamp = task.getAttribute("data-created")!; this.moveCursor(1) || this.moveCursor(-1); @@ -312,6 +309,7 @@ const BrowserUI = { enum InputState { Command, + View, } var inputState = InputState.Command; @@ -337,6 +335,9 @@ function handleKey(event: any) { if (event.key == "X") return BrowserUI.setState("deleted"); if (event.key == "u") return BrowserUI.undo(); if (event.key == "e") return BrowserUI.beginEdit(event); + if (event.key == "v") return (inputState = InputState.View); + } else if (inputState === InputState.View) { + return (inputState = InputState.Command); } } }