Package org.apache.wicket.ajax
Class AbstractDefaultAjaxBehavior
- java.lang.Object
-
- org.apache.wicket.behavior.Behavior
-
- org.apache.wicket.behavior.AbstractAjaxBehavior
-
- org.apache.wicket.ajax.AbstractDefaultAjaxBehavior
-
- All Implemented Interfaces:
java.io.Serializable,IComponentAwareEventSink,IRequestListener,IComponentAwareHeaderContributor,org.apache.wicket.util.io.IClusterable
- Direct Known Subclasses:
AbstractAjaxTimerBehavior,AjaxEventBehavior,AjaxNewWindowNotifyingBehavior
public abstract class AbstractDefaultAjaxBehavior extends AbstractAjaxBehavior
The base class for Wicket's default AJAX implementation.- Since:
- 1.2
- Author:
- Igor Vaynberg (ivaynberg)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static ResourceReferenceINDICATORreference to the default indicator gif file.
-
Constructor Summary
Constructors Constructor Description AbstractDefaultAjaxBehavior()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected java.lang.StringfindIndicatorId()Finds the markup id of the indicator.protected AjaxRequestAttributesgetAttributes()java.lang.CharSequencegetCallbackFunction(CallbackParameter... extraParameters)Generates a javascript function that can take parameters and performs an AJAX call which includes these parameters.java.lang.CharSequencegetCallbackFunctionBody(CallbackParameter... extraParameters)Generates the body the callback function.java.lang.CharSequencegetCallbackScript()protected java.lang.CharSequencegetCallbackScript(Component component)protected voidonBind()Subclasses should call super.onBind()voidonRequest()Called when a request is received.protected voidpostprocessConfiguration(com.github.openjson.JSONObject attributesJson, Component component)Gives a chance to modify the JSON attributesJson that is going to be used as attributes for the Ajax call.protected java.lang.CharSequencerenderAjaxAttributes(Component component){ u: 'editable-label?6-1.IBehaviorListener.0-text1-label', // url m: 'POST', // method name.protected java.lang.CharSequencerenderAjaxAttributes(Component component, AjaxRequestAttributes attributes)voidrenderHead(Component component, IHeaderResponse response)Render to the web response whatever the component wants to contribute to the head section.protected abstract voidrespond(AjaxRequestTarget target)protected voidupdateAjaxAttributes(AjaxRequestAttributes attributes)Gives a chance to the specializations to modify the attributes.-
Methods inherited from class org.apache.wicket.behavior.AbstractAjaxBehavior
afterRender, bind, getCallbackUrl, getComponent, onComponentRendered, onComponentTag, onComponentTag, onUnbind, unbind
-
Methods inherited from class org.apache.wicket.behavior.Behavior
beforeRender, canCallListener, detach, getStatelessHint, isEnabled, isTemporary, onAttribute, onConfigure, onEvent, onException, onRemove, onTag
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.wicket.IRequestListener
rendersPage
-
-
-
-
Field Detail
-
INDICATOR
public static final ResourceReference INDICATOR
reference to the default indicator gif file.
-
-
Method Detail
-
onBind
protected void onBind()
Subclasses should call super.onBind()- Overrides:
onBindin classAbstractAjaxBehavior- See Also:
AbstractAjaxBehavior.onBind()
-
renderHead
public void renderHead(Component component, IHeaderResponse response)
Description copied from class:BehaviorRender to the web response whatever the component wants to contribute to the head section.- Specified by:
renderHeadin interfaceIComponentAwareHeaderContributor- Overrides:
renderHeadin classBehavior- Parameters:
component- component which is contributing to the response. This parameter is here to give the component as the context for component-awares implementing this interfaceresponse- Response object- See Also:
Behavior.renderHead(Component, org.apache.wicket.markup.head.IHeaderResponse)
-
getAttributes
protected final AjaxRequestAttributes getAttributes()
- Returns:
- the Ajax settings for this behavior
- Since:
- 6.0
-
updateAjaxAttributes
protected void updateAjaxAttributes(AjaxRequestAttributes attributes)
Gives a chance to the specializations to modify the attributes.- Parameters:
attributes-- Since:
- 6.0
-
renderAjaxAttributes
protected final java.lang.CharSequence renderAjaxAttributes(Component component)
{ u: 'editable-label?6-1.IBehaviorListener.0-text1-label', // url m: 'POST', // method name. Default: 'GET' c: 'label7', // component id (String) or window for page e: 'click', // event name sh: [], // list of success handlers fh: [], // list of failure handlers pre: [], // list of preconditions. If empty set default : Wicket.$(settings{c}) !== null ep: {}, // extra parameters async: true|false, // asynchronous XHR or not ch: 'someName|d', // AjaxChannel i: 'indicatorId', // indicator component id ad: true, // allow default }- Parameters:
component- the component with that behavior- Returns:
- the attributes as string in JSON format
-
renderAjaxAttributes
protected final java.lang.CharSequence renderAjaxAttributes(Component component, AjaxRequestAttributes attributes)
- Parameters:
component-attributes-- Returns:
- the attributes as string in JSON format
-
postprocessConfiguration
protected void postprocessConfiguration(com.github.openjson.JSONObject attributesJson, Component component) throws com.github.openjson.JSONExceptionGives a chance to modify the JSON attributesJson that is going to be used as attributes for the Ajax call.- Parameters:
attributesJson- the JSON object created by #renderAjaxAttributes()component- the component with the attached Ajax behavior- Throws:
com.github.openjson.JSONException- thrown if an error occurs while modifying attributesJson argument
-
getCallbackScript
public java.lang.CharSequence getCallbackScript()
- Returns:
- javascript that will generate an ajax GET request to this behavior with its assigned component
-
getCallbackScript
protected java.lang.CharSequence getCallbackScript(Component component)
- Parameters:
component- the component to use when generating the attributes- Returns:
- script that can be used to execute this Ajax behavior.
-
getCallbackFunction
public java.lang.CharSequence getCallbackFunction(CallbackParameter... extraParameters)
Generates a javascript function that can take parameters and performs an AJAX call which includes these parameters. The generated code looks like this:function(param1, param2) { var attrs = attrsJson; var params = {'param1': param1, 'param2': param2}; attrs.ep = jQuery.extend(attrs.ep, params); Wicket.Ajax.ajax(attrs); }- Parameters:
extraParameters-- Returns:
- A function that can be used as a callback function in javascript
-
getCallbackFunctionBody
public java.lang.CharSequence getCallbackFunctionBody(CallbackParameter... extraParameters)
Generates the body the callback function. To embed this code directly into a piece of javascript, make sure any context parameters are available as local variables, global variables or within the closure.- Parameters:
extraParameters-- Returns:
- The body of the callback function.
-
findIndicatorId
protected java.lang.String findIndicatorId()
Finds the markup id of the indicator. The default search order is: component, behavior, component's parent hierarchy.- Returns:
- markup id or
nullif no indicator found
-
onRequest
public final void onRequest()
Description copied from interface:IRequestListenerCalled when a request is received.
-
respond
protected abstract void respond(AjaxRequestTarget target)
- Parameters:
target- The AJAX target
-
-