Package org.apache.wicket.ajax.form
Class AjaxFormComponentUpdatingBehavior
java.lang.Object
org.apache.wicket.behavior.Behavior
org.apache.wicket.behavior.AbstractAjaxBehavior
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior
org.apache.wicket.ajax.AjaxEventBehavior
org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior
- All Implemented Interfaces:
Serializable
,IComponentAwareEventSink
,IRequestListener
,IComponentAwareHeaderContributor
,IClusterable
- Direct Known Subclasses:
AjaxFormChoiceComponentUpdatingBehavior
,OnChangeAjaxBehavior
A behavior that updates the hosting FormComponent via ajax when an event it is attached to is
triggered. This behavior encapsulates the entire form-processing workflow as relevant only to
this component so if validation is successful the component's model will be updated according to
the submitted value.
NOTE: This behavior does not validate any IFormValidator
s attached to this form even
though they may reference the component being updated.
NOTE: This behavior does not work on Choices or Groups use the
AjaxFormChoiceComponentUpdatingBehavior
for that.
- Since:
- 1.2
- Author:
- Igor Vaynberg (ivaynberg)
- See Also:
-
Field Summary
Fields inherited from class org.apache.wicket.ajax.AbstractDefaultAjaxBehavior
INDICATOR
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
checkComponent
(FormComponent<?> component) Check the component this behavior is bound to.protected boolean
Determines whether the focus will not be restored when the event is blur.protected final FormComponent<?>
protected boolean
Gives the control to the application to decide whether the form component model should be updated automatically or not.protected void
onBind()
Subclasses should call super.onBind()protected void
onError
(AjaxRequestTarget target, RuntimeException e) Called to handle any error resulting from updating form component.protected final void
onEvent
(AjaxRequestTarget target) Listener method for the ajax eventonUpdate
(String eventName, org.danekja.java.util.function.serializable.SerializableConsumer<AjaxRequestTarget> onUpdate) Creates anAjaxFormComponentUpdatingBehavior
based on lambda expressionsprotected abstract void
onUpdate
(AjaxRequestTarget target) Listener invoked on the ajax request.protected void
updateAjaxAttributes
(AjaxRequestAttributes attributes) Gives a chance to the specializations to modify the attributes.Methods inherited from class org.apache.wicket.ajax.AjaxEventBehavior
getEvent, onEvent, renderHead, respond
Methods inherited from class org.apache.wicket.ajax.AbstractDefaultAjaxBehavior
findIndicatorId, getAttributes, getCallbackFunction, getCallbackFunctionBody, getCallbackScript, getCallbackScript, onMethodMismatch, onRequest, postprocessConfiguration, renderAjaxAttributes, renderAjaxAttributes
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
-
Constructor Details
-
AjaxFormComponentUpdatingBehavior
Construct.- Parameters:
event
- event to trigger this behavior
-
-
Method Details
-
onBind
Description copied from class:AbstractDefaultAjaxBehavior
Subclasses should call super.onBind()- Overrides:
onBind
in classAbstractDefaultAjaxBehavior
- See Also:
-
checkComponent
Check the component this behavior is bound to.Logs a warning in development mode when an
AjaxFormChoiceComponentUpdatingBehavior
should be used.- Parameters:
component
- bound component
-
getFormComponent
- Returns:
- FormComponent
-
updateAjaxAttributes
Description copied from class:AbstractDefaultAjaxBehavior
Gives a chance to the specializations to modify the attributes.- Overrides:
updateAjaxAttributes
in classAjaxEventBehavior
-
onEvent
Description copied from class:AjaxEventBehavior
Listener method for the ajax event- Specified by:
onEvent
in classAjaxEventBehavior
- Parameters:
target
- the current request handler
-
getUpdateModel
Gives the control to the application to decide whether the form component model should be updated automatically or not. Make sure to callFormComponent.valid()
additionally in case the application want to update the model manually.- Returns:
- true if the model of form component should be updated, false otherwise
-
disableFocusOnBlur
Determines whether the focus will not be restored when the event is blur. By default this is true, as we don't want to re-focus component on blur event.- Returns:
true
if refocusing should be disabled,false
otherwise
-
onUpdate
Listener invoked on the ajax request. This listener is invoked after the component's model has been updated.Note:
onError(AjaxRequestTarget, RuntimeException)
is called instead when processing of theFormComponent
failed with conversion or validation errors!- Parameters:
target
- the current request handler
-
onError
Called to handle any error resulting from updating form component. Errors thrown fromonUpdate(org.apache.wicket.ajax.AjaxRequestTarget)
will not be caught here. The RuntimeException will be null if it was just a validation or conversion error of the FormComponent- Parameters:
target
- the current request handlere
- the error that occurred during the update of the component
-
onUpdate
public static AjaxFormComponentUpdatingBehavior onUpdate(String eventName, org.danekja.java.util.function.serializable.SerializableConsumer<AjaxRequestTarget> onUpdate) Creates anAjaxFormComponentUpdatingBehavior
based on lambda expressions- Parameters:
eventName
- the event nameonUpdate
- theSerializableConsumer
which accepts theAjaxRequestTarget
- Returns:
- the
AjaxFormComponentUpdatingBehavior
-