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:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
TabbedPanel.RightSideItemProvider
-
Field Summary
Fields Modifier and Type Field Description protected static String
ID_COUNT
protected static String
ID_LINK
static String
ID_TABS
static String
ID_TABS_CONTAINER
protected static String
ID_TITLE
static String
RIGHT_SIDE_TAB_ID
static String
RIGHT_SIDE_TAB_ITEM_ID
static String
TAB_PANEL_ID
id used for child panels
-
Constructor Summary
Constructors Constructor Description TabbedPanel(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
getLastTabCssClass()
int
getSelectedTab()
protected String
getSelectedTabCssClass()
protected String
getTabContainerCssClass()
org.apache.wicket.model.IModel<List<T>>
getTabs()
protected org.apache.wicket.model.IModel<?>
initModel()
Override of the default initModel behaviour.protected org.apache.wicket.Component
newIcon(String id, org.apache.wicket.model.IModel<String> iconCssClass)
protected org.apache.wicket.markup.html.WebMarkupContainer
newLink(String linkId, int index)
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
newTabsContainer(String id)
Generates the container for all tabs.protected org.apache.wicket.Component
newTitle(String titleId, org.apache.wicket.model.IModel<?> titleModel, int index)
Factory method for tab titles.protected void
onBeforeRender()
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)
TabbedPanel<T>
setSelectedTab(int index)
sets the selected tab-
Methods 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, 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 java.lang.Iterable
forEach, spliterator
-
-
-
-
Field Detail
-
TAB_PANEL_ID
public static final String TAB_PANEL_ID
id used for child panels- See Also:
- Constant Field Values
-
ID_TABS_CONTAINER
public static final String ID_TABS_CONTAINER
- See Also:
- Constant Field Values
-
ID_TABS
public static final String ID_TABS
- See Also:
- Constant Field Values
-
RIGHT_SIDE_TAB_ITEM_ID
public static final String RIGHT_SIDE_TAB_ITEM_ID
- See Also:
- Constant Field Values
-
RIGHT_SIDE_TAB_ID
public static final String RIGHT_SIDE_TAB_ID
- See Also:
- Constant Field Values
-
ID_TITLE
protected static final String ID_TITLE
- See Also:
- Constant Field Values
-
ID_COUNT
protected static final String ID_COUNT
- See Also:
- Constant Field Values
-
ID_LINK
protected static final String ID_LINK
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
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
public TabbedPanel(String id, org.apache.wicket.model.IModel<List<T>> tabs)
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 Detail
-
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
protected org.apache.wicket.markup.html.WebMarkupContainer newTabsContainer(String id)
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
protected String getLastTabCssClass()
- Returns:
- the value of css class attribute that will be added to last tab. The default value is
last
-
getTabContainerCssClass
protected String 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
protected String getSelectedTabCssClass()
- Returns:
- the value of css class attribute that will be added to selected tab. The default
value is
selected
-
getTabs
public final org.apache.wicket.model.IModel<List<T>> getTabs()
- Returns:
- list of tabs that can be used by the user to add/remove/reorder tabs in the panel
-
newIcon
protected org.apache.wicket.Component newIcon(String id, org.apache.wicket.model.IModel<String> iconCssClass)
-
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
protected org.apache.wicket.markup.html.WebMarkupContainer newLink(String linkId, int index)
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
public TabbedPanel<T> setSelectedTab(int index)
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)
-
-