keypress-on-todo
描述
当使用键盘导航时任务处于焦点状态时触发
用法
"keypress-on-todo": ({
code: string,
event: KeyboardEvent
}) => void;
参数
keypress-on-todo 事件的回调函数可接收一个包含以下参数的对象:
信息
如需处理内部事件,可以使用 Event Bus 方法
示例
const { ToDo, Toolbar } = todo;
const {tasks, projects, users} = getData();
const list = new ToDo("#root", {
tasks,
projects,
users
});
const toolbar = new Toolbar("#toolbar", {
api: list.api,
});
// 订阅 "keypress-on-todo" 事件
list.api.on("keypress-on-todo", ({code, event}) => {
console.log("The", code, "key is pressed");
});
键盘快捷键
默认模式
以下快捷键在内联编辑器关闭时生效。
| 键盘快捷键 | 键代码 | 说明 |
|---|---|---|
| Escape | escape | 若任务的菜单已打开,则关闭菜单。再次按下将关闭编辑器、重置过滤,并收起 Toolbar 中的搜索结果 |
提示
以下键代码在焦点位于 Toolbar 搜索框时不可用。
| 键盘快捷键 | 键代码 | 说明 |
|---|---|---|
| Enter | enter | 在当前所选任务的同一层级新建一个任务,将选中状态移至新任务并打开编辑器 |
| ArrowUp | arrowup | 将选中状态向上移动到前一个任务 |
| ArrowDown | arrowdown | 将选中状态向下移动到下一个任务 |
| Ctrl(Cmd)+Enter | ctrl+enter | 打开所选任务的编辑器 |
| Ctrl(Cmd)+Click / Ctrl(Cmd)+Shift+Click 在 v1.1 中新增 | ctrl /ctrl+shift | 选择多个任务及其所有子任务。 若任务当前已选中则取消选中,此外: - 若任务的父任务也已选中,则同时取消选中该任务及其父任务。 - 若任务的子任务也已选中,则仅取消选中该任务本身。 |
| Shift+Click 在 v1.1 中新增 | shift | 选 择一个范围内的任务 |
| Shift+ArrowUp 在 v1.1 中新增 | shift+arrowup | 选中当前任务上方的任务。 若上方任务当前已选中则取消选中 |
| Shift+ArrowDown 在 v1.1 中新增 | shift+arrowdown | 选中当前任务下方的任务(及其所有子任务)。 若下方任务当前已选中则取消选中 |
| Ctrl+ArrowUp | ctrl+arrowup | 在同一层级内将所选任务向上移动 |
| Ctrl+ArrowDown | ctrl+arrowdown | 在同一层级内将所选任务向下移动 |
| Space | space | 根据任务的初始状态将其标记为完成或未完成 |
| Delete / Backspace | delete /backspace | 按以下逻辑删除所选任务: - 删除子任务后,选中状态向下/向上移动,直至到达父任务 - 删除父任务后,若存在下一个父任务则选中状态移至该父任务;否则移至上一个父任务 |
| ArrowRight | arrowright | 展开已折叠的父任务 |
| ArrowLeft | arrowleft | 折叠已展开的父任务。若任务已折叠或没有子任务,则将选中状态移至父任务 |
| Tab | tab | 将任务的嵌套层级降低一级 |
| Shift+Tab | shift+tab | 将任务的嵌套层级提升一级 |
| Ctrl(Cmd)+D | ctrl+d | 在同一层级复制所选任务 |
| Ctrl(Cmd)+C | ctrl+c | 将所选任务(包含所有子任务)复制到剪贴板 |
| Ctrl(Cmd)+V | ctrl+v | 将复制的任务粘贴到与当前所选任务相同的层级。可将复制的任务粘贴到任意层级,复制任务的结构会被保留 |
| Ctrl(Cmd)+Z | ctrl+z | 撤销上一次操作 |
| Ctrl(Cmd)+Y / Ctrl(Cmd)+Shift+Z | ctrl+y /ctrl+shift+z | 重做已撤销的操作 |
| Alt+1 / Alt+2 / Alt+3 | alt+1 /alt+2 /alt+3 | 设置所选任务的优先级(对应 priorities 相应条目的快捷键) |
| Alt+0 | alt+0 | 重置所选任务的优先级 |
编辑模式
以下快捷键在内联编辑器打开时生效。
| 键盘快捷键 | 键代码 | 说明 |
|---|---|---|
| Escape | escape | 关闭编辑器且不保存任何更改 |
| Enter | enter | 关闭编辑器并保存更改 |
| Shift+Enter | shift+enter | 创建新段落 |