]>
git.scottworley.com Git - vopamoi/log
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Scott Worley [Fri, 28 Jan 2022 06:54:22 +0000 (22:54 -0800)]
Show dates on non-todo-state tasks
Eg, this is the completion date for completed tasks, etc.
Scott Worley [Fri, 28 Jan 2022 06:37:20 +0000 (22:37 -0800)]
Declare character encoding
This quiets a warning in the Firefox console.
Scott Worley [Fri, 28 Jan 2022 06:24:42 +0000 (22:24 -0800)]
"sm" and "vsm" for someday-*maybe*, rather than just "s"
The "maybe" in "someday-maybe" feels really important. It feels
importantly different than "someday". It definitely feels worth the
extra keystrokes & extra keystroke state logic.
Scott Worley [Fri, 28 Jan 2022 06:21:06 +0000 (22:21 -0800)]
Rename inputStates to be less semantic and more concrete
Scott Worley [Fri, 28 Jan 2022 06:20:21 +0000 (22:20 -0800)]
"T" to make task "Top" priority
Scott Worley [Fri, 28 Jan 2022 05:59:47 +0000 (21:59 -0800)]
Factor out makeTopPriority
Scott Worley [Fri, 28 Jan 2022 03:34:24 +0000 (19:34 -0800)]
"x" removes the first tag if a task, rather than a tag, is selected
Scott Worley [Fri, 28 Jan 2022 03:26:04 +0000 (19:26 -0800)]
Press "x" to remove tags
Scott Worley [Fri, 28 Jan 2022 03:15:37 +0000 (19:15 -0800)]
Undo tag
Scott Worley [Fri, 28 Jan 2022 03:09:20 +0000 (19:09 -0800)]
Accept "vv" for jumping to the default view
Scott Worley [Thu, 27 Jan 2022 23:37:51 +0000 (15:37 -0800)]
Disallow all-spaces task descriptions and tag-names
Scott Worley [Thu, 27 Jan 2022 23:32:16 +0000 (15:32 -0800)]
Don't listen for keystrokes until log replay is done
Scott Worley [Thu, 27 Jan 2022 23:27:19 +0000 (15:27 -0800)]
Provide a visual indicator of the current view-state
h/t https://css-tricks.com/body-border/
Scott Worley [Thu, 27 Jan 2022 23:05:50 +0000 (15:05 -0800)]
Keep tags visually associated with their task
If a task's tags line-wrap, the shouldn't go into the next task's space.
Scott Worley [Thu, 27 Jan 2022 21:34:30 +0000 (13:34 -0800)]
Keep tags sorted
Scott Worley [Thu, 27 Jan 2022 21:24:18 +0000 (13:24 -0800)]
Color tags
Scott Worley [Thu, 27 Jan 2022 20:52:53 +0000 (12:52 -0800)]
Keep description in its own span
Tags broke task.textContent being an easy way to get the task
description, which editTask was using. This restores neatness & fixes a
bug in which tag names were slurped into the edit-task buffer.
Scott Worley [Thu, 27 Jan 2022 20:45:58 +0000 (12:45 -0800)]
Do more filtering in faster browser-native code
Scott Worley [Thu, 27 Jan 2022 20:40:30 +0000 (12:40 -0800)]
The tag-input box appearing should not move other tasks' tags around
Scott Worley [Thu, 27 Jan 2022 20:26:23 +0000 (12:26 -0800)]
Fix: Escape aborts tagging
Scott Worley [Thu, 27 Jan 2022 20:13:49 +0000 (12:13 -0800)]
Disallow empty-string as a tag name
Scott Worley [Thu, 27 Jan 2022 20:10:11 +0000 (12:10 -0800)]
Use previous tag name as default new tag name
This makes tagging a bunch of tasks with the same tag easier.
Scott Worley [Thu, 27 Jan 2022 20:02:27 +0000 (12:02 -0800)]
Don't create duplicate tags; Tagging is idempotent
Scott Worley [Thu, 27 Jan 2022 19:59:03 +0000 (11:59 -0800)]
Don't attempt to create duplicate tags
Scott Worley [Thu, 27 Jan 2022 19:57:00 +0000 (11:57 -0800)]
Add tags
Scott Worley [Thu, 27 Jan 2022 19:41:01 +0000 (11:41 -0800)]
Avoid children[0]
Scott Worley [Thu, 27 Jan 2022 19:40:09 +0000 (11:40 -0800)]
Sort log apply actions
Scott Worley [Thu, 27 Jan 2022 19:12:40 +0000 (11:12 -0800)]
Use classList to set class
Scott Worley [Thu, 27 Jan 2022 19:06:48 +0000 (11:06 -0800)]
Change "todo" view key "t" -> "q" ("queue")
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"
Scott Worley [Thu, 27 Jan 2022 08:30:22 +0000 (00:30 -0800)]
Escape to abort a task edit
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.
Scott Worley [Thu, 27 Jan 2022 08:07:27 +0000 (00:07 -0800)]
undoLog is private to the UI
Scott Worley [Thu, 27 Jan 2022 07:49:58 +0000 (23:49 -0800)]
Views: Show tasks by state
Scott Worley [Thu, 27 Jan 2022 07:28:51 +0000 (23:28 -0800)]
Allow browserUI private fields
Scott Worley [Thu, 27 Jan 2022 07:19:31 +0000 (23:19 -0800)]
Use CSS for filtering the view
Scott Worley [Thu, 27 Jan 2022 07:12:18 +0000 (23:12 -0800)]
Always set state attribute
Scott Worley [Thu, 27 Jan 2022 07:00:48 +0000 (23:00 -0800)]
Leader key "v" for selecting views
Scott Worley [Thu, 27 Jan 2022 06:53:54 +0000 (22:53 -0800)]
Commands are in command mode
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).
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.
Scott Worley [Thu, 27 Jan 2022 06:07:18 +0000 (22:07 -0800)]
Edit task descriptions
Scott Worley [Thu, 27 Jan 2022 03:32:16 +0000 (19:32 -0800)]
Don't change state if it's already in that state
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.
Scott Worley [Thu, 27 Jan 2022 01:51:51 +0000 (17:51 -0800)]
Tasks have one state. Enables undo for state changes
Scott Worley [Wed, 26 Jan 2022 22:46:28 +0000 (14:46 -0800)]
Undo for task creation and reordering
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.
Scott Worley [Wed, 26 Jan 2022 21:59:25 +0000 (13:59 -0800)]
Full-width input box
Scott Worley [Wed, 26 Jan 2022 21:46:03 +0000 (13:46 -0800)]
Start with focus on top task
Scott Worley [Wed, 26 Jan 2022 21:25:47 +0000 (13:25 -0800)]
Control-enter to make new tasks top-priority
Scott Worley [Wed, 26 Jan 2022 21:25:06 +0000 (13:25 -0800)]
Allow Model to return values through UI
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.
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.
Scott Worley [Wed, 26 Jan 2022 20:55:28 +0000 (12:55 -0800)]
Re-order tasks
Scott Worley [Wed, 26 Jan 2022 20:50:10 +0000 (12:50 -0800)]
Put tasks in a div
Scott Worley [Wed, 26 Jan 2022 19:31:02 +0000 (11:31 -0800)]
Sort Model methods
Scott Worley [Wed, 26 Jan 2022 18:59:16 +0000 (10:59 -0800)]
Factor out task offset logic
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.
Scott Worley [Wed, 26 Jan 2022 17:45:41 +0000 (09:45 -0800)]
Use a prefix for localStorage keys
Scott Worley [Wed, 26 Jan 2022 09:01:48 +0000 (01:01 -0800)]
Set tasks "done" (or "waiting", "cancelled", "someday-maybe")
Scott Worley [Wed, 26 Jan 2022 07:54:34 +0000 (23:54 -0800)]
Leave something focused after destroying a task
Scott Worley [Wed, 26 Jan 2022 07:51:50 +0000 (23:51 -0800)]
Move focusTaskNameInput and moveCursor into BrowserUI
Scott Worley [Wed, 26 Jan 2022 07:45:42 +0000 (23:45 -0800)]
Destroy tasks
Scott Worley [Wed, 26 Jan 2022 06:47:55 +0000 (22:47 -0800)]
BrowserUI
Scott Worley [Wed, 26 Jan 2022 06:35:52 +0000 (22:35 -0800)]
moveCursor returns whether it was able to or not
Scott Worley [Wed, 26 Jan 2022 06:29:14 +0000 (22:29 -0800)]
Keep the creation timestamp in the DOM
Scott Worley [Wed, 26 Jan 2022 06:24:05 +0000 (22:24 -0800)]
Keep handleKey lean
Scott Worley [Wed, 26 Jan 2022 06:17:51 +0000 (22:17 -0800)]
Keep Log narrowly about log stuff
Scott Worley [Wed, 26 Jan 2022 06:13:35 +0000 (22:13 -0800)]
Persistence
Scott Worley [Wed, 26 Jan 2022 05:47:53 +0000 (21:47 -0800)]
Build and consume Log entries
Scott Worley [Tue, 25 Jan 2022 23:53:04 +0000 (15:53 -0800)]
Writes go through the Log
Scott Worley [Tue, 25 Jan 2022 22:33:34 +0000 (14:33 -0800)]
No empty-string-named tasks
Scott Worley [Tue, 25 Jan 2022 22:29:23 +0000 (14:29 -0800)]
"c" to "Create" tasks
Scott Worley [Tue, 25 Jan 2022 22:28:35 +0000 (14:28 -0800)]
New tasks get focus.
Scott Worley [Tue, 25 Jan 2022 22:20:22 +0000 (14:20 -0800)]
Call some things "Model", to distinguish them from "Log"
Scott Worley [Tue, 25 Jan 2022 21:31:52 +0000 (13:31 -0800)]
j/k movement keys
Scott Worley [Tue, 25 Jan 2022 19:43:08 +0000 (11:43 -0800)]
No MVMVC; DOM *is* the model.
Scott Worley [Tue, 25 Jan 2022 10:36:51 +0000 (02:36 -0800)]
Tasks can be focused
Scott Worley [Tue, 25 Jan 2022 10:28:10 +0000 (02:28 -0800)]
Create tasks
Scott Worley [Tue, 25 Jan 2022 10:08:21 +0000 (02:08 -0800)]
Start