]> git.scottworley.com Git - vopamoi/log
vopamoi
2 years agoAvoid children[0]
Scott Worley [Thu, 27 Jan 2022 19:41:01 +0000 (11:41 -0800)]
Avoid children[0]

2 years agoSort log apply actions
Scott Worley [Thu, 27 Jan 2022 19:40:09 +0000 (11:40 -0800)]
Sort log apply actions

2 years agoUse classList to set class
Scott Worley [Thu, 27 Jan 2022 19:12:40 +0000 (11:12 -0800)]
Use classList to set class

2 years agoChange "todo" view key "t" -> "q" ("queue")
Scott Worley [Thu, 27 Jan 2022 19:06:48 +0000 (11:06 -0800)]
Change "todo" view key "t" -> "q" ("queue")

2 years agoDon't select-all the task description when beginning editing
Scott Worley [Thu, 27 Jan 2022 08:36:25 +0000 (00:36 -0800)]
Don't select-all the task description when beginning editing

I find that
 * most edits are more gentle than complete replacement
 * I consistently reach for the "end" key to begin editing
 * If I want complete replacement, ^A is easier to type than "end"

2 years agoEscape to abort a task edit
Scott Worley [Thu, 27 Jan 2022 08:30:22 +0000 (00:30 -0800)]
Escape to abort a task edit

2 years agoAlways return to command mode (leave input box) after creating a task
Scott Worley [Thu, 27 Jan 2022 08:25:01 +0000 (00:25 -0800)]
Always return to command mode (leave input box) after creating a task

Even in other views, where the just-created task cannot accept focus.

2 years agoundoLog is private to the UI
Scott Worley [Thu, 27 Jan 2022 08:07:27 +0000 (00:07 -0800)]
undoLog is private to the UI

2 years agoViews: Show tasks by state
Scott Worley [Thu, 27 Jan 2022 07:49:58 +0000 (23:49 -0800)]
Views: Show tasks by state

2 years agoAllow browserUI private fields
Scott Worley [Thu, 27 Jan 2022 07:28:51 +0000 (23:28 -0800)]
Allow browserUI private fields

2 years agoUse CSS for filtering the view
Scott Worley [Thu, 27 Jan 2022 07:19:31 +0000 (23:19 -0800)]
Use CSS for filtering the view

2 years agoAlways set state attribute
Scott Worley [Thu, 27 Jan 2022 07:12:18 +0000 (23:12 -0800)]
Always set state attribute

2 years agoLeader key "v" for selecting views
Scott Worley [Thu, 27 Jan 2022 07:00:48 +0000 (23:00 -0800)]
Leader key "v" for selecting views

2 years agoCommands are in command mode
Scott Worley [Thu, 27 Jan 2022 06:53:54 +0000 (22:53 -0800)]
Commands are in command mode

2 years agoUse a monotonic clock
Scott Worley [Thu, 27 Jan 2022 06:33:53 +0000 (22:33 -0800)]
Use a monotonic clock

Generally assume that clock values always increase to simplify reasoning
everywhere clock values are used.  Then enforce that assumption.

Clock values don't really, truly always go up because page reloads &
multiple devices, but since I'm not currently planning to spend the
effort that would be required to perfectly handle this in all cases,
making it happen in fewer cases is a win (rather than just making bugs
I want to fix harder to reproduce).

2 years agoExplicitly remove the completeEdit onblur event listener
Scott Worley [Thu, 27 Jan 2022 06:17:43 +0000 (22:17 -0800)]
Explicitly remove the completeEdit onblur event listener

When the completeEdit is invoked by keystroke, we don't want it invoked
a second time as a result of its own action removing the input field.

Firefox does *not* call the "blur" event when a focused input element is removed.
Chromium *does* call the "blur" event when a focused input element is removed.

So this is needed for Chromium.

2 years agoEdit task descriptions
Scott Worley [Thu, 27 Jan 2022 06:07:18 +0000 (22:07 -0800)]
Edit task descriptions

2 years agoDon't change state if it's already in that state
Scott Worley [Thu, 27 Jan 2022 03:32:16 +0000 (19:32 -0800)]
Don't change state if it's already in that state

2 years agoChange focus in BrowserUI, never in Model
Scott Worley [Thu, 27 Jan 2022 02:44:21 +0000 (18:44 -0800)]
Change focus in BrowserUI, never in Model

We don't want updates coming in from network sync to move focus around.

2 years agoTasks have one state. Enables undo for state changes
Scott Worley [Thu, 27 Jan 2022 01:51:51 +0000 (17:51 -0800)]
Tasks have one state.  Enables undo for state changes

2 years agoUndo for task creation and reordering
Scott Worley [Wed, 26 Jan 2022 22:46:28 +0000 (14:46 -0800)]
Undo for task creation and reordering

2 years agoNever mind about Destroy. Deleting is just state "deleted"
Scott Worley [Wed, 26 Jan 2022 22:17:16 +0000 (14:17 -0800)]
Never mind about Destroy.  Deleting is just state "deleted"

It doesn't get erased from the log anyway.

2 years agoFull-width input box
Scott Worley [Wed, 26 Jan 2022 21:59:25 +0000 (13:59 -0800)]
Full-width input box

2 years agoStart with focus on top task
Scott Worley [Wed, 26 Jan 2022 21:46:03 +0000 (13:46 -0800)]
Start with focus on top task

2 years agoControl-enter to make new tasks top-priority
Scott Worley [Wed, 26 Jan 2022 21:25:47 +0000 (13:25 -0800)]
Control-enter to make new tasks top-priority

2 years agoAllow Model to return values through UI
Scott Worley [Wed, 26 Jan 2022 21:25:06 +0000 (13:25 -0800)]
Allow Model to return values through UI

2 years agoInitiate task creation with Enter key rather than form submit
Scott Worley [Wed, 26 Jan 2022 21:11:09 +0000 (13:11 -0800)]
Initiate task creation with Enter key rather than form submit

This will let us detect modifiers on the keystroke.

2 years agoEliminate createTask. It's part of addTask
Scott Worley [Wed, 26 Jan 2022 21:00:15 +0000 (13:00 -0800)]
Eliminate createTask.  It's part of addTask

In the spirit of maintaining the invariant: all tasks are in the DOM; no
loose, floating tasks.

2 years agoRe-order tasks
Scott Worley [Wed, 26 Jan 2022 20:55:28 +0000 (12:55 -0800)]
Re-order tasks

2 years agoPut tasks in a div
Scott Worley [Wed, 26 Jan 2022 20:50:10 +0000 (12:50 -0800)]
Put tasks in a div

2 years agoSort Model methods
Scott Worley [Wed, 26 Jan 2022 19:31:02 +0000 (11:31 -0800)]
Sort Model methods

2 years agoFactor out task offset logic
Scott Worley [Wed, 26 Jan 2022 18:59:16 +0000 (10:59 -0800)]
Factor out task offset logic

2 years agoFix moving focus over completed tasks
Scott Worley [Wed, 26 Jan 2022 18:44:48 +0000 (10:44 -0800)]
Fix moving focus over completed tasks

It sure would be nice if we could just trigger whatever the browser does
for tab and shift-tab key presses, instead of doing all this.

2 years agoUse a prefix for localStorage keys
Scott Worley [Wed, 26 Jan 2022 17:45:41 +0000 (09:45 -0800)]
Use a prefix for localStorage keys

2 years agoSet tasks "done" (or "waiting", "cancelled", "someday-maybe")
Scott Worley [Wed, 26 Jan 2022 09:01:48 +0000 (01:01 -0800)]
Set tasks "done" (or "waiting", "cancelled", "someday-maybe")

2 years agoLeave something focused after destroying a task
Scott Worley [Wed, 26 Jan 2022 07:54:34 +0000 (23:54 -0800)]
Leave something focused after destroying a task

2 years agoMove focusTaskNameInput and moveCursor into BrowserUI
Scott Worley [Wed, 26 Jan 2022 07:51:50 +0000 (23:51 -0800)]
Move focusTaskNameInput and moveCursor into BrowserUI

2 years agoDestroy tasks
Scott Worley [Wed, 26 Jan 2022 07:45:42 +0000 (23:45 -0800)]
Destroy tasks

2 years agoBrowserUI
Scott Worley [Wed, 26 Jan 2022 06:47:55 +0000 (22:47 -0800)]
BrowserUI

2 years agomoveCursor returns whether it was able to or not
Scott Worley [Wed, 26 Jan 2022 06:35:52 +0000 (22:35 -0800)]
moveCursor returns whether it was able to or not

2 years agoKeep the creation timestamp in the DOM
Scott Worley [Wed, 26 Jan 2022 06:29:14 +0000 (22:29 -0800)]
Keep the creation timestamp in the DOM

2 years agoKeep handleKey lean
Scott Worley [Wed, 26 Jan 2022 06:24:05 +0000 (22:24 -0800)]
Keep handleKey lean

2 years agoKeep Log narrowly about log stuff
Scott Worley [Wed, 26 Jan 2022 06:17:51 +0000 (22:17 -0800)]
Keep Log narrowly about log stuff

2 years agoPersistence
Scott Worley [Wed, 26 Jan 2022 06:13:35 +0000 (22:13 -0800)]
Persistence

2 years agoBuild and consume Log entries
Scott Worley [Wed, 26 Jan 2022 05:47:53 +0000 (21:47 -0800)]
Build and consume Log entries

2 years agoWrites go through the Log
Scott Worley [Tue, 25 Jan 2022 23:53:04 +0000 (15:53 -0800)]
Writes go through the Log

2 years agoNo empty-string-named tasks
Scott Worley [Tue, 25 Jan 2022 22:33:34 +0000 (14:33 -0800)]
No empty-string-named tasks

2 years ago"c" to "Create" tasks
Scott Worley [Tue, 25 Jan 2022 22:29:23 +0000 (14:29 -0800)]
"c" to "Create" tasks

2 years agoNew tasks get focus.
Scott Worley [Tue, 25 Jan 2022 22:28:35 +0000 (14:28 -0800)]
New tasks get focus.

2 years agoCall some things "Model", to distinguish them from "Log"
Scott Worley [Tue, 25 Jan 2022 22:20:22 +0000 (14:20 -0800)]
Call some things "Model", to distinguish them from "Log"

2 years agoj/k movement keys
Scott Worley [Tue, 25 Jan 2022 21:31:52 +0000 (13:31 -0800)]
j/k movement keys

2 years agoNo MVMVC; DOM *is* the model.
Scott Worley [Tue, 25 Jan 2022 19:43:08 +0000 (11:43 -0800)]
No MVMVC; DOM *is* the model.

2 years agoTasks can be focused
Scott Worley [Tue, 25 Jan 2022 10:36:51 +0000 (02:36 -0800)]
Tasks can be focused

2 years agoCreate tasks
Scott Worley [Tue, 25 Jan 2022 10:28:10 +0000 (02:28 -0800)]
Create tasks

2 years agoStart
Scott Worley [Tue, 25 Jan 2022 10:08:21 +0000 (02:08 -0800)]
Start