Type Parameters:
T - The type of panel to be used for this component's tabs. Just use ITab if you have no special needs here.
All Implemented Interfaces:
Serializable, Iterable<Component>, IEventSink, IEventSource, IFeedbackContributor, IConverterLocator, IMetadataContext<Serializable,Component>, IQueueRegion, IHeaderContributor, IRequestableComponent, IHierarchical<Component>, IClusterable

public class AjaxTabbedPanel<T extends ITab> extends TabbedPanel<T>
Ajaxified version of the tabbed panel. Uses AjaxFallbackLink instead of regular wicket links so it can update itself inplace.
Author:
Igor Vaynberg (ivaynberg)
See Also:
  • Constructor Details

  • Method Details

    • newLink

      protected WebMarkupContainer newLink(String linkId, int index)
      Description copied from class: TabbedPanel
      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);
                      }
              };
       }
       
      Overrides:
      newLink in class TabbedPanel<T extends ITab>
      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 TabbedPanel.setSelectedTab(int).
      Returns:
      created link component
    • onAjaxUpdate

      protected void onAjaxUpdate(Optional<AjaxRequestTarget> target)
      A template method that lets users add additional behavior when ajax update occurs. This method is called after the current tab has been set so access to it can be obtained via TabbedPanel.getSelectedTab().

      Note Since an AjaxFallbackLink is used to back the ajax update the target argument can be null when the client browser does not support ajax and the fallback mode is used. See AjaxFallbackLink for details.

      Parameters:
      target - ajax target used to update this component