Skip to content

Menubar

Die Menubar bietet gruppierte, ausführbare Funktionalitäten an.

Overview

Intro

Die Menubar dient zur Gruppierung von Funktionen.

Menubar Tertiary-Primary
Menubar Tertiary-Secondary
Menubar Secondary-Primary
Menubar Secondary

Verwendung

👍 Do👎 Don't
... wenn mehrere Buttons nebeneinander dargestellt werden müssen.
... wenn mehrere Funktionen in einem Button gruppiert werden sollen (früher wurde dazu der Split-Button verwendet welcher seit v3.0 Deprecated ist).
... wenn eine einzelner Button dargestellt werden soll, verwende dazu direkt den Button.

Guidelines

Aufbau

1. Buttongruppe

Priorisiere die Buttons in der Menubar, wenn es möglich ist. Verwende dazu die unten genannten Varianten.

2. Menu-Button mit Unterfunktionen (Submenu)

Gruppiere ähnliche Funktionen in einem Menu-Button mit Unterfunktionen.

3. Weitere Unterfunktionen

Bei Bedarf können Funktionen weiter gruppiert werden.

4. Overflow-Button

Menubars blenden einen Overflow-Button ein, falls der Raum, um alle Buttons anzuzeigen, zu klein ist. Siehe



Overflow Verhalten.

Menubar Aufbau

Varianten/Typen

Info für Dev:

Für die häufigsten Anwendungsfälle wie z.B. in Funktionszeilen innerhalb von Sektionen einer Objektseite oder in Tabellenseiten stehen vorgefertigte Toolbars zur Verfügung. Siehe auch den Show Cases für Toolbars.

Tertiär-Sekundär

Verwende diese Variante im Inhaltsbereich um die GUI nicht zu überladen. Siehe z.B. die Sektionen von Objektseiten.

Variante Tertiär-Sekundär

Sekundär-Primär

Diese Variante ist exklusiv für die Funktionsleisten am unteren Bildschirmrand im Anwendungsrahmen und Modal Dialogen vorgesehen.

Variante Sekundär-Primär

Tertiär-Primär

Verwende diese Variante im Inhaltsbereich, falls dort die Primäre Aktion liegt wie z.B. in der Suchleiste.

Variante Tertiär-Primär

Deaktivierte Buttons mit Hinweis

SEIT VERSION 3.1.0

Meistens können sich Nutzer selbst erklären, warum eine Funktion bzw. ein Button deaktiviert ist wie z.B. warum man auf dem letzten Schritt eines Wizards nicht weiter klicken kann.

Es gibt jedoch auch Situationen in denen die Nutzer sich nicht erklären können, warum ein Button deaktiviert wurde. Für diese Anwendungsfälle können Hinweise angezeigt werden, damit die Nutzer den Zustand vom System besser nachvollziehen können. So können sie ggf. ihre Aufgaben auf einem anderen Weg weiter bearbeiten.

👍 Do👎 Don't
... wenn fachliche Gründe dafür verantwortlich sind, dass eine Funktion mal aufgeführt werden kann und mal nicht.... wenn Berechtigungen permanent die Funktion dem Nutzer verwehren. Blende die Funktion dann vollständig und permanent aus!

Menubar Deaktivierte Aktion

Deaktivierte Unterfunktionen

Menubar Deaktivierte Unterfunktion

INFO

Info für Dev:
Siehe die better-disabled Varianten im Show Case.

Verhalten

Overflow Verhalten

Sobald nicht mehr alle Buttons angezeigt werden können erscheint eine Overflow Icon Button mit 3 Punkten. Ein Klick darauf ermöglicht den Zugriff auf die Funktionen die sonst nicht mehr verfügbar wären.

Menubar Overflow

Unterelemente

Wenn ein Button in der Menubar Unterlemente enthält, wird bei einem Klick das Submenu getriggert und die Untermenüpunkte angezeigt.

Menubar Submenu

Barrierefreiheit

Tastaturbedienung

Über Tabulatortaste ("Tab") oder Hochstell- und Tabulatortaste ("Shift" + "Tab") lässt sich zwischen den Menüpunkten springen und es wird jeweils die ausgewählte Option fokussiert. Mit den Pfeiltasten nach links oder rechts ist es ebenso möglich den Fokus auf andere Optionen zu setzen. Ist initial keine Option ausgewählt, wird die erste Option fokussiert und kann mit der Leertaste oder Eingabetaste ("Enter") ausgewählt werden. Gibt es in der Menubar eine Option mit Submenu, kann dieses über die Pfeiltasten nach oben oder unten ein- und ausgefahren werden.

Develop Vue

Die Implementierung der Webcomponenten in Vue.js kann in folgendem Showcase innerhalb des AKDB Netzwerks betrachtet werden: https://mate-ds-vue-components-showcase-25.core-platform.kubt.akdb.net/?path=/docs/komponenten-menu-bar--docs

Develop Flow

Der Showcase ist innerhalb des AKDB Netzwerks zu finden unter: https://mate-ds-flow-components-showcase-25.core-platform.kubt.akdb.net/?src=component%252Fmenubar

Code Examples

Install

Maven

xml
<dependency>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-menu-bar-flow</artifactId>
</dependency>

Import

java
import com.vaadin.flow.component.contextmenu.MenuItem;
import com.vaadin.flow.component.contextmenu.SubMenu;
import com.vaadin.flow.component.menubar.MenuBar;
import com.vaadin.flow.component.menubar.MenuBarVariant;

Variants

Secondary (Default)

java
MenuBar menuBar = new MenuBar();
menuBar.addItem("Datei");
menuBar.addItem("Bearbeiten");
menuBar.addItem("Ansicht");

Primary

java
MenuBar menuBar = new MenuBar();
MenuItem item = menuBar.addItem("Aktionen");
item.addThemeNames(MenuBarVariant.LUMO_PRIMARY.getVariantName());

Tertiary

java
MenuBar menuBar = new MenuBar();
MenuItem item = menuBar.addItem("Mehr");
item.addThemeNames(MenuBarVariant.LUMO_TERTIARY.getVariantName());

With Drop-Down

java
MenuBar menuBar = new MenuBar();
MenuItem menu = menuBar.addItem("Exportieren");
menu.addThemeNames(MenuBarVariant.LUMO_DROPDOWN_INDICATORS.getVariantName());

SubMenu subMenu = menu.getSubMenu();
subMenu.addItem("Als PDF");
subMenu.addItem("Als Excel");
subMenu.addItem("Als CSV");

Disabled Item

java
MenuBar menuBar = new MenuBar();
menuBar.addItem("Bearbeiten");
menuBar.addItem("Löschen").setEnabled(false);

Split button

java
MenuBar menuBar = new MenuBar();
menuBar.addThemeNames("split");
menuBar.addItem("Main action");
MenuBar menuBar = new MenuBar();
MenuItem menu = menuBar.addItem("");
SubMenu subMenu = menu.getSubMenu();
subMenu.addItem("Second action");
subMenu.addItem("Third action");
subMenu.addItem("Fourth action");