added create new button to checklisttemplatedatatablepanel

This commit is contained in:
fred-fri 2012-05-11 13:23:36 +09:00
parent bcb3a690b5
commit 967c8c2f46
2 changed files with 23 additions and 0 deletions
src/main/java/se/su/dsv/scipro/datatables/checklist

@ -6,6 +6,7 @@
<div>Filter by title or creator:</div>
<div wicket:id="filterStringPanel"></div>
<div>Rows per page: <span wicket:id="numberDropDown"></span></div>
<div><button wicket:id="newLink">Create new</button></div>
<table wicket:id="datatable"></table>
</wicket:panel>
</body>

@ -1,15 +1,21 @@
package se.su.dsv.scipro.datatables.checklist;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.extensions.markup.html.repeater.data.table.*;
import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.RequiredTextField;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import se.su.dsv.scipro.SciProSession;
import se.su.dsv.scipro.checklists.panels.ChecklistCategoryPanel;
import se.su.dsv.scipro.data.dataobjects.CheckListTemplate;
import se.su.dsv.scipro.data.dataobjects.ChecklistCategory;
import se.su.dsv.scipro.reusable.AjaxDropDown;
import se.su.dsv.scipro.reusable.FilterBooleanPanel;
import se.su.dsv.scipro.reusable.FilterStringPanel;
@ -35,6 +41,7 @@ public abstract class CheckListTemplateDataPanel extends Panel {
Integer number;
AjaxDropDown<Integer> numberDropDown;
ChecklistTemplateProvider checklistTemplateProvider;
AjaxLink<Void> newLink;
public abstract void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target);
@ -43,6 +50,21 @@ public abstract class CheckListTemplateDataPanel extends Panel {
cltdp = this;
newLink = new AjaxLink<Void>("newLink") {
@Override
public void onClick(AjaxRequestTarget target) {
CheckListTemplate clt = new CheckListTemplate("New checklist template (change this to real name)", SciProSession.get().getUser());
clt.setCategories(new ArrayList<ChecklistCategory>());
ArrayList<String> questionList = new ArrayList<String>();
questionList.add(new String("Example question (remove this and add relevant questions)"));
clt.setQuestions(questionList);
clt.setTemplateNumber(safeLongToInt(checklistTemplateService.count() + 1));
cltdp.onClick(new Model<CheckListTemplate>(clt), target);
}
};
newLink.setVisible(adminPrivileges);
add(newLink);
filterStringPanel = new FilterStringPanel("filterStringPanel") {
@Override
public void onUpdateFilter(AjaxRequestTarget target) {