Gantt позволяет перемещаться по своим элементам с помощью сочетаний клавиш. Это руководство охватывает, как включить и использовать навигацию с клавиатуры, включая поведение фокуса, встроенные сочетания и создание пользовательских.
Чтобы включить навигацию с клавиатуры в диаграмме Gantt, активируйте плагин keyboard_navigation с помощью метода gantt.plugins:
gantt.plugins({
keyboard_navigation: true
});
API для объекта gantt.ext.keyboardNavigation подробно описан в статье Расширение для навигации с клавиатуры.
Доступны два типа навигации с клавиатуры:
Навигация по строкам задач: Включите, установив свойство keyboard_navigation в true.
Навигация по ячейкам задач: Включите, установив свойство keyboard_navigation_cells в true.
Нажатие клавиши Tab устанавливает фокус на Gantt, как и на любой другой элемент. После установки фокуса можно перемещаться с помощью стрелок и других сочетаний клавиш. Повторное нажатие Tab перемещает фокус с Gantt на другой элемент страницы.
Когда открывается модальное окно (например, лайтбокс или окно подтверждения), фокус перемещается с Gantt на модальное окно, позволяя перемещаться внутри него, как в обычной форме. После закрытия модального окна фокус возвращается на Gantt.
Чтобы вручную вернуть фокус на Gantt, используйте метод фокус. Когда фокус восстанавливается, он будет направлен на активный элемент внутри Gantt, первую строку или последний выбранный элемент.
Стандартные действия навигации в модальных окнах включают:
Если фокус установлен на кнопке в форме, нажатие Space или Enter вызовет действие кнопки.
Если фокус установлен на ячейке или строке грида и вы нажимаете на пользовательский HTML-элемент внутри Gantt, фокус вернется на ячейку/строку грида.
Начиная с версии 7.1.13, добавление класса 'no_keyboard_navigation' к пользовательскому элементу предотвращает возврат фокуса на ячейку/строку грида.
Сочетания клавиш могут вызывать различные действия в зависимости от контекста (или области). Диаграмма Gantt имеет следующие области:
Если одно и то же сочетание клавиш назначено нескольким областям, приоритет имеет более специфическая. Например, сочетание, привязанное к конкретному элементу, переопределит то же сочетание, назначенное всей диаграмме Gantt.
Чтобы добавить пользовательское сочетание клавиш, используйте метод addShortcut. Он требует три параметра:
Пример:
gantt.addShortcut("shift+w", function(e){
var task = gantt.locate(e);
if(task)
gantt.showQuickInfo(task)
},"taskRow");
Чтобы удалить сочетание клавиш, используйте метод removeShortcut. Он требует два параметра:
Пример:
gantt.removeShortcut("shift+w","taskRow");
Чтобы получить функцию-обработчик для сочетания клавиш, используйте метод getShortcutHandler. Он принимает два параметра:
Пример:
var shortcut_handler = gantt.getShortcutHandler("shift+w","taskRow");
Метод возвращает функцию, обрабатывающую сочетание.
Сочетания клавиш могут состоять из:
Несколько комбинаций клавиш для одного и того же действия могут быть перечислены через запятую (например, "ctrl+a, ctrl+space").
Диаграмма Gantt включает несколько встроенных сочетаний для навигации:
Related sample: Keyboard Navigation
Для примера реализации копирования/вставки задач с использованием Ctrl+C/Ctrl+V, смотрите связанную статью.
Related sample: Keyboard Navigation - navigate cells
Начиная с версии 4.2, вы можете прокручивать временную шкалу горизонтально, используя:
-> Клавиша Shift + движение колесиком мыши.
Начиная с версии 6.3, вы можете настроить клавишу горизонтальной прокрутки на Alt или Meta вместо стандартной клавиши Shift, установив свойство horizontal_scroll_key:
gantt.config.horizontal_scroll_key = "altKey";
Чтобы отключить горизонтальную прокрутку, установите horizontal_scroll_key в false:
gantt.config.horizontal_scroll_key = false;
К началу