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
,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 Summary
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final String
protected static final String
static final String
static final String
protected static final String
static final String
static final String
static final String
id used for child panelsFields inherited from class org.apache.wicket.markup.html.panel.Panel
PANEL
Fields inherited from class org.apache.wicket.Component
ENABLE, 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 Summary
ConstructorDescriptionTabbedPanel
(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 Summary
Modifier and TypeMethodDescriptionprotected String
final int
protected String
protected String
getTabs()
protected org.apache.wicket.model.IModel<?>
Override of the default initModel behaviour.protected org.apache.wicket.Component
protected org.apache.wicket.markup.html.WebMarkupContainer
Factory method for links used to switch between tabs.protected org.apache.wicket.markup.html.list.LoopItem
newTabContainer
(int tabIndex) Generates a loop item used to represent a specific tab'sli
element.protected org.apache.wicket.markup.html.WebMarkupContainer
Generates the container for all tabs.protected org.apache.wicket.Component
Factory method for tab titles.protected void
protected void
onDetach()
protected void
onTabChange
(int index) Method called after tab was changed - user clicked on link in tab header.protected void
populateLoopItem
(org.apache.wicket.markup.html.list.LoopItem item) void
reloadCountLabels
(org.apache.wicket.ajax.AjaxRequestTarget target) setSelectedTab
(int index) sets the selected tabMethods inherited from class org.apache.wicket.markup.html.panel.Panel
getRegionMarkup, newMarkupSourcingStrategy
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSession
Methods inherited from class org.apache.wicket.MarkupContainer
add, 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, visitChildren
Methods inherited from class org.apache.wicket.Component
add, 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, wrap
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.wicket.IQueueRegion
dequeue, newDequeueContext
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
TAB_PANEL_ID
id 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
-
TabbedPanel
public TabbedPanel(String id, List<T> tabs, @Nullable @Nullable TabbedPanel.RightSideItemProvider rightSideItemProvider) -
TabbedPanel
public TabbedPanel(String id, List<T> tabs, org.apache.wicket.model.IModel<Integer> model, @Nullable @Nullable TabbedPanel.RightSideItemProvider rightSideItemProvider) -
TabbedPanel
Constructor- Parameters:
id
- component idtabs
- list of ITab objects used to represent tabs
-
TabbedPanel
public 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 idtabs
- list of ITab objects used to represent tabsmodel
- model holding the index of the selected tab
-
-
Method Details
-
populateLoopItem
protected void populateLoopItem(org.apache.wicket.markup.html.list.LoopItem item) -
initModel
protected org.apache.wicket.model.IModel<?> initModel()Override of the default initModel behaviour. This component will not use any compound model of a parent.- Overrides:
initModel
in classorg.apache.wicket.Component
- See Also:
-
Component.initModel()
-
newTabsContainer
Generates the container for all tabs. The default container automatically adds the cssclass
attribute based on the return value ofgetTabContainerCssClass()
- Parameters:
id
- container id- Returns:
- container
-
newTabContainer
protected org.apache.wicket.markup.html.list.LoopItem newTabContainer(int tabIndex) Generates a loop item used to represent a specific tab'sli
element.- Parameters:
tabIndex
-- Returns:
- new loop item
-
onBeforeRender
protected void onBeforeRender()- Overrides:
onBeforeRender
in classorg.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
-
newTitle
protected 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 componenttitleModel
- model containing tab titleindex
- index of tab- Returns:
- title component
-
newLink
Factory 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 createdindex
- index of the tab that should be activated when this link is clicked. SeesetSelectedTab(int)
.- Returns:
- created link component
-
setSelectedTab
sets 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
-
getSelectedTab
public final int getSelectedTab()- Returns:
- index of the selected tab
-
onDetach
protected void onDetach()- Overrides:
onDetach
in classorg.apache.wicket.MarkupContainer
-
onTabChange
protected void onTabChange(int index) Method called after tab was changed - user clicked on link in tab header.- Parameters:
index
- Index of new tab.
-
reloadCountLabels
public void reloadCountLabels(org.apache.wicket.ajax.AjaxRequestTarget target)
-