Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Link to jsdoc

TODO

Configuration

Setup

To replace any of the JavaScript files the user application may use:

...

  • method - the request method to use (GET or POST)
  • multipart - whether form submittion should use content type: multipart/form-data. Implies POST method.
  • event names - a list of event names for which the Ajax call will be executed. For example: click, change, keyup, etc.
  • form id - the id of the form which should be submitted with this Ajax call
  • submitting component name - the input name of the component which submits the form
  • data type - what kind of data is expected in the response of the Ajax call (e.g. XML, JSON, HTML, JSONP)
  • is wicket ajax response - a flag which indicates whether the response is <ajax-response> which is handled by wicket-ajax.js or custom response type which can be handled by application's code (e.g. in IAjaxCallListener's success handler)
  • preconditions - a list of preconditions which may abort the Ajax call. Return 'false' from any precondition to abort the call
  • channel - the name and type of the Ajax channel to use. Channels are used to queue the Ajax requests at the client side. See org.apache.wicket.ajax.AjaxChannel javadoc for more details.
  • ajax call listeners - see a list of listeners which are called at the most important points of the lifetime of the Ajax call. See below for more information.
  • extra parameters - a map of parameters which should be added to the query string/post data of the Ajax call. The name and value of such parameters should be known at the server side.
  • dynamic extra parameters - parameters which values are calculated at the client side and added dynamically to the query string/post data of the Ajax call
  • request timeout - a timeout to about abort the request if there is no response
  • allow default - a flag which indicates whether to allow the default behavior of the HTML element which listens for the event. For example: clicking on Ajax checkbox should allow the default to actually check the box
  • async - a flag that indicates whether the Ajax call should be asynchronous or not
  • throttling settings - settings which define whether the Ajax call should be throttled and for how long. See the javadoc of org.apache.wicket.ajax.attributes.ThrottlingSettings for more information

While constructing the JavaScript that will register the event listener for that Ajax component/behavior these settings are serialized to optimized JSON object which is passed as a parameter to Wicket.Ajax.(get|post|ajax) methods.
For example an AjaxLink contributes JavaScript similar to :

...

Those replaces the old Wicket.Ajax.(registerPreCallHandler|registerPostCallHandler|registerFailureHandler) methods.

Example (JavaScript):

Code Block
    Wicket.Event.subscribe('/ajax/call/failure', function(jqEvent, errorThrown, attributes, jqXHR, textStatus) {
      // do something when an Ajax call fails
    });

...