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.inductiveautomation.ignition.gateway.web.components.SideTabbedPanel
All Implemented Interfaces:
Serializable, Iterable<org.apache.wicket.Component>, org.apache.wicket.event.IEventSink, org.apache.wicket.event.IEventSource, org.apache.wicket.IConverterLocator, 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

public class SideTabbedPanel extends org.apache.wicket.markup.html.panel.Panel
This is a drop-in replacement for TabbedPanel, that puts the tabs along the sied.

SideTabbedPanel component represets a panel with tabs that are used to switch between different content panels inside the SideTabbedPanel panel.

Note: When the currently selected tab is replaced by changing the underlying list of tabs, the change is not picked up unless a call is made to setSelectedTab(int).

Example:


 List tabs=new ArrayList();

 tabs.add(new AbstractTab(new Model("first tab")) {

   public Panel getPanel(String panelId)
   {
     return new TabPanel1(panelId);
   }

 });

 tabs.add(new AbstractTab(new Model("second tab")) {

   public Panel getPanel(String panelId)
   {
     return new TabPanel2(panelId);
   }

 });

 add(new SideTabbedPanel("tabs", tabs));


 <span wicket:id="tabs" class="tabpanel">[tabbed panel will be here]</span>


 

For a complete example see the component references in wicket-examples project

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    id used for child panels

    Fields inherited from class org.apache.wicket.markup.html.panel.Panel

    PANEL

    Fields inherited from class org.apache.wicket.Component

    ENABLE, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor
  • Method Summary

    Modifier and Type
    Method
    Description
    final int
     
    protected String
     
    final List
     
    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's li element.
    protected org.apache.wicket.Component
    newTitle(String titleId, org.apache.wicket.model.IModel titleModel, int index)
    Factory method for tab titles.
    protected void
     
    void
    setSelectedTab(int index)
    sets the selected tab

    Methods inherited from class org.apache.wicket.markup.html.panel.Panel

    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, addOrReplace, autoAdd, contains, get, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, internalAdd, internalInitialize, iterator, iterator, onAfterRenderChildren, onComponentTagBody, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, swap, toString, toString, visitChildren, visitChildren, visitChildren, visitChildren

    Methods inherited from class org.apache.wicket.Component

    add, addStateChange, afterRender, beforeRender, canCallListenerInterface, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, 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, 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, initModel, internalOnModelChanged, internalPrepareForRender, internalRenderComponent, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onComponentTag, onConfigure, onDetach, onEvent, onInitialize, onModelChanged, onModelChanging, onReAdd, onRemove, prepareForRender, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderHead, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setRequestFlag, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlFor, urlFor, 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 Details

  • Constructor Details

    • SideTabbedPanel

      public SideTabbedPanel(String id, List tabs)
      Constructor
      Parameters:
      id - component id
      tabs - list of ITab objects used to represent tabs
  • Method Details

    • newTabContainer

      protected org.apache.wicket.markup.html.list.LoopItem newTabContainer(int tabIndex)
      Generates a loop item used to represent a specific tab's li element.
      Returns:
      new loop item
    • onBeforeRender

      protected void onBeforeRender()
      Overrides:
      onBeforeRender in class org.apache.wicket.Component
    • 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
    • getTabs

      public final List getTabs()
      Returns:
      list of tabs that can be used by the user to add/remove/reorder tabs in the panel
    • 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 title component
      titleModel - model containing tab title
      index - 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 created
      index - index of the tab that should be activated when this link is clicked. See setSelectedTab(int).
      Returns:
      created link component
    • getSelectedTab

      public final int getSelectedTab()
      Returns:
      index of the selected tab
    • setSelectedTab

      public void setSelectedTab(int index)
      sets the selected tab
      Parameters:
      index - index of the tab to select