Package org.wicketstuff.urlfragment
Class AsyncUrlFragmentAwarePanel
- 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.wicketstuff.urlfragment.AsyncUrlFragmentAwarePanel
-
- All Implemented Interfaces:
Serializable,Iterable<Component>,IEventSink,IEventSource,IFeedbackContributor,IConverterLocator,IMetadataContext<Serializable,Component>,IQueueRegion,IHeaderContributor,IRequestableComponent,IHierarchical<Component>,IClusterable
public abstract class AsyncUrlFragmentAwarePanel extends Panel
This is aPanelwhich will receive the URL query and fragment parameters asynchronously after the initial request.After the initial request this panel executes an AJAX call (through a behavior) which invokes
onParameterIncome(IRequestParameters, AjaxRequestTarget). This is a typical AJAX event handling method with the difference that you have the URL query and fragment parameters, your site was requested with, available in it. This method serves as your entry point for components depending on URL fragment parameters.Be aware the this panel will be rendered on the initial request in order to make the AJAX call. This means, that, before the fragment parameters arrive, your implementation has to have initial state (models) and content and cannot be invisible.
- Author:
- Martin Knopf
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_INITIALIZED, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER, RFLAG_CONTAINER_DEQUEING, RFLAG_CONTAINER_HAS_REMOVALS
-
-
Constructor Summary
Constructors Constructor Description AsyncUrlFragmentAwarePanel(String id)AsyncUrlFragmentAwarePanel(String id, IModel<?> model)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected Map<String,String>getOptions()Returns a map of options used for initializing the JavaScript library for reading and writing the URL fragment.protected abstract voidonParameterIncome(IRequestParameters requestParameters, AjaxRequestTarget target)This is where you can grab the URL query and fragment parameters, your site was requested with.protected UrlFragmenturlFragment()Returns aUrlFragmentconnected to the currentAjaxRequestTarget.-
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 org.apache.wicket.IQueueRegion
dequeue, newDequeueContext
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
getOptions
protected Map<String,String> getOptions()
Returns a map of options used for initializing the JavaScript library for reading and writing the URL fragment.Possible options are:
- 'fragmentIdentifierSuffix': String after the '#' (standard is '!')
- 'keyValueDelimiter': a String used to connect fragment parameters keys and values (standard is '&')
- Returns:
- options
Mapcreated
-
onParameterIncome
protected abstract void onParameterIncome(IRequestParameters requestParameters, AjaxRequestTarget target)
This is where you can grab the URL query and fragment parameters, your site was requested with. You can useurlFragment()inside this method.- Parameters:
requestParameters- parameters set on this pagetarget-AjaxRequestTargetcan be used for page updating
-
urlFragment
protected UrlFragment urlFragment()
Returns aUrlFragmentconnected to the currentAjaxRequestTarget. Use theUrlFragmentto update the URL fragment in the browser after the current AJAX event.- Returns:
- created
UrlFragmentfor chaining
-
-