- java.lang.Object
-
- org.apache.wicket.Component
-
- org.apache.wicket.MarkupContainer
-
- org.apache.wicket.markup.html.WebMarkupContainer
-
- org.apache.wicket.markup.html.link.AbstractLink
-
- org.apache.wicket.markup.html.link.Link<T>
-
- org.apache.wicket.ajax.markup.html.AjaxFallbackLink<T>
-
- Type Parameters:
T
- type of model object
- All Implemented Interfaces:
Serializable
,Iterable<Component>
,IEventSink
,IEventSource
,IFeedbackContributor
,IConverterLocator
,IGenericComponent<T,Link<T>>
,IMetadataContext<Serializable,Component>
,IRequestListener
,IHeaderContributor
,IRequestableComponent
,org.apache.wicket.util.IHierarchical<Component>
,org.apache.wicket.util.io.IClusterable
public abstract class AjaxFallbackLink<T> extends Link<T>
An ajax link that will degrade to a normal request if ajax is not available or javascript is disabled.If JavaScript is enabled then the registered JavaScript event 'click' handler will be used, otherwise the 'href' attribute if the markup element is an <a>, <area> or <link>. AjaxFallbackLink doesn't fallback if the markup element is none of the three above.
- Since:
- 1.2
- Author:
- Igor Vaynberg (ivaynberg)
- 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
-
-
Constructor Summary
Constructors Constructor Description AjaxFallbackLink(String id)
Construct.AjaxFallbackLink(String id, IModel<T> model)
Construct.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected AjaxEventBehavior
newAjaxEventBehavior(String event)
void
onClick()
Called when a link is clicked.abstract void
onClick(Optional<AjaxRequestTarget> target)
Callback for the onClick event.protected void
onComponentTag(ComponentTag tag)
Checks if the tag supports href: a, area or link.protected void
onInitialize()
This method is meant to be used as an alternative to initialize components.protected void
updateAjaxAttributes(AjaxRequestAttributes attributes)
protected boolean
useJSEventBindingWhenNeeded()
This method can be overridden by a subclass to disable the JS event binding or provide custom event binding code is used.-
Methods inherited from class org.apache.wicket.markup.html.link.Link
appendAnchor, getAnchor, getAutoEnable, getOnClickScript, getPopupSettings, getStatelessHint, getURL, isEnabled, linksTo, onRequest, renderHead, setAnchor, setAutoEnable, setPopupSettings
-
Methods inherited from class org.apache.wicket.markup.html.link.AbstractLink
disableLink, getBody, onComponentTagBody, onDetach, setBody
-
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, getRegionMarkup, internalAdd, internalInitialize, iterator, iterator, newDequeueContext, onRender, queue, remove, remove, removeAll, renderAll, 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, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnModelChanged, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, newMarkupSourcingStrategy, onAfterRender, onBeforeRender, onConfigure, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, 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.IGenericComponent
getDefaultModel, getDefaultModelObject, getModel, getModelObject, setDefaultModel, setDefaultModelObject, setModel, setModelObject
-
Methods inherited from interface org.apache.wicket.IRequestListener
rendersPage
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
onInitialize
protected void onInitialize()
Description copied from class:Component
This method is meant to be used as an alternative to initialize components. Usually the component's constructor is used for this task, but sometimes a component cannot be initialized in isolation, it may need to access its parent component or its markup in order to fully initialize. This method is invoked once per component's lifecycle when a path exists from this component to thePage
thus providing the component with an atomic callback when the component's environment is built out.Overrides must call super#
Component.onInitialize()
. Usually this should be the first thing an override does, much like a constructor.Parent containers are guaranteed to be initialized before their children
It is safe to use
Component.getPage()
in this methodNOTE:The timing of this call is not precise, the contract is that it is called sometime before
Component.onBeforeRender()
.- Overrides:
onInitialize
in classMarkupContainer
-
newAjaxEventBehavior
protected AjaxEventBehavior newAjaxEventBehavior(String event)
- Parameters:
event
- the name of the default event on which this link will listen to- Returns:
- the ajax behavior which will be executed when the user clicks the link
-
updateAjaxAttributes
protected void updateAjaxAttributes(AjaxRequestAttributes attributes)
- Parameters:
attributes
-
-
onClick
public final void onClick()
Description copied from class:Link
Called when a link is clicked.
-
onClick
public abstract void onClick(Optional<AjaxRequestTarget> target)
Callback for the onClick event. If ajax failed and this event was generated via a normal link the target argument will be null- Parameters:
target
- ajax target if this linked was invoked using ajax, null otherwise
-
onComponentTag
protected void onComponentTag(ComponentTag tag)
Checks if the tag supports href: a, area or link.- Overrides:
onComponentTag
in classLink<T>
- Parameters:
tag
- the component tag- See Also:
Component.onComponentTag(ComponentTag)
-
useJSEventBindingWhenNeeded
protected boolean useJSEventBindingWhenNeeded()
Description copied from class:Link
This method can be overridden by a subclass to disable the JS event binding or provide custom event binding code is used.- Overrides:
useJSEventBindingWhenNeeded
in classLink<T>
- Returns:
- true when a javascripot event binding must used to handle the click event.
-
-