use of com.vaadin.flow.component.contextmenu.ContextMenu in project flow-components by vaadin.
the class ContextMenuView method addContextMenuWithComponents.
private void addContextMenuWithComponents() {
Component target = createTargetComponent();
ContextMenu contextMenu = new ContextMenu(target);
Label message = new Label("-");
// Components can be used also inside menu items
contextMenu.addItem(new H5("First menu item"), e -> message.setText("Clicked on the first item"));
Checkbox checkbox = new Checkbox("Checkbox");
contextMenu.addItem(checkbox, e -> message.setText("Clicked on checkbox with value: " + checkbox.getValue()));
// Components can also be added to the overlay
// without creating menu items with add()
Component separator = new Hr();
contextMenu.add(separator, new Label("This is not a menu item"));
addCard("ContextMenu With Components", target, message);
target.setId("context-menu-with-components-target");
contextMenu.setId("context-menu-with-components");
message.setId("context-menu-with-components-message");
}
use of com.vaadin.flow.component.contextmenu.ContextMenu in project flow-components by vaadin.
the class ContextMenuView method addContextMenuWithComponentsInSubMenu.
private void addContextMenuWithComponentsInSubMenu() {
Component target = createTargetComponent();
ContextMenu contextMenu = new ContextMenu(target);
Label message = new Label("-");
contextMenu.addItem(new H5("First menu item"), event -> message.setText("Clicked on the first item"));
MenuItem subMenuItem = contextMenu.addItem("SubMenu Item");
SubMenu subMenu = subMenuItem.getSubMenu();
Checkbox checkbox = new Checkbox("Checkbox");
subMenu.addItem(checkbox, event -> message.setText("Clicked on checkbox with value: " + checkbox.getValue()));
subMenu.addItem("TextItem", event -> message.setText("Clicked on text item"));
// Components can also be added to the submenu overlay
// without creating menu items with add()
subMenu.addComponentAtIndex(1, new Hr());
subMenu.add(new Label("This is not a menu item"));
addCard("ContextMenu With Components in Sub Menu", target, message);
target.setId("context-menu-with-submenu-components-target");
contextMenu.setId("context-menu-with-submenu-components");
message.setId("context-menu-with-submenu-components-message");
}
use of com.vaadin.flow.component.contextmenu.ContextMenu in project flow-components by vaadin.
the class ContextMenuView method addCheckableMenuItems.
private void addCheckableMenuItems() {
ContextMenu contextMenu = new ContextMenu();
Component target = createTargetComponent();
contextMenu.setTarget(target);
Label message = new Label("-");
MenuItem item1 = contextMenu.addItem("Option 1", event -> {
if (event.getSource().isChecked()) {
message.setText("Selected option 1");
} else {
message.setText("Unselected option 1");
}
});
item1.setCheckable(true);
MenuItem item2 = contextMenu.addItem("Option 2", event -> {
if (event.getSource().isChecked()) {
message.setText("Selected option 2");
} else {
message.setText("Unselected option 2");
}
});
item2.setCheckable(true);
item2.setChecked(true);
addCard("Checkable Menu Items", target, message);
target.setId("checkable-menu-items-target");
message.setId("checkable-menu-items-message");
}
use of com.vaadin.flow.component.contextmenu.ContextMenu in project flow-components by vaadin.
the class OverrideOnBeforeOpenContextMenuPage method addContextMenuThatDynamicallyChangesItems.
private void addContextMenuThatDynamicallyChangesItems() {
Label target = new Label("Context menu that changes items dynamically");
target.setId("dynamic-context-menu-target");
ContextMenu contextMenu = new ContextMenu(target) {
@Override
protected boolean onBeforeOpenMenu(JsonObject eventDetail) {
removeAll();
addItem("Dynamic Item");
return super.onBeforeOpenMenu(eventDetail);
}
};
contextMenu.addItem("Item 1");
contextMenu.addItem("Item 2");
add(target);
}
use of com.vaadin.flow.component.contextmenu.ContextMenu in project flow-components by vaadin.
the class OverrideOnBeforeOpenContextMenuPage method addContextMenuThatDoesNotOpen.
private void addContextMenuThatDoesNotOpen() {
Label target = new Label("Context menu that should not open");
target.setId("no-open-menu-target");
ContextMenu contextMenu = new ContextMenu(target) {
@Override
protected boolean onBeforeOpenMenu(JsonObject eventDetail) {
// ensure context menu will not open
return false;
}
};
contextMenu.addItem("Item 1");
contextMenu.addItem("Item 2");
add(target);
}
Aggregations