Example usage for org.apache.wicket.ajax.attributes AjaxRequestAttributes setDataType

List of usage examples for org.apache.wicket.ajax.attributes AjaxRequestAttributes setDataType

Introduction

In this page you can find the example usage for org.apache.wicket.ajax.attributes AjaxRequestAttributes setDataType.

Prototype

public AjaxRequestAttributes setDataType(final String dataType) 

Source Link

Usage

From source file:com.wicketinaction.HandlebarsButton.java

License:Apache License

@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
    super.updateAjaxAttributes(attributes);

    // let Wicket.Ajax/jQuery know that the result is JSON so it will parse it for you
    attributes.setDataType("json");

    // tell Wicket.Ajax to not try to process the Ajax response because it is not the normal <ajax-response>
    attributes.setWicketAjaxResponse(false);

    // register the onSuccess listener that will execute Handlebars logic
    AjaxCallListener listener = new AjaxCallListener() {
        @Override//from  ww  w .  j a va2  s  .c  o  m
        public CharSequence getSuccessHandler(Component component) {
            // returns an instance of JsonFunction, so Wicket will render it as is
            return onSuccessFunction;
        }
    };

    // the following handlers are not JsonFunction and they will be wrapped in JsonFunction by Wicket and the
    // appropriate parameters will be passed.

    // For the 'before' handler it looks like: function(attrs, jqXHR, settings){Wicket.Log.info('[Wicket Ajax 6 demo]: executing a before handler');}
    listener.onBefore("Wicket.Log.info('[Wicket Ajax 6 demo]: executing a before handler');");

    // For the 'complete' handler it looks like: function(attrs, jqXHR, textStatus){Wicket.Log.info('[Wicket Ajax 6 demo]: executing a complete handler');}
    listener.onComplete(
            "Wicket.Log.info('[Wicket Ajax 6 demo]: executing a complete handler. Status: ' + textStatus);");

    // change the return to 'false' and the Ajax call wont be executed at all.
    listener.onPrecondition("return true;");

    attributes.getAjaxCallListeners().add(listener);
}

From source file:org.apache.openmeetings.web.components.user.calendar.CalendarPanel.java

License:Apache License

public CalendarPanel(String id) {
    super(id);/*  ww w  .j a  v a 2 s .  co  m*/
    WebMarkupContainer calendar = new WebMarkupContainer("calendar");
    calendar.setOutputMarkupId(true);
    calendar.setMarkupId("calendar");
    add(calendar);

    final CalendarForm form = new CalendarForm("appointment",
            new CompoundPropertyModel<Appointment>(new Appointment()));
    add(form);

    //fetchEvents
    add(new AbstractDefaultAjaxBehavior() {
        private static final long serialVersionUID = 6880514947331946407L;

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            attributes.setDataType("json");
            attributes.setWicketAjaxResponse(false);
            attributes.getAjaxCallListeners().add(new AjaxCallListener().onSuccess("callback(data);"));
        }

        @Override
        public void renderHead(Component component, IHeaderResponse response) {
            super.renderHead(component, response);
            response.render(
                    JavaScriptHeaderItem.forScript("var fetchEventsFunc = "
                            + this.getCallbackFunction(context("start"), context("end"), context("callback"),
                                    resolved("_start", "start.getTime()"), resolved("_end", "end.getTime()"))
                            + ";", "fetchEventsFunc"));
        }

        @Override
        protected void respond(AjaxRequestTarget target) {
            Calendar start = WebSession.getCalendar();
            start.setTimeInMillis(
                    getRequestCycle().getRequest().getRequestParameters().getParameterValue("_start").toLong());
            Calendar end = WebSession.getCalendar();
            end.setTimeInMillis(
                    getRequestCycle().getRequest().getRequestParameters().getParameterValue("_end").toLong());
            JSONArray events = new JSONArray();
            for (Appointment a : Application.getBean(AppointmentDao.class)
                    .getAppointmentsByRange(WebSession.getUserId(), start.getTime(), end.getTime())) {
                try {
                    events.put(new JSONObject().put("id", a.getAppointmentId())
                            .put("title", a.getAppointmentName())
                            .put("description", a.getAppointmentDescription())
                            .put("start", WebSession.getDateFormat().format(a.getAppointmentStarttime()))
                            .put("end", WebSession.getDateFormat().format(a.getAppointmentEndtime()))
                            .put("allDay", false));
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
            getRequestCycle().scheduleRequestHandlerAfterCurrent(
                    new TextRequestHandler("application/json", "UTF-8", events.toString()));
        }
    });
    //dropEvent
    add(new DropResizeBehavior(true, "dropEventFunc"));
    //resizeEvent
    add(new DropResizeBehavior(false, "resizeEventFunc"));
    //create on click-and-drag
    add(new AbstractDefaultAjaxBehavior() {
        private static final long serialVersionUID = 6880514947331946407L;

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            attributes.getAjaxCallListeners()
                    .add(new AjaxCallListener().onSuccess("$('#appointment').dialog('open');"));
        }

        @Override
        public void renderHead(Component component, IHeaderResponse response) {
            super.renderHead(component, response);
            response.render(JavaScriptHeaderItem.forScript(
                    "var selectFunc = " + this.getCallbackFunction(context("start"), context("end"),
                            context("allDay"), context("jsEvent"), context("view"),
                            resolved("_start", "start.getTime()"), resolved("_end", "end.getTime()")) + ";",
                    "selectFunc"));
        }

        @Override
        protected void respond(AjaxRequestTarget target) {
            Calendar start = WebSession.getCalendar();
            start.setTimeInMillis(
                    getRequestCycle().getRequest().getRequestParameters().getParameterValue("_start").toLong());
            Calendar end = WebSession.getCalendar();
            end.setTimeInMillis(
                    getRequestCycle().getRequest().getRequestParameters().getParameterValue("_end").toLong());

            if (start.equals(end)) {
                end.add(Calendar.HOUR_OF_DAY, 1);
            }
            Appointment a = new Appointment();
            a.setAppointmentStarttime(start.getTime());
            a.setAppointmentEndtime(end.getTime());
            form.setModelObject(a);

            target.add(form);
        }
    });
    //eventClick
    add(new AbstractDefaultAjaxBehavior() {
        private static final long serialVersionUID = 6880514947331946407L;

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            attributes.getAjaxCallListeners()
                    .add(new AjaxCallListener().onSuccess("$('#appointment').dialog('open');"));
        }

        @Override
        public void renderHead(Component component, IHeaderResponse response) {
            super.renderHead(component, response);
            response.render(
                    JavaScriptHeaderItem.forScript(
                            "var eventClickFunc = " + this.getCallbackFunction(context("event"),
                                    context("jsEvent"), context("view"), resolved("_id", "event.id")) + ";",
                            "eventClickFunc"));
        }

        @Override
        protected void respond(AjaxRequestTarget target) {
            Appointment a = Application.getBean(AppointmentDao.class).getAppointmentById(
                    getRequestCycle().getRequest().getRequestParameters().getParameterValue("_id").toLong());
            form.setModelObject(a);

            target.add(form);
        }
    });
}

From source file:org.wicketstuff.objectautocomplete.ObjectAutoCompleteBehavior.java

License:Apache License

@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
    super.updateAjaxAttributes(attributes);
    attributes.setWicketAjaxResponse(false);
    attributes.setDataType("text");
}