Class TabbedPanel<T extends org.apache.wicket.extensions.markup.html.tabs.ITab>
java.lang.Object
org.apache.wicket.Component
org.apache.wicket.MarkupContainer
org.apache.wicket.markup.html.WebMarkupContainer
org.apache.wicket.markup.html.panel.Panel
com.evolveum.midpoint.web.component.TabbedPanel<T>
- All Implemented Interfaces:
- Serializable,- Iterable<org.apache.wicket.Component>,- org.apache.wicket.event.IEventSink,- org.apache.wicket.event.IEventSource,- org.apache.wicket.feedback.IFeedbackContributor,- org.apache.wicket.IConverterLocator,- org.apache.wicket.IMetadataContext<Serializable,,- org.apache.wicket.Component> - org.apache.wicket.IQueueRegion,- org.apache.wicket.markup.html.IHeaderContributor,- org.apache.wicket.request.component.IRequestableComponent,- org.apache.wicket.util.IHierarchical<org.apache.wicket.Component>,- org.apache.wicket.util.io.IClusterable
- Direct Known Subclasses:
- AjaxTabbedPanel,- RoleAnalysisTabbedPanel,- TabbedAssignmentTypePanel
public class TabbedPanel<T extends org.apache.wicket.extensions.markup.html.tabs.ITab>
extends org.apache.wicket.markup.html.panel.Panel
- Author:
- lazyman, Igor Vaynberg (ivaynberg)
- See Also:
- 
Nested Class SummaryNested Classes
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected static final Stringprotected static final Stringstatic final Stringstatic final Stringprotected static final Stringstatic final Stringstatic final Stringstatic final Stringid used for child panelsFields inherited from class org.apache.wicket.markup.html.panel.PanelPANELFields inherited from class org.apache.wicket.ComponentENABLE, FLAG_INITIALIZED, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER, RFLAG_CONTAINER_DEQUEING, RFLAG_CONTAINER_HAS_REMOVALS
- 
Constructor SummaryConstructorsConstructorDescriptionTabbedPanel(String id, List<T> tabs) TabbedPanel(String id, List<T> tabs, @Nullable TabbedPanel.RightSideItemProvider rightSideItemProvider) TabbedPanel(String id, List<T> tabs, org.apache.wicket.model.IModel<Integer> model, @Nullable TabbedPanel.RightSideItemProvider rightSideItemProvider) TabbedPanel(String id, org.apache.wicket.model.IModel<List<T>> tabs) ConstructorTabbedPanel(String id, org.apache.wicket.model.IModel<List<T>> tabs, org.apache.wicket.model.IModel<Integer> model, TabbedPanel.RightSideItemProvider rightSideItemProvider) Constructor
- 
Method SummaryModifier and TypeMethodDescriptionprotected Stringfinal intprotected Stringprotected StringgetTabs()protected org.apache.wicket.model.IModel<?>Override of the default initModel behaviour.protected org.apache.wicket.Componentprotected org.apache.wicket.markup.html.WebMarkupContainerFactory method for links used to switch between tabs.protected org.apache.wicket.markup.html.list.LoopItemnewTabContainer(int tabIndex) Generates a loop item used to represent a specific tab'slielement.protected org.apache.wicket.markup.html.WebMarkupContainerGenerates the container for all tabs.protected org.apache.wicket.ComponentFactory method for tab titles.protected voidprotected voidonDetach()protected voidonTabChange(int index) Method called after tab was changed - user clicked on link in tab header.protected voidpopulateLoopItem(org.apache.wicket.markup.html.list.LoopItem item) voidreloadCountLabels(org.apache.wicket.ajax.AjaxRequestTarget target) setSelectedTab(int index) sets the selected tabMethods inherited from class org.apache.wicket.markup.html.panel.PanelgetRegionMarkup, newMarkupSourcingStrategyMethods inherited from class org.apache.wicket.markup.html.WebMarkupContainergetWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSessionMethods inherited from class org.apache.wicket.MarkupContaineradd, addDequeuedComponent, addOrReplace, autoAdd, canDequeueTag, contains, dequeue, dequeue, dequeuePreamble, findChildComponent, findComponentToDequeue, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, internalAdd, internalInitialize, iterator, iterator, newDequeueContext, onComponentTagBody, onInitialize, onRender, queue, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, stream, streamChildren, toString, toString, visitChildren, visitChildrenMethods inherited from class org.apache.wicket.Componentadd, addStateChange, beforeRender, canCallListener, canCallListenerAfterExpiry, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, createConverter, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMarkupTag, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, internalOnModelChanged, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onComponentTag, onConfigure, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderPart, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlForListener, urlForListener, visitParents, visitParents, warn, wrapMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.wicket.IQueueRegiondequeue, newDequeueContextMethods inherited from interface java.lang.IterableforEach, spliterator
- 
Field Details- 
TAB_PANEL_IDid used for child panels- See Also:
 
- 
ID_TABS_CONTAINER- See Also:
 
- 
ID_TABS- See Also:
 
- 
RIGHT_SIDE_TAB_ITEM_ID- See Also:
 
- 
RIGHT_SIDE_TAB_ID- See Also:
 
- 
ID_TITLE- See Also:
 
- 
ID_COUNT- See Also:
 
- 
ID_LINK- See Also:
 
 
- 
- 
Constructor Details- 
TabbedPanel
- 
TabbedPanelpublic TabbedPanel(String id, List<T> tabs, @Nullable @Nullable TabbedPanel.RightSideItemProvider rightSideItemProvider) 
- 
TabbedPanelpublic TabbedPanel(String id, List<T> tabs, org.apache.wicket.model.IModel<Integer> model, @Nullable @Nullable TabbedPanel.RightSideItemProvider rightSideItemProvider) 
- 
TabbedPanelConstructor- Parameters:
- id- component id
- tabs- list of ITab objects used to represent tabs
 
- 
TabbedPanelpublic TabbedPanel(String id, org.apache.wicket.model.IModel<List<T>> tabs, org.apache.wicket.model.IModel<Integer> model, TabbedPanel.RightSideItemProvider rightSideItemProvider) Constructor- Parameters:
- id- component id
- tabs- list of ITab objects used to represent tabs
- model- model holding the index of the selected tab
 
 
- 
- 
Method Details- 
populateLoopItemprotected void populateLoopItem(org.apache.wicket.markup.html.list.LoopItem item) 
- 
initModelprotected org.apache.wicket.model.IModel<?> initModel()Override of the default initModel behaviour. This component will not use any compound model of a parent.- Overrides:
- initModelin class- org.apache.wicket.Component
- See Also:
- 
- Component.initModel()
 
 
- 
newTabsContainerGenerates the container for all tabs. The default container automatically adds the cssclassattribute based on the return value ofgetTabContainerCssClass()- Parameters:
- id- container id
- Returns:
- container
 
- 
newTabContainerprotected org.apache.wicket.markup.html.list.LoopItem newTabContainer(int tabIndex) Generates a loop item used to represent a specific tab'slielement.- Parameters:
- tabIndex-
- Returns:
- new loop item
 
- 
onBeforeRenderprotected void onBeforeRender()- Overrides:
- onBeforeRenderin class- org.apache.wicket.Component
 
- 
getLastTabCssClass- Returns:
- the value of css class attribute that will be added to last tab. The default value is
 last
 
- 
getTabContainerCssClass- Returns:
- the value of css class attribute that will be added to a div containing the tabs. The
 default value is tab-row
 
- 
getSelectedTabCssClass- Returns:
- the value of css class attribute that will be added to selected tab. The default
 value is selected
 
- 
getTabs- Returns:
- list of tabs that can be used by the user to add/remove/reorder tabs in the panel
 
- 
newIcon
- 
newTitleprotected org.apache.wicket.Component newTitle(String titleId, org.apache.wicket.model.IModel<?> titleModel, int index) Factory method for tab titles. Returned component can be anything that can attach to span tags such as a fragment, panel, or a label- Parameters:
- titleId- id of tiatle component
- titleModel- model containing tab title
- index- index of tab
- Returns:
- title component
 
- 
newLinkFactory method for links used to switch between tabs. The created component is attached to the following markup. Label component with id: title will be added for you by the tabbed panel.<a href="#" wicket:id="link"><span wicket:id="title">[[tab title]]</span></a> Example implementation:protected WebMarkupContainer newLink(String linkId, final int index) { return new Link(linkId) { private static final long serialVersionUID = 1L; public void onClick() { setSelectedTab(index); } }; }- Parameters:
- linkId- component id with which the link should be created
- index- index of the tab that should be activated when this link is clicked. See- setSelectedTab(int).
- Returns:
- created link component
 
- 
setSelectedTabsets the selected tab- Parameters:
- index- index of the tab to select
- Returns:
- this for chaining
- Throws:
- IndexOutOfBoundsException- if index is not in the range of available tabs
 
- 
getSelectedTabpublic final int getSelectedTab()- Returns:
- index of the selected tab
 
- 
onDetachprotected void onDetach()- Overrides:
- onDetachin class- org.apache.wicket.MarkupContainer
 
- 
onTabChangeprotected void onTabChange(int index) Method called after tab was changed - user clicked on link in tab header.- Parameters:
- index- Index of new tab.
 
- 
reloadCountLabelspublic void reloadCountLabels(org.apache.wicket.ajax.AjaxRequestTarget target) 
 
-