Das Gantt-Diagramm und seine Elemente können mithilfe von Tasten oder Tastenkombinationen bedient werden. Dieser Artikel behandelt die Grundlagen der Tastaturnavigation im Gantt-Diagramm, einschließlich des Fokusverhaltens, der Verwendung von integrierten Shortcuts und wie Sie eigene Shortcuts erstellen können.
Um die Tastaturnavigation im Gantt-Diagramm zu aktivieren, schalten Sie das keyboard_navigation-Plugin mit der gantt.plugins-Methode ein.
gantt.plugins({
keyboard_navigation: true
});
Details zur gantt.ext.keyboardNavigation API finden Sie im Artikel Tastaturnavigations-Erweiterung.
Es gibt zwei Arten der Tastaturnavigation:
Aktivieren Sie dies, indem Sie die keyboard_navigation-Eigenschaft auf true setzen.
Aktivieren Sie dies, indem Sie die keyboard_navigation_cells-Eigenschaft auf true setzen.
Durch Drücken der Tabulatortaste wird der Fokus auf das Gantt-Diagramm gesetzt, wie bei jedem Standard-Element. Sobald der Fokus gesetzt ist, können Pfeiltasten und andere Tasten verwendet werden, um im Gantt-Diagramm zu navigieren.
Durch erneutes Drücken von Tab springt der Fokus vom Gantt-Diagramm zu einem anderen Bereich der Seite.
Wenn ein modales Fenster (wie ein Lightbox- oder Bestätigungsfenster) geöffnet wird, verschiebt sich der Fokus vom Gantt-Diagramm auf das Modal und die Navigation erfolgt darin wie in einem typischen Formular. Nach dem Schließen des Fensters kehrt der Fokus zum Gantt-Diagramm zurück.
Um den Fokus wieder auf das Gantt-Diagramm zu setzen, verwenden Sie die focus-Methode. Wenn das Gantt-Diagramm den Fokus zurückerhält, wird er entweder auf das aktive Element im Diagramm, die erste Zeile oder das zuletzt ausgewählte Element gesetzt.
Standardaktionen für die Navigation in einem modalen Fenster umfassen:
Wenn der Fokus auf einem Formular-Button liegt, aktiviert das Drücken von Leertaste oder Enter diesen Button, anstatt die Standardaktion des Modals auszulösen.
Wenn der Fokus auf einer Gitterzelle oder -zeile liegt und dann ein benutzerdefiniertes HTML-Element im Gantt-Diagramm angeklickt wird, kehrt der Fokus zur Gitterzelle oder -zeile zurück.
Ab Version v7.1.13 verhindert das Hinzufügen der Klasse 'no_keyboard_navigation' zu einem benutzerdefinierten Element, dass der Fokus zur Gitterzelle oder -zeile zurückkehrt.
Die durch einen Tastendruck ausgelöste Aktion hängt vom Kontext (Scope) ab. Verschiedene Shortcuts können unterschiedlichen Elementen (Scopes) im Gantt-Diagramm zugewiesen werden:
Wenn derselbe Shortcut mehreren Scopes zugewiesen ist, hat der spezifischere Vorrang. Wenn z. B. ein Shortcut sowohl dem Gantt-Diagramm als auch einem Element zugewiesen ist, wird der Shortcut des Elements ausgelöst.
Um einen neuen Tastatur-Shortcut hinzuzufügen, verwenden Sie die addShortcut-Methode mit drei Parametern:
gantt.addShortcut("shift+w", function(e){
var task = gantt.locate(e);
if(task)
gantt.showQuickInfo(task)
},"taskRow");
Um einen Shortcut aus einem Scope zu entfernen, verwenden Sie die removeShortcut-Methode mit zwei Parametern:
gantt.removeShortcut("shift+w","taskRow");
Sie können die Handler-Funktion für einen Shortcut mit der getShortcutHandler-Methode abrufen, die folgende Parameter erwartet:
var shortcut_handler = gantt.getShortcutHandler("shift+w","taskRow");
Diese Methode gibt die Funktion zurück, die den Shortcut verarbeitet.
Tastatur-Shortcuts können enthalten:
Mehrere Tastenkombinationen für eine Aktion können durch Kommas getrennt aufgelistet werden, z. B. "ctrl+a, ctrl+space".
Es gibt mehrere integrierte Shortcuts zur Navigation im Gantt-Diagramm:
Related sample: Keyboard Navigation
Ein Beispiel, wie Sie das Kopieren/Einfügen von Aufgaben mit den Shortcuts Ctrl+C/Ctrl+V umsetzen können, finden Sie im zugehörigen Artikel.
Related sample: Keyboard Navigation - navigate cells
Seit Version 4.2 unterstützt das Gantt-Diagramm das horizontale Scrollen der Zeitleiste mittels:
-> Shift-Taste + Mausradbewegung.
Ab Version 6.3 können Sie die Modifikatortaste von der Standard-Shift-Taste auf Alt oder Meta mit der horizontal_scroll_key-Eigenschaft ändern:
gantt.config.horizontal_scroll_key = "altKey";
Um das horizontale Scrollen mit dem Mausrad zu deaktivieren, setzen Sie die Eigenschaft auf false:
gantt.config.horizontal_scroll_key = false;
Zurück nach oben