use of com.vaadin.flow.component.contextmenu.SubMenu in project flow-components by vaadin.
the class ContextMenuView method addContextMenuWithSubMenus.
private void addContextMenuWithSubMenus() {
ContextMenu contextMenu = new ContextMenu();
Component target = createTargetComponent();
contextMenu.setTarget(target);
Label message = new Label("-");
contextMenu.addItem("First menu item", event -> message.setText("Clicked on the first item"));
MenuItem parent = contextMenu.addItem("Parent item");
SubMenu subMenu = parent.getSubMenu();
subMenu.addItem("Second menu item", event -> message.setText("Clicked on the second item"));
subMenu = subMenu.addItem("Parent item").getSubMenu();
subMenu.addItem("Third menu item", event -> message.setText("Clicked on the third item"));
addCard("Hierarchical Menu", target, message);
target.setId("hierarchical-menu-target");
message.setId("hierarchical-menu-message");
}
use of com.vaadin.flow.component.contextmenu.SubMenu in project linkki by linkki-framework.
the class ApplicationMenuItemDefinitionTest method testCreateItem_SubMenu_SubMenu.
@Test
void testCreateItem_SubMenu_SubMenu() {
ApplicationMenuItemDefinition itemDefinition = new ApplicationMenuItemDefinition("name", "id", Arrays.asList(new ApplicationMenuItemDefinition("sub", "sub-id", Handler.NOP_HANDLER)));
MenuBar menuBar = new MenuBar();
SubMenu subMenu = menuBar.addItem("item").getSubMenu();
itemDefinition.createItem(subMenu);
assertThat(subMenu.getItems()).hasSize(1);
assertThat(subMenu.getItems().get(0).getText()).isEqualTo("name");
assertThat(subMenu.getItems().get(0).getSubMenu().getItems()).hasSize(1);
assertThat(subMenu.getItems().get(0).getSubMenu().getItems().get(0).getText()).isEqualTo("sub");
}
use of com.vaadin.flow.component.contextmenu.SubMenu in project ArchCNL by Mari-Wie.
the class MainView method createHeader.
private HorizontalLayout createHeader() {
final HorizontalLayout headerBox = new HorizontalLayout();
final Label title = new Label("ArchCNL");
title.getStyle().set("color", "#76d0f1");
title.getStyle().set("font-size", "x-large");
title.getStyle().set("font-weight", "bold");
final MenuBar menuBar = new MenuBar();
final MenuItem project = menuBar.addItem("Project");
final MenuItem edit = menuBar.addItem("Edit");
final MenuItem rules = menuBar.addItem("Rules");
menuBar.addItem("View", e -> fireEvent(new ViewOptionRequestedEvent(this, true)));
menuBar.addItem("Help", e -> fireEvent(new HelpOptionRequestedEvent(this, true)));
final SubMenu projectSubMenu = project.getSubMenu();
projectSubMenu.addItem("New Project", e -> fireEvent(new ProjectOptionRequestedEvent(this, true, ProjectOption.NEW)));
openProjectMenuItem = projectSubMenu.addItem("Open Project", e -> fireEvent(new ProjectOptionRequestedEvent(this, true, ProjectOption.OPEN)));
saveProjectMenuItem = projectSubMenu.addItem("Save", e -> fireEvent(new ProjectOptionRequestedEvent(this, true, ProjectOption.SAVE)));
saveProjectMenuItem.setEnabled(false);
projectSubMenu.addItem("Save As", e -> fireEvent(new ProjectOptionRequestedEvent(this, true, ProjectOption.SAVE_AS)));
final SubMenu editSubMenu = edit.getSubMenu();
editSubMenu.addItem("Undo", e -> fireEvent(new EditOptionRequestedEvent(this, true, EditOption.UNDO)));
editSubMenu.addItem("Redo", e -> fireEvent(new EditOptionRequestedEvent(this, true, EditOption.REDO)));
final SubMenu rulesSubMenu = rules.getSubMenu();
rulesSubMenu.addItem("Import from File", e -> fireEvent(new RulesOptionRequestedEvent(this, true, RulesOption.IMPORT_FROM_FILE)));
rulesSubMenu.addItem("Import Rule Presets", e -> fireEvent(new RulesOptionRequestedEvent(this, true, RulesOption.IMPORT_RULE_PRESETS)));
headerBox.add(title, menuBar);
headerBox.setDefaultVerticalComponentAlignment(Alignment.CENTER);
headerBox.setWidthFull();
return headerBox;
}
use of com.vaadin.flow.component.contextmenu.SubMenu in project docs by vaadin.
the class MenuBarOpenOnHover method addItems.
private void addItems(MenuBar menuBar) {
menuBar.addItem("View");
menuBar.addItem("Edit");
MenuItem share = menuBar.addItem("Share");
SubMenu shareSubMenu = share.getSubMenu();
MenuItem onSocialMedia = shareSubMenu.addItem("On social media");
SubMenu socialMediaSubMenu = onSocialMedia.getSubMenu();
socialMediaSubMenu.addItem("Facebook");
socialMediaSubMenu.addItem("Twitter");
socialMediaSubMenu.addItem("Instagram");
shareSubMenu.addItem("By email");
shareSubMenu.addItem("Get Link");
MenuItem move = menuBar.addItem("Move");
SubMenu moveSubMenu = move.getSubMenu();
moveSubMenu.addItem("To folder");
moveSubMenu.addItem("To trash");
menuBar.addItem("Duplicate");
}
use of com.vaadin.flow.component.contextmenu.SubMenu in project linkki by linkki-framework.
the class ApplicationMenuItemDefinitionTest method testCreateItem_SubMenu_NoSubMenu.
@Test
void testCreateItem_SubMenu_NoSubMenu() {
ApplicationMenuItemDefinition itemDefinition = new ApplicationMenuItemDefinition("name", "id", Handler.NOP_HANDLER);
MenuBar menuBar = new MenuBar();
SubMenu subMenu = menuBar.addItem("item").getSubMenu();
itemDefinition.createItem(subMenu);
assertThat(subMenu.getItems()).hasSize(1);
assertThat(subMenu.getItems().get(0).getText()).isEqualTo("name");
assertThat(subMenu.getItems().get(0).getId()).hasValue("id");
}
Aggregations