package de.flower.rmt.ui.markup.html.calendar; import de.flower.common.ui.ajax.AbstractParameterizedDefaultAjaxBehavior; import org.apache.wicket.ajax.AjaxRequestTarget; import java.util.Date; /** * @author flowerrrr */ public abstract class SelectCallbackBehavior extends AbstractParameterizedDefaultAjaxBehavior { public Parameter<Long> paramStart = Parameter.of("start", Long.class, "start.getTime()"); public Parameter<Long> paramEnd = Parameter.of("end", Long.class, "end.getTime()"); public Parameter<Boolean> paramAllDay = Parameter.of("allDay", Boolean.class, "allDay"); @Override protected void respond(final AjaxRequestTarget target, final ParameterMap parameterMap) { CalEvent calEvent = new CalEvent(); calEvent.start = new Date(parameterMap.getValue(paramStart)); calEvent.end = new Date(parameterMap.getValue(paramEnd)); calEvent.allDay = parameterMap.getValue(paramAllDay); onEdit(target, calEvent); } @Override protected Parameter<?>[] getParameter() { return new Parameter[]{paramStart, paramEnd, paramAllDay}; } protected abstract void onEdit(AjaxRequestTarget target, CalEvent calEvent); public String getCallbackFunction() { String function = String.format("function(start, end, allDay) { %s; return false; }", getCallbackScript()); return function; } }