Class JmixTabSheet
java.lang.Object
com.vaadin.flow.component.Component
io.jmix.flowui.component.tabsheet.JmixTabSheet
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier,com.vaadin.flow.component.DetachNotifier,com.vaadin.flow.component.HasElement,com.vaadin.flow.component.HasSize,com.vaadin.flow.component.HasStyle,com.vaadin.flow.component.HasTheme,com.vaadin.flow.component.shared.HasPrefix,com.vaadin.flow.component.shared.HasSuffix,com.vaadin.flow.component.shared.HasThemeVariant<com.vaadin.flow.component.tabs.TabSheetVariant>,ComponentContainer,HasSubParts,Serializable
@Tag("jmix-tabsheet")
@JsModule("./src/tabsheet/jmix-tabsheet.js")
public class JmixTabSheet
extends com.vaadin.flow.component.Component
implements com.vaadin.flow.component.HasStyle, com.vaadin.flow.component.HasSize, com.vaadin.flow.component.shared.HasThemeVariant<com.vaadin.flow.component.tabs.TabSheetVariant>, com.vaadin.flow.component.shared.HasPrefix, com.vaadin.flow.component.shared.HasSuffix, ComponentContainer, HasSubParts
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn event to mark that the selected tab has changed. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncom.vaadin.flow.component.tabs.Tabadd(com.vaadin.flow.component.Component tabContent, com.vaadin.flow.component.Component content) Adds a tab created from the given tab content and content.com.vaadin.flow.component.tabs.Tabadd(com.vaadin.flow.component.tabs.Tab tab, com.vaadin.flow.component.Component content) Adds a tab with the given content.com.vaadin.flow.component.tabs.Tabadd(com.vaadin.flow.component.tabs.Tab tab, com.vaadin.flow.component.Component content, int position) Adds a tab with the given content to the given position.com.vaadin.flow.component.tabs.TabAdds a tab created from the given text and content.com.vaadin.flow.shared.RegistrationaddSelectedChangeListener(com.vaadin.flow.component.ComponentEventListener<JmixTabSheet.SelectedChangeEvent> listener) Adds a listener forJmixTabSheet.SelectedChangeEvent.Optional<com.vaadin.flow.component.Component>protected StringStream<com.vaadin.flow.component.Component>Gets the child components of tab sheet inElementtree.com.vaadin.flow.component.ComponentgetComponent(com.vaadin.flow.component.tabs.Tab tab) Returns theComponentinstance associated with the given tab.com.vaadin.flow.component.ComponentgetContentByTab(com.vaadin.flow.component.tabs.Tab tab) intgetIndexOf(com.vaadin.flow.component.tabs.Tab tab) Returns the index of the given tab.Collection<com.vaadin.flow.component.Component>intGets the zero-based index of the currently selected tab.com.vaadin.flow.component.tabs.TabGets the currently selected tab.getSubPart(String name) com.vaadin.flow.component.tabs.TabgetTab(com.vaadin.flow.component.Component content) Returns theTabassociated with the given component.com.vaadin.flow.component.tabs.TabgetTabAt(int position) Returns the tab at the given position.protected voidvoidremove(int position) Removes the tab at the given position.voidremove(com.vaadin.flow.component.Component content) Removes a tab based on the contentvoidremove(com.vaadin.flow.component.tabs.Tab tab) Removes a tab.voidsetSelectedIndex(int selectedIndex) Selects a tab based on its zero-based index.voidsetSelectedTab(com.vaadin.flow.component.tabs.Tab selectedTab) Selects the given tab.protected voidMarks the content related to the selected tab as enabled and adds it to the component if it is not already added.Methods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onAttach, onDetach, onEnabledStateChanged, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setVisibleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListenerMethods inherited from interface io.jmix.flowui.component.ComponentContainer
findComponent, getComponent, getComponents, getOwnComponentMethods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListenerMethods inherited from interface com.vaadin.flow.component.HasElement
getElementMethods inherited from interface com.vaadin.flow.component.shared.HasPrefix
getPrefixComponent, setPrefixComponentMethods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFullMethods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassNameMethods inherited from interface com.vaadin.flow.component.shared.HasSuffix
getSuffixComponent, setSuffixComponentMethods inherited from interface com.vaadin.flow.component.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeNameMethods inherited from interface com.vaadin.flow.component.shared.HasThemeVariant
addThemeVariants, removeThemeVariants
-
Field Details
-
GENERATED_TAB_ID_PREFIX
- See Also:
-
tabs
protected com.vaadin.flow.component.tabs.Tabs tabs -
tabToContent
-
-
Constructor Details
-
JmixTabSheet
public JmixTabSheet()
-
-
Method Details
-
initComponent
protected void initComponent() -
add
public com.vaadin.flow.component.tabs.Tab add(String tabText, com.vaadin.flow.component.Component content) Adds a tab created from the given text and content.- Parameters:
tabText- the text of the tabcontent- the content related to the tab- Returns:
- the created tab
-
add
public com.vaadin.flow.component.tabs.Tab add(com.vaadin.flow.component.Component tabContent, com.vaadin.flow.component.Component content) Adds a tab created from the given tab content and content.- Parameters:
tabContent- the content of the tabcontent- the content related to the tab- Returns:
- the created tab
-
add
public com.vaadin.flow.component.tabs.Tab add(com.vaadin.flow.component.tabs.Tab tab, com.vaadin.flow.component.Component content) Adds a tab with the given content.- Parameters:
tab- the tabcontent- the content related to the tab- Returns:
- the added tab
-
add
public com.vaadin.flow.component.tabs.Tab add(com.vaadin.flow.component.tabs.Tab tab, com.vaadin.flow.component.Component content, int position) Adds a tab with the given content to the given position.- Parameters:
tab- the tabcontent- the content related to the tabposition- the position where the tab should be added. If negative, the tab is added at the end.- Returns:
- the added tab
-
remove
public void remove(com.vaadin.flow.component.tabs.Tab tab) Removes a tab.- Parameters:
tab- the non-null tab to be removed
-
remove
public void remove(com.vaadin.flow.component.Component content) Removes a tab based on the content- Parameters:
content- the non-null content related to the tab to be removed
-
remove
public void remove(int position) Removes the tab at the given position.- Parameters:
position- the position of the tab to be removed
-
getContentByTab
public com.vaadin.flow.component.Component getContentByTab(com.vaadin.flow.component.tabs.Tab tab) -
findOwnComponent
- Specified by:
findOwnComponentin interfaceComponentContainer
-
getOwnComponents
- Specified by:
getOwnComponentsin interfaceComponentContainer
-
getChildren
Gets the child components of tab sheet inElementtree.- Overrides:
getChildrenin classcom.vaadin.flow.component.Component- Returns:
- the stream of tab sheet tab
-
getSelectedIndex
public int getSelectedIndex()Gets the zero-based index of the currently selected tab.- Returns:
- the zero-based index of the selected tab, or -1 if none of the tabs is selected
-
setSelectedIndex
public void setSelectedIndex(int selectedIndex) Selects a tab based on its zero-based index.- Parameters:
selectedIndex- the zero-based index of the selected tab, -1 to unselect all
-
getSelectedTab
public com.vaadin.flow.component.tabs.Tab getSelectedTab()Gets the currently selected tab.- Returns:
- the selected tab, or
nullif none is selected
-
setSelectedTab
public void setSelectedTab(com.vaadin.flow.component.tabs.Tab selectedTab) Selects the given tab.- Parameters:
selectedTab- the tab to select,nullto unselect all- Throws:
IllegalArgumentException- ifselectedTabis not a child of this component
-
getTabAt
public com.vaadin.flow.component.tabs.Tab getTabAt(int position) Returns the tab at the given position.- Parameters:
position- the position of the tab, must be greater than or equals to 0 and less than the number of tabs- Returns:
- The tab at the given index
- Throws:
IllegalArgumentException- if the index is less than 0 or greater than or equals to the number of tabs
-
getIndexOf
public int getIndexOf(com.vaadin.flow.component.tabs.Tab tab) Returns the index of the given tab.- Parameters:
tab- the tab to look up, can not benull- Returns:
- the index of the tab or -1 if the tab is not added
-
getTab
@Nullable public com.vaadin.flow.component.tabs.Tab getTab(com.vaadin.flow.component.Component content) Returns theTabassociated with the given component.- Parameters:
content- the component to look up, can not benull- Returns:
- The tab instance associated with the given component, or
nullif theTabSheetdoes not contain the component.
-
getComponent
@Nullable public com.vaadin.flow.component.Component getComponent(com.vaadin.flow.component.tabs.Tab tab) Returns theComponentinstance associated with the given tab.- Parameters:
tab- the tab to look up, can not benull- Returns:
- The component instance associated with the given tab, or
nullif theTabSheetdoes not contain the tab.
-
addSelectedChangeListener
public com.vaadin.flow.shared.Registration addSelectedChangeListener(com.vaadin.flow.component.ComponentEventListener<JmixTabSheet.SelectedChangeEvent> listener) Adds a listener forJmixTabSheet.SelectedChangeEvent.- Parameters:
listener- the listener to add, notnull- Returns:
- a handle that can be used for removing the listener
-
updateContent
protected void updateContent()Marks the content related to the selected tab as enabled and adds it to the component if it is not already added. All the other content panels are disabled so they can't be interacted with. -
generateTabId
-
getSubPart
- Specified by:
getSubPartin interfaceHasSubParts
-