Interface IAjaxCallListener

  • All Known Implementing Classes:
    AjaxCallListener, AjaxDisableComponentListener, CancelEventIfAjaxListener

    public interface IAjaxCallListener
    Interface used to listen at the most important points when Wicket performs an Ajax callback.

    Each method can return JavaScript that will be used as a body of a function that is executed at the appropriate time. If the method returns null or an empty string then it is ignored and no function will be executed for this listener. Each JavaScript function receives arguments in the exact order as specified in the method's javadoc.

    Ajax call listeners are potential contributors to the page header by implementing IComponentAwareHeaderContributor. E.g. the JavaScript used by the listener may depend on some JavaScript library, by implementing IComponentAwareHeaderContributor interface they can assure it will be loaded.

    Since:
    6.0
    • Method Detail

      • getInitHandler

        default CharSequence getInitHandler​(Component component)
        The JavaScript that will be executed on initialization of the Ajax call, immediately after the causing event. The script will be executed in a function that receives the following parameters:
        1. attrs - the AjaxRequestAttributes as JSON
        Parameters:
        component - the Component with the Ajax behavior
        Returns:
        the JavaScript that will be executed on initialization of the Ajax call.
      • getBeforeHandler

        default CharSequence getBeforeHandler​(Component component)
        The JavaScript that will be executed before the Ajax call, as early as possible. Even before the preconditions. The script will be executed in a function that receives the following parameters:
        1. attrs - the AjaxRequestAttributes as JSON
        Parameters:
        component - the Component with the Ajax behavior
        Returns:
        the JavaScript that will be executed before the Ajax call.
      • getPrecondition

        default CharSequence getPrecondition​(Component component)
        A JavaScript function that is invoked before the request is being executed. If it returns false then the execution of the Ajax call will be cancelled. The script will be executed in a function that receives the following parameters:
        1. attrs - the AjaxRequestAttributes as JSON
        Parameters:
        component - the Component with the Ajax behavior
        Returns:
        the JavaScript that should be used to decide whether the Ajax call should be made at all.
      • getBeforeSendHandler

        default CharSequence getBeforeSendHandler​(Component component)
        The JavaScript that will be executed right before the execution of the the Ajax call, only if all preconditions pass. The script will be executed in a function that receives the following parameters:
        1. attrs - the AjaxRequestAttributes as JSON
        2. jqXHR - the jQuery XMLHttpRequest object
        3. settings - the settings used for the jQuery.ajax() call
        Parameters:
        component - the Component with the Ajax behavior
        Returns:
        the JavaScript that will be executed before the Ajax call.
      • getAfterHandler

        default CharSequence getAfterHandler​(Component component)
        The JavaScript that will be executed after the Ajax call. The script will be executed in a function that receives the following parameters:
        1. attrs - the AjaxRequestAttributes as JSON
        Note: if the Ajax call is synchronous (see AjaxRequestAttributes.setAsynchronous(boolean)) then this JavaScript will be executed after the complete handler, otherwise it is executed right after the execution of the Ajax request.
        Parameters:
        component - the Component with the Ajax behavior
        Returns:
        the JavaScript that will be executed after the start of the Ajax call but before its response is returned.
      • getSuccessHandler

        default CharSequence getSuccessHandler​(Component component)
        The JavaScript that will be executed after successful return of the Ajax call. The script will be executed in a function that receives the following parameters:
        1. attrs - the AjaxRequestAttributes as JSON
        2. jqXHR - the jQuery XMLHttpRequest object
        3. data - the Ajax response. Its type depends on AjaxRequestAttributes.dataType
        4. textStatus - the status as text
        Parameters:
        component - the Component with the Ajax behavior
        Returns:
        the JavaScript that will be executed after a successful return of the Ajax call.
      • getFailureHandler

        default CharSequence getFailureHandler​(Component component)
        The JavaScript that will be executed after unsuccessful return of the Ajax call. The script will be executed in a function that receives the following parameters:
        1. attrs - the AjaxRequestAttributes as JSON
        2. jqXHR - the jQuery XMLHttpRequest object
        3. errorMessage - in case of HTTP error the textual portion of the HTTP status
        4. textStatus - type of failure: null, "timeout", "error", "abort" or "parsererror"
        Parameters:
        component - the Component with the Ajax behavior
        Returns:
        the JavaScript that will be executed after a unsuccessful return of the Ajax call.
      • getCompleteHandler

        default CharSequence getCompleteHandler​(Component component)
        The JavaScript that will be executed after both successful and unsuccessful return of the Ajax call. The script will be executed in a function that receives the following parameters:
        1. attrs - the AjaxRequestAttributes as JSON
        2. jqXHR - the jQuery XMLHttpRequest object
        3. textStatus - the status as text
        Parameters:
        component - the Component with the Ajax behavior
        Returns:
        the JavaScript that will be executed after both successful and unsuccessful return of the Ajax call.
      • getDoneHandler

        default CharSequence getDoneHandler​(Component component)
        The JavaScript that will be executed after the Ajax call is done, regardless whether it was sent or not. The script will be executed in a function that receives the following parameters:
        1. attrs - the AjaxRequestAttributes as JSON
        Parameters:
        component - the Component with the Ajax behavior
        Returns:
        the JavaScript that will be executed after the Ajax call is done.