package de.flower.rmt.ui.page.opponents.manager;
import de.flower.common.ui.ajax.event.AjaxEventSender;
import de.flower.common.ui.panel.BasePanel;
import de.flower.rmt.model.db.entity.Opponent;
import de.flower.rmt.service.IOpponentManager;
import de.flower.rmt.ui.markup.html.form.CancelableEntityForm;
import de.flower.rmt.ui.markup.html.form.EntityForm;
import de.flower.rmt.ui.markup.html.form.field.TextFieldPanel;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.IModel;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.wicketstuff.jsr303.validator.FormComponentBeanValidator;
/**
* @author flowerrrr
*/
public class OpponentEditPanel extends BasePanel {
@SpringBean
private IOpponentManager opponentManager;
public OpponentEditPanel(final IModel<Opponent> model) {
EntityForm<Opponent> form = new CancelableEntityForm<Opponent>("form", model) {
@Override
protected void onSubmit(final AjaxRequestTarget target, final Form<Opponent> form) {
opponentManager.save(form.getModelObject());
AjaxEventSender.entityEvent(this, Opponent.class);
onClose(target);
}
};
add(form);
TextFieldPanel name;
form.add(name = new TextFieldPanel("name"));
// add a class level validator to this property
name.addValidator(new FormComponentBeanValidator(Opponent.Validation.INameUnique.class));
form.add(new TextFieldPanel("url"));
}
}