Package io.jmix.flowui.menu
Class ListMenuBuilder
java.lang.Object
io.jmix.flowui.menu.ListMenuBuilder
@Component("flowui_ListMenuBuilder")
@Scope("prototype")
public class ListMenuBuilder
extends Object
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA command executor responsible for handling user interactions withListMenu.MenuIteminstances. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Stringprotected MenuConfigprotected MenuItemCommandsprotected MessageToolsprotected UiAccessCheckerprotected UiComponentsprotected ViewRegistry -
Constructor Summary
ConstructorsConstructorDescriptionListMenuBuilder(MenuConfig menuConfig, ViewRegistry viewRegistry, UiComponents uiComponents, MessageTools messageTools, UiAccessChecker uiAccessChecker, MenuItemCommands menuItemCommands) -
Method Summary
Modifier and TypeMethodDescriptionbuild()Builds and returns a newJmixListMenuinstance by initializing it with the necessary configuration.voidbuild(JmixListMenu listMenu) Builds the structure for the providedJmixListMenuby adding menu items based on the root items defined in the menu configuration.protected ListMenu.MenuItemcreateBeanMenuItem(MenuItem menuItem) createListMenu(MenuItem menuItem) Creates aListMenu.MenuItemobject from the givenMenuItem, which can represent a menu hierarchy, separator, or an individual menu item.protected ListMenu.MenuBarItemcreateMenuBar(MenuItem menuItem) protected ListMenu.MenuItemcreateMenuItem(MenuItem menuItem) protected ListMenu.MenuItemprotected ListMenu.MenuItemcreateViewMenuItem(MenuItem menuItem) protected Stringprotected String[]getClassNames(MenuItem menuItem) getControllerClass(MenuItem menuItem) protected StringgetDescription(MenuItem menuItem) protected com.vaadin.flow.component.icon.VaadinIcongetVaadinIcon(String iconString) protected booleanisPermitted(MenuItem menuItem) protected voidremoveTrailingChildSeparators(ListMenu.MenuBarItem menuBarItem) Removes trailing child separators.protected voidsetIcon(MenuItem menuItem, ListMenu.MenuItem listMenuItem)
-
Field Details
-
GENERATED_SEPARATOR_ID_PREFIX
- See Also:
-
viewRegistry
-
uiComponents
-
messageTools
-
uiAccessChecker
-
-
Constructor Details
-
Method Details
-
build
Builds and returns a newJmixListMenuinstance by initializing it with the necessary configuration.- Returns:
- a newly created
JmixListMenuinstance
-
build
Builds the structure for the providedJmixListMenuby adding menu items based on the root items defined in the menu configuration.- Parameters:
listMenu- theJmixListMenuinstance to build and populate with menu items
-
getVaadinIcon
-
removeTrailingChildSeparators
Removes trailing child separators.- Parameters:
menuBarItem- parent menu item to trim
-
createMenuSeparator
-
generateSeparatorId
-