# Install

## Maven

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

# Import

```java
import com.vaadin.flow.component.contextmenu.ContextMenu;
import com.vaadin.flow.component.contextmenu.MenuItem;
import com.vaadin.flow.component.contextmenu.SubMenu;
import com.vaadin.flow.component.html.Paragraph;
```

# Variants

## Default

Attach a context menu to any component. Right-clicking the target opens the menu.

```java
Paragraph target = new Paragraph("Rechtsklick zum Öffnen des Kontextmenüs");

ContextMenu menu = new ContextMenu();
menu.setTarget(target);
menu.addItem("Bearbeiten");
menu.addItem("Kopieren");
menu.addItem("Löschen");
```

## With Sub Menu

```java
ContextMenu menu = new ContextMenu();
menu.setTarget(target);
menu.addItem("Erstellen");

SubMenu exportMenu = menu.addItem("Exportieren").getSubMenu();
exportMenu.addItem("Als PDF");
exportMenu.addItem("Als Excel");

menu.addItem("Löschen");
```

## With Disabled Item

```java
ContextMenu menu = new ContextMenu();
menu.setTarget(target);
menu.addItem("Bearbeiten");
menu.addItem("Löschen").setEnabled(false);
```

## With Separator

```java
import com.vaadin.flow.component.html.Hr;

ContextMenu menu = new ContextMenu();
menu.setTarget(target);
menu.addItem("Bearbeiten");
menu.addItem(new Hr());
menu.addItem("Löschen");
```
