org.wicketstuff.jquery.accordion
Class JQAccordion

java.lang.Object
  extended by org.apache.wicket.Component
      extended by org.apache.wicket.MarkupContainer
          extended by org.apache.wicket.markup.html.WebMarkupContainer
              extended by org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup
                  extended by org.apache.wicket.markup.html.panel.Panel
                      extended by org.wicketstuff.jquery.accordion.JQAccordion
All Implemented Interfaces:
Serializable, org.apache.wicket.IClusterable, org.apache.wicket.IConverterLocator, org.apache.wicket.markup.html.IHeaderPartContainerProvider

public abstract class JQAccordion
extends org.apache.wicket.markup.html.panel.Panel

JQuery based implementation of client side accordion.

This component uses JQuery and the accordion plugin to create client side accordion. Being client side, all content is rendered and sent to the client at first time.

This component is abstract and must be subclassed similarly to RefreshingView. Each accordion item to be populated must have two sub components: a 'title', and a 'content'. You can use Label for these, or for complex content use a Panel or a WebMarkupContainer.

Example:

 new JQAccordion("accordion1") {
    private static final long serialVersionUID = 1L;
                        
    protected Iterator getItemModels() {
      return new ArrayIteratorAdapter(new Object[] {"A", "B", "C"}) {
                                        
        protected IModel model(Object obj) {
          return new Model((Serializable) obj);
        }
      };
    }
                        
    protected void populateItem(Item item) {
      item.add(new Label("title", item.getModel()));
      item.add(new Label("content", item.getModelObjectAsString()+" content"));
    }
 }
 
JQuery: http://jquery.com/
Accordion: http://bassistance.de/jquery-plugins/jquery-plugin-accordion/

Author:
Xavier Hanin
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.wicket.Component
org.apache.wicket.Component.ComponentModelChange, org.apache.wicket.Component.EnabledChange, org.apache.wicket.Component.IVisitor<T extends org.apache.wicket.Component>, org.apache.wicket.Component.VisibilityChange
 
Field Summary
 
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_CONFIGURED, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED6, FLAG_RESERVED7, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER
 
Constructor Summary
JQAccordion(String id)
          Constructs an accordion component with the given id.
JQAccordion(String id, String options)
          Constructs an accordion component with the given id and options.
 
Method Summary
protected abstract  Iterator<org.apache.wicket.model.IModel<String>> getItemModels()
           
protected  String getOptions()
           
protected  org.apache.wicket.markup.repeater.RefreshingView<String> newRepeatingView(String id)
           
protected abstract  void populateItem(org.apache.wicket.markup.repeater.Item<String> item)
          Populates one accordion panel item.
 
Methods inherited from class org.apache.wicket.markup.html.panel.Panel
onComponentTag, onComponentTagBody, renderHead
 
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup
newHeaderPartContainer, renderHeadFromAssociatedMarkupFile
 
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getMarkupType, getWebPage, getWebRequest
 
Methods inherited from class org.apache.wicket.MarkupContainer
add, addOrReplace, autoAdd, autoAdd, contains, findMarkupStream, get, get, getAssociatedMarkupStream, getMarkupStream, hasAssociatedMarkup, internalAdd, isTransparentResolver, iterator, iterator, newMarkupResourceStream, onAfterRenderChildren, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderComponentTagBody, renderNext, replace, setDefaultModel, setMarkupStream, size, swap, toString, toString, visitChildren, visitChildren
 
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, callOnBeforeRenderIfNotVisible, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, configure, continueToOriginalDestination, debug, detach, detachBehaviors, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviors, getBehaviors, getBehaviorsRawList, getClassRelativePath, getComponentBorder, getConverter, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessage, getFlag, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdImpl, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalAttach, internalDetach, internalOnAttach, internalOnDetach, internalOnModelChanged, isActionAuthorized, isAncestorOf, isAttached, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markAttached, markRendering, modelChanged, modelChanging, onAfterRender, onAttach, onBeforeRender, onBeginRequest, onConfigure, onDetach, onEndRequest, onInitialize, onModelChanged, onModelChanging, onRemove, prepareForRender, prepareForRender, redirectToInterceptPage, remove, remove, render, render, renderComponent, renderComponent, renderComponentTag, rendered, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, setAuto, setComponentBorder, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setFlag, setIgnoreAttributeModifier, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setRedirect, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, urlFor, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, warn, wrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JQAccordion

public JQAccordion(String id)
Constructs an accordion component with the given id.

Parameters:
id - the id of the component. Must not be null.

JQAccordion

public JQAccordion(String id,
                   String options)
Constructs an accordion component with the given id and options.

See accordion plugin documentation for details about options.

Parameters:
id - the id of the component. Must not be null.
options - the options to use for the javascript accordion component. Must not be null.
Method Detail

getOptions

protected String getOptions()

newRepeatingView

protected org.apache.wicket.markup.repeater.RefreshingView<String> newRepeatingView(String id)

populateItem

protected abstract void populateItem(org.apache.wicket.markup.repeater.Item<String> item)
Populates one accordion panel item.

Two components must be added to the item:

Parameters:
item - the item to populate

getItemModels

protected abstract Iterator<org.apache.wicket.model.IModel<String>> getItemModels()


Copyright © 2012. All Rights Reserved.