package de.flower.rmt.ui.markup.html.calendar; import de.flower.common.ui.ajax.AbstractParameterizedDefaultAjaxBehavior; import org.apache.wicket.ajax.AjaxRequestTarget; /** * @author flowerrrr */ public abstract class EventClickCallbackBehavior extends AbstractParameterizedDefaultAjaxBehavior { private Parameter<Long> paramId = Parameter.of("entityId", Long.class, "event.entityId"); private Parameter<String> paramClazzName = Parameter.of("clazzName", String.class, "event.clazzName"); @Override protected void respond(final AjaxRequestTarget target, final ParameterMap parameterMap) { CalEvent calEvent = new CalEvent(); calEvent.entityId = parameterMap.getValue(paramId); calEvent.clazzName = parameterMap.getValue(paramClazzName); onEdit(target, calEvent); } @Override protected Parameter<?>[] getParameter() { return new Parameter[]{paramId, paramClazzName}; } protected abstract void onEdit(AjaxRequestTarget target, CalEvent calEvent); public String getCallbackFunction() { String function = String.format("function(event) { %s; return false; }", getCallbackScript()); return function; } }