List of usage examples for org.apache.wicket.ajax.attributes AjaxRequestAttributes setDataType
public AjaxRequestAttributes setDataType(final String dataType)
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"); }