rendered paste body public class PollForm extends Form {
private static final long serialVersionUID = 1L;
private List<PollAnswer> answers = new ArrayList<PollAnswer>();
public PollForm(final String id, final IModel model) {
super(id, model);
add(new FeedbackPanel("feedback"));
add(new RequiredTextField("subject"));
add(new MFXNawEditor("body").setRequired(true));
final WebMarkupContainer container = new WebMarkupContainer("container");
container.setOutputMarkupId(true);
add(container);
final Poll poll = (Poll) getModelObject();
answers.add(new PollAnswer(poll));
container.add(new ListView("answers", new PropertyModel(this, "answers")) {
private static final long serialVersionUID = 1L;
@Override
protected void populateItem(final ListItem arg0) {
IModel model = arg0.getModel();
arg0.add(new RequiredTextField("answer", new PropertyModel(model, "answer")));
}
});
add(new AjaxLink("add") {
private static final long serialVersionUID = 1L;
@Override
public void onClick(final AjaxRequestTarget arg0) {
answers.add(new PollAnswer(poll));
arg0.addComponent(container);
}
});
add(new AjaxLink("remove") {
private static final long serialVersionUID = 1L;
@Override
public void onClick(final AjaxRequestTarget arg0) {
answers.remove(answers.size());
arg0.addComponent(container);
}
});
add(new FormInlineValidator());
}
public void setAnswers(final List<PollAnswer> answers) {
this.answers = answers;
}
public List<PollAnswer> getAnswers() {
return answers;
}
}