Class Folder<T>
- java.lang.Object
-
- org.apache.wicket.Component
-
- org.apache.wicket.MarkupContainer
-
- org.apache.wicket.markup.html.WebMarkupContainer
-
- org.apache.wicket.markup.html.panel.Panel
-
- org.apache.wicket.extensions.markup.html.repeater.tree.content.StyledLinkLabel<T>
-
- org.apache.wicket.extensions.markup.html.repeater.tree.content.Folder<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:
CheckedFolder,CheckFolder
public class Folder<T> extends StyledLinkLabel<T>
A typical folder representation of nodes in a tree. The link is used to expand/collapse the tree depending on theAbstractTree.Stateof the current node. Nodes without children are not clickable. Subclasses may change this behavior by overridingisClickable()andonClick(Optional)- Author:
- svenmeier
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static StringCLOSED_CSS_CLASS_KEYstatic StringOPEN_CSS_CLASS_KEYstatic StringOTHER_CSS_CLASS_KEYstatic StringSELECTED_CSS_CLASS_KEY
-
Constructor Summary
Constructors Constructor Description Folder(String id, AbstractTree<T> tree, org.apache.wicket.model.IModel<T> model)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected StringgetClosedStyleClass()Get a style class for anything other than closed or open folders.protected StringgetOpenStyleClass()Get a style class for anything other than closed or open folders.protected StringgetOtherStyleClass(T t)Get a style class for nodes without children.protected StringgetSelectedStyleClass()Get a style class to render for a selected folder.protected StringgetStyleClass()Delegates to others methods depending wether the given model is a folder, expanded, collapsed or selected.protected booleanisClickable()Clickable if node can be expanded/collapsed, i.e.protected booleanisSelected()Optional attribute which decides if an additional "selected" style class should be rendered.protected voidonClick(Optional<org.apache.wicket.ajax.AjaxRequestTarget> targetOptional)Toggle the node'sAbstractTree.Stateon click.-
Methods inherited from class org.apache.wicket.extensions.markup.html.repeater.tree.content.StyledLinkLabel
getModel, getModelObject, newLabelComponent, newLabelModel, newLinkComponent
-
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, onDetach, 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, initModel, internalOnModelChanged, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, 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
-
OTHER_CSS_CLASS_KEY
public static final String OTHER_CSS_CLASS_KEY
-
CLOSED_CSS_CLASS_KEY
public static final String CLOSED_CSS_CLASS_KEY
-
OPEN_CSS_CLASS_KEY
public static final String OPEN_CSS_CLASS_KEY
-
SELECTED_CSS_CLASS_KEY
public static final String SELECTED_CSS_CLASS_KEY
-
-
Constructor Detail
-
Folder
public Folder(String id, AbstractTree<T> tree, org.apache.wicket.model.IModel<T> model)
-
-
Method Detail
-
isClickable
protected boolean isClickable()
Clickable if node can be expanded/collapsed, i.e. has children.- Overrides:
isClickablein classStyledLinkLabel<T>- See Also:
ITreeProvider.hasChildren(Object)
-
onClick
protected void onClick(Optional<org.apache.wicket.ajax.AjaxRequestTarget> targetOptional)
Toggle the node'sAbstractTree.Stateon click.- Overrides:
onClickin classStyledLinkLabel<T>- See Also:
StyledLinkLabel.newLinkComponent(String, IModel),StyledLinkLabel.isClickable()
-
getStyleClass
protected String getStyleClass()
Delegates to others methods depending wether the given model is a folder, expanded, collapsed or selected.- Specified by:
getStyleClassin classStyledLinkLabel<T>- See Also:
ITreeProvider.hasChildren(Object),AbstractTree.getState(Object),isSelected(),getOpenStyleClass(),getClosedStyleClass(),getOtherStyleClass(Object),getSelectedStyleClass()
-
isSelected
protected boolean isSelected()
Optional attribute which decides if an additional "selected" style class should be rendered.- Returns:
- defaults to
false
-
getOtherStyleClass
protected String getOtherStyleClass(T t)
Get a style class for nodes without children.- Parameters:
t- node- Returns:
- CSS style class
- See Also:
ITreeProvider.hasChildren(Object)
-
getClosedStyleClass
protected String getClosedStyleClass()
Get a style class for anything other than closed or open folders.- Returns:
- CSS style class
- See Also:
AbstractTree.State.COLLAPSED
-
getOpenStyleClass
protected String getOpenStyleClass()
Get a style class for anything other than closed or open folders.- Returns:
- CSS style class
- See Also:
AbstractTree.State.EXPANDED
-
getSelectedStyleClass
protected String getSelectedStyleClass()
Get a style class to render for a selected folder.- Returns:
- CSS style class
- See Also:
isSelected()
-
-