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:
Serializable
,IComponentAwareEventSink
,IRequestListener
,IComponentAwareHeaderContributor
,IClusterable
- Direct Known Subclasses:
AbstractAjaxTimerBehavior
,AbstractAutoCompleteBehavior
,AjaxDownloadBehavior
,AjaxEditableLabel.EditorAjaxBehavior
,AjaxEventBehavior
,AjaxNewWindowNotifyingBehavior
,AjaxOnDomReadyClientInfoBehavior
,ModalWindow.CloseButtonBehavior
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 ResourceReference
INDICATOR
reference 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 String
findIndicatorId()
Finds the markup id of the indicator.protected AjaxRequestAttributes
getAttributes()
CharSequence
getCallbackFunction(CallbackParameter... extraParameters)
Generates a javascript function that can take parameters and performs an AJAX call which includes these parameters.CharSequence
getCallbackFunctionBody(CallbackParameter... extraParameters)
Generates the body the callback function.CharSequence
getCallbackScript()
protected CharSequence
getCallbackScript(Component component)
protected void
onBind()
Subclasses should call super.onBind()protected Form.MethodMismatchResponse
onMethodMismatch()
This method decides whether to continue processing or to abort the Ajax request when the method is different than theAjaxRequestAttributes.getMethod()
's method.void
onRequest()
Called when a request is received.protected void
postprocessConfiguration(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 CharSequence
renderAjaxAttributes(Component component)
{ u: 'editable-label?6-1.IBehaviorListener.0-text1-label', // url m: 'POST', // method name.protected CharSequence
renderAjaxAttributes(Component component, AjaxRequestAttributes attributes)
void
renderHead(Component component, IHeaderResponse response)
Render to the web response whatever the component wants to contribute to the head section.protected abstract void
respond(AjaxRequestTarget target)
protected void
updateAjaxAttributes(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.
-
-
Constructor Detail
-
AbstractDefaultAjaxBehavior
public AbstractDefaultAjaxBehavior()
-
-
Method Detail
-
onBind
protected void onBind()
Subclasses should call super.onBind()- Overrides:
onBind
in classAbstractAjaxBehavior
- See Also:
AbstractAjaxBehavior.onBind()
-
renderHead
public void renderHead(Component component, IHeaderResponse response)
Description copied from class:Behavior
Render to the web response whatever the component wants to contribute to the head section.- Specified by:
renderHead
in interfaceIComponentAwareHeaderContributor
- Overrides:
renderHead
in 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
-
onMethodMismatch
protected Form.MethodMismatchResponse onMethodMismatch()
This method decides whether to continue processing or to abort the Ajax request when the method is different than theAjaxRequestAttributes.getMethod()
's method.- Returns:
- response that can either abort or continue the processing of the Ajax request
-
updateAjaxAttributes
protected void updateAjaxAttributes(AjaxRequestAttributes attributes)
Gives a chance to the specializations to modify the attributes.- Parameters:
attributes
-- Since:
- 6.0
-
renderAjaxAttributes
protected final 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 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.JSONException
Gives 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 CharSequence getCallbackScript()
- Returns:
- javascript that will generate an ajax GET request to this behavior with its assigned component
-
getCallbackScript
protected 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 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 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 String findIndicatorId()
Finds the markup id of the indicator. The default search order is: component, behavior, component's parent hierarchy.- Returns:
- markup id or
null
if no indicator found
-
onRequest
public final void onRequest()
Description copied from interface:IRequestListener
Called when a request is received.
-
respond
protected abstract void respond(AjaxRequestTarget target)
- Parameters:
target
- The AJAX target
-
-