keypress-on-todo
Описание
Срабатывает, когда задача находится в фокусе во время использования клавиатурной навигации
Использование
"keypress-on-todo": ({
code: string,
event: KeyboardEvent
}) => void;
Параметры
Коллбэк соб ытия keypress-on-todo может принимать объект со следующими параметрами:
code- (обязательный) код нажатой клавиши или сочетания клавиш в нижнем регистре. Полные списки горячих клавиш и их кодов приведены нижеevent- (обязательный) нативный объект события
информация
Для обработки внутренних событий используйте методы 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 | Закрывает меню, если оно открыто для задачи в момент нажатия клавиши. Повторное нажатие закроет редактор, сбросит фильтрацию и свернёт результаты поиска на панели инструментов |
совет
Коды клавиш, описанные ниже, недоступны, если фокус установлен на строке поиска панели инструментов.
| Горячая клавиша | Код клавиши | Описание |
|---|---|---|
| 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 | Отменяет последнее действие (undo) |
| Ctrl(Cmd)+Y / Ctrl(Cmd)+Shift+Z | ctrl+y /ctrl+shift+z | Повторяет отменённое действие (redo) |
| 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 | Создаёт новый абзац |