Class AbstractDefaultAjaxBehavior

    • Field Detail

      • INDICATOR

        public static final ResourceReference INDICATOR
        reference to the default indicator gif file.
    • Constructor Detail

      • AbstractDefaultAjaxBehavior

        public AbstractDefaultAjaxBehavior()
    • Method Detail

      • 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 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