package de.elatexam.editor.components.panels.tasks; import net.databinder.components.hib.DataForm; import net.databinder.models.hib.HibernateObjectModel; import org.apache.wicket.markup.html.form.Button; import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.validation.validator.MinimumValidator; import de.elatexam.model.Category; /** * @author sdienst */ public class CategoryPanel extends Panel { private class CategoryForm extends DataForm<Category> { private FeedbackPanel feedback; public CategoryForm(final String id) { super(id, Category.class); init(); } public CategoryForm(final String id, final HibernateObjectModel<Category> hibernateObjectModel) { super(id, hibernateObjectModel); init(); } private void init() { add(feedback = new FeedbackPanel("feedback")); feedback.setOutputMarkupId(true); add(new TextField<String>("title").setRequired(true)); add(new TextField<Integer>("tasksPerPage").add(new MinimumValidator<Integer>(0))); add(new Button("saveButton") { @Override public void onSubmit() { super.onSubmit(); info("Gespeichert!"); } }); add(new org.apache.wicket.markup.html.form.Button("cancelButton") { @Override public void onSubmit() { clearPersistentObject(); } }.setDefaultFormProcessing(false)); } } public CategoryPanel(final String id) { super(id); add(new CategoryForm(id)); } public CategoryPanel(final String id, final HibernateObjectModel<Category> model) { super(id, model); add(new CategoryForm("categoryform", model)); } }