use of com.vaadin.flow.component.contextmenu.MenuItem in project linkki by linkki-framework.
the class ThemeVariantToggleMenuItemDefinitionTest method testToggleTheme.
@Test
void testToggleTheme() {
MenuItem item = new ApplicationMenu().addItem("").getSubMenu().addItem("item");
item.setCheckable(true);
assertThat(UI.getCurrent().getElement().getThemeList()).doesNotContain("variant");
assertThat(item.isChecked()).isFalse();
ThemeVariantToggleMenuItemDefinition itemDefinition = new ThemeVariantToggleMenuItemDefinition("whatever", "whatever", "variant");
itemDefinition.toggleTheme(item);
assertThat(item.isChecked()).isTrue();
assertThat(UI.getCurrent().getElement().getThemeList()).contains("variant");
itemDefinition.toggleTheme(item);
assertThat(item.isChecked()).isFalse();
assertThat(UI.getCurrent().getElement().getThemeList()).doesNotContain("variant");
}
use of com.vaadin.flow.component.contextmenu.MenuItem in project linkki by linkki-framework.
the class ProductsSampleDetailsComponent method createMenuBar.
private static MenuBar createMenuBar(String caption, String... submenus) {
MenuBar menuBar = new MenuBar();
MenuItem item = menuBar.addItem(caption);
for (String subMenuCaption : submenus) {
item.getSubMenu().addItem(subMenuCaption);
}
return menuBar;
}
use of com.vaadin.flow.component.contextmenu.MenuItem 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.MenuItem 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.MenuItem in project linkki by linkki-framework.
the class ApplicationMenuItemDefinition method createItem.
private MenuItem createItem(Function<String, MenuItem> createItemWithCaption) {
MenuItem item = createItemWithCaption.apply(name);
item.setId(id);
item.addClickListener(event -> command.apply());
for (ApplicationMenuItemDefinition subMenuItemDefinition : subMenuItemDefinitions) {
subMenuItemDefinition.createItem(item.getSubMenu());
}
return item;
}
Aggregations