public class SideMenuImpl extends AbstractComponent<JmixSideMenu> implements SideMenu
Modifier and Type | Class and Description |
---|---|
protected static class |
SideMenuImpl.MenuItemImpl |
protected static class |
SideMenuImpl.MenuItemWrapper |
SideMenu.ItemSelectEvent, SideMenu.MenuItem
Component.Alignment, Component.BelongToFrame, Component.Disposable, Component.Editable, Component.Focusable, Component.HasCaption, Component.HasDescription, Component.HasIcon, Component.HasXmlDescriptor, Component.Wrapper
HasContextHelp.ContextHelpIconClickEvent
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<java.lang.String,SideMenu.MenuItem> |
allItemsIds |
protected Component |
sidePanel |
protected Button |
toggleButton |
alignment, applicationContext, component, contextHelpIconClickHandler, contextHelpIconClickListener, descriptionAsHtml, element, frame, htmlSanitizerEnabled, icon, ICON_STYLE, id, parent
AUTO_SIZE, AUTO_SIZE_PX, FULL_SIZE
Constructor and Description |
---|
SideMenuImpl() |
Modifier and Type | Method and Description |
---|---|
io.jmix.core.common.event.Subscription |
addItemSelectListener(java.util.function.Consumer<SideMenu.ItemSelectEvent> listener)
Adds a listener that will be fired when leaf (non-expandable) menu item is clicked.
|
void |
addMenuItem(SideMenu.MenuItem menuItem)
Add menu item to the end of root items list.
|
void |
addMenuItem(SideMenu.MenuItem menuItem,
int index)
Add menu item to specified position in the root items list.
|
protected void |
assignJTestId(SideMenu.MenuItem menuItem) |
protected void |
assignJTestIdInternal(SideMenu.MenuItem menuItem) |
protected void |
checkItemIdDuplicate(java.lang.String id) |
protected void |
checkItemOwner(SideMenu.MenuItem item) |
SideMenu.MenuItem |
createMenuItem(java.lang.String id)
Create new menu item.
|
SideMenu.MenuItem |
createMenuItem(java.lang.String id,
java.lang.String caption)
Create new menu item.
|
SideMenu.MenuItem |
createMenuItem(java.lang.String id,
java.lang.String caption,
java.lang.String icon,
java.util.function.Consumer<SideMenu.MenuItem> command)
Create new menu item.
|
void |
focus()
Sets focus to this component
|
SideMenu.MenuItem |
getMenuItem(java.lang.String id) |
SideMenu.MenuItem |
getMenuItemNN(java.lang.String id) |
java.util.List<SideMenu.MenuItem> |
getMenuItems() |
SideMenu.MenuItem |
getSelectedItem() |
Component |
getSidePanel() |
Button |
getSidePanelToggleButton() |
int |
getTabIndex()
Gets the tabulator index of the
HasTabIndex component. |
protected void |
handleAttach(com.vaadin.server.ClientConnector.AttachEvent attachEvent) |
boolean |
hasMenuItems() |
boolean |
isSelectOnClick() |
boolean |
isShowSingleExpandedMenu() |
void |
loadMenuConfig()
Load menu structure from
MenuConfig |
protected void |
registerMenuItem(SideMenu.MenuItem menuItem) |
void |
removeAllMenuItems()
Remove all the root menu items.
|
void |
removeMenuItem(int index)
Remove menu item from the root items list by index.
|
void |
removeMenuItem(SideMenu.MenuItem menuItem)
Remove menu item from the root items list.
|
void |
setSelectedItem(SideMenu.MenuItem selectedItem)
Set selected item.
|
void |
setSelectOnClick(boolean selectOnClick)
Enable or disable automatic selected styling by click.
|
void |
setShowSingleExpandedMenu(boolean singleExpandedMenu)
Set true for collapsing a submenu when another parent menu item is clicked
|
void |
setSidePanel(Component sidePanel)
Bind side panel for show/hide action.
|
void |
setSidePanelToggleButton(Button toggleButton)
Bind show/hide side panel action to button.
|
void |
setTabIndex(int tabIndex)
Sets the tabulator index of the
Focusable component. |
protected void |
toggleSidePanel() |
protected void |
unregisterItem(SideMenu.MenuItem menuItem) |
addAttachListener, addDetachListener, addStyleName, assignDebugId, attached, detached, getAlignment, getCaption, getComponent, getComposition, getContextHelpIconClickHandler, getContextHelpText, getDebugId, getDescription, getEventHub, getFrame, getHeight, getHeightSizeUnit, getHtmlSanitizer, getIcon, getIconName, getIconResource, getId, getParent, getStyleName, getUiComponentProperties, getUiProperties, getWidth, getWidthSizeUnit, getXmlDescriptor, hasSubscriptions, hasValidationError, isAttached, isCaptionAsHtml, isContextHelpTextHtmlEnabled, isDescriptionAsHtml, isEnabled, isEnabledRecursive, isHtmlSanitizerEnabled, isResponsive, isVisible, isVisibleRecursive, onContextHelpIconClick, publish, removeStyleName, sanitize, setAlignment, setApplicationContext, setCaption, setCaptionAsHtml, setContextHelpIconClickHandler, setContextHelpText, setContextHelpTextHtmlEnabled, setDebugId, setDescription, setDescriptionAsHtml, setEnabled, setFrame, setHeight, setHtmlSanitizerEnabled, setIcon, setIconFromSet, setId, setParent, setResponsive, setStyleName, setValidationError, setVisible, setWidth, setXmlDescriptor, unsubscribe, unwrap, unwrapComposition, unwrapCompositionOrNull, unwrapOrNull, withUnwrapped, withUnwrappedComposition
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFrame, setFrame
isFocusable, setFocusable
addStyleName, getAlignment, getHeight, getHeightSizeUnit, getId, getParent, getStyleName, getWidth, getWidthSizeUnit, isEnabled, isEnabledRecursive, isResponsive, isVisible, isVisibleRecursive, removeStyleName, setAlignment, setEnabled, setHeight, setHeightAuto, setHeightFull, setId, setParent, setResponsive, setSizeAuto, setSizeFull, setStyleName, setVisible, setWidth, setWidthAuto, setWidthFull, unwrap, unwrapComposition, unwrapCompositionOrNull, unwrapOrNull, withUnwrapped, withUnwrappedComposition
protected java.util.Map<java.lang.String,SideMenu.MenuItem> allItemsIds
protected Button toggleButton
protected Component sidePanel
protected void handleAttach(com.vaadin.server.ClientConnector.AttachEvent attachEvent)
public void loadMenuConfig()
SideMenu
MenuConfig
loadMenuConfig
in interface SideMenu
public void setSidePanelToggleButton(@Nullable Button toggleButton)
SideMenu
setSidePanelToggleButton
in interface SideMenu
toggleButton
- button that should trigger show/hide of side panelprotected void toggleSidePanel()
@Nullable public Button getSidePanelToggleButton()
getSidePanelToggleButton
in interface SideMenu
public void setSidePanel(@Nullable Component sidePanel)
SideMenu
setSidePanel
in interface SideMenu
sidePanel
- side panel@Nullable public Component getSidePanel()
getSidePanel
in interface SideMenu
public boolean isSelectOnClick()
isSelectOnClick
in interface SideMenu
public void setSelectOnClick(boolean selectOnClick)
SideMenu
setSelectOnClick
in interface SideMenu
selectOnClick
- enable/disable option@Nullable public SideMenu.MenuItem getSelectedItem()
getSelectedItem
in interface SideMenu
public void setSelectedItem(SideMenu.MenuItem selectedItem)
SideMenu
setSelectedItem
in interface SideMenu
selectedItem
- new selected itemprotected void checkItemIdDuplicate(java.lang.String id)
protected void checkItemOwner(SideMenu.MenuItem item)
public SideMenu.MenuItem createMenuItem(java.lang.String id)
SideMenu
createMenuItem
in interface SideMenu
id
- item idpublic SideMenu.MenuItem createMenuItem(java.lang.String id, java.lang.String caption)
SideMenu
createMenuItem
in interface SideMenu
id
- item idcaption
- item captionpublic SideMenu.MenuItem createMenuItem(java.lang.String id, java.lang.String caption, @Nullable java.lang.String icon, @Nullable java.util.function.Consumer<SideMenu.MenuItem> command)
SideMenu
createMenuItem
in interface SideMenu
id
- item idcaption
- item captionicon
- iconcommand
- commandprotected void assignJTestId(SideMenu.MenuItem menuItem)
protected void assignJTestIdInternal(SideMenu.MenuItem menuItem)
public void addMenuItem(SideMenu.MenuItem menuItem)
SideMenu
addMenuItem
in interface SideMenu
menuItem
- menu itemprotected void registerMenuItem(SideMenu.MenuItem menuItem)
protected void unregisterItem(SideMenu.MenuItem menuItem)
public void addMenuItem(SideMenu.MenuItem menuItem, int index)
SideMenu
addMenuItem
in interface SideMenu
menuItem
- menu itemindex
- target indexpublic void removeMenuItem(SideMenu.MenuItem menuItem)
SideMenu
removeMenuItem
in interface SideMenu
menuItem
- menu itempublic void removeAllMenuItems()
SideMenu
removeAllMenuItems
in interface SideMenu
public void removeMenuItem(int index)
SideMenu
removeMenuItem
in interface SideMenu
index
- indexpublic SideMenu.MenuItem getMenuItem(java.lang.String id)
getMenuItem
in interface SideMenu
id
- item idpublic SideMenu.MenuItem getMenuItemNN(java.lang.String id)
getMenuItemNN
in interface SideMenu
id
- item idpublic java.util.List<SideMenu.MenuItem> getMenuItems()
getMenuItems
in interface SideMenu
public boolean hasMenuItems()
hasMenuItems
in interface SideMenu
public void focus()
Component.Focusable
focus
in interface Component.Focusable
public int getTabIndex()
Component.Focusable
HasTabIndex
component.getTabIndex
in interface Component.Focusable
HasTabIndex
componentpublic void setTabIndex(int tabIndex)
Component.Focusable
Focusable
component.
The tab index property is used to specify the order in which the
fields are focused when the user presses the Tab key. Components with
a defined tab index are focused sequentially first, and then the
components with no tab index.setTabIndex
in interface Component.Focusable
tabIndex
- tab indexpublic void setShowSingleExpandedMenu(boolean singleExpandedMenu)
SideMenu
setShowSingleExpandedMenu
in interface SideMenu
public boolean isShowSingleExpandedMenu()
isShowSingleExpandedMenu
in interface SideMenu
public io.jmix.core.common.event.Subscription addItemSelectListener(java.util.function.Consumer<SideMenu.ItemSelectEvent> listener)
SideMenu
addItemSelectListener
in interface SideMenu
listener
- a listener to addSubscription
object