made panel abstract

This commit is contained in:
fred-fri 2012-05-09 13:48:14 +09:00
parent 33596b79a2
commit d7ec0d5287
2 changed files with 18 additions and 3 deletions
src/main/java/se/su/dsv/scipro

@ -2,6 +2,9 @@ package se.su.dsv.scipro.admin.pages;
import org.apache.wicket.PageParameters;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.model.IModel;
import se.su.dsv.scipro.data.dataobjects.CheckListTemplate;
import se.su.dsv.scipro.datatables.checklist.CheckListTemplateDataPanel;
import se.su.dsv.scipro.security.auth.Authorization;
import se.su.dsv.scipro.security.auth.roles.Roles;
@ -21,7 +24,12 @@ public class AdminCheckListPage extends AbstractAdminPage {
super(pp);
// add(new AdminListCheckListTemplatePanel("listCLPanel", pp, CheckListRole.ADMIN));
add(new CheckListTemplateDataPanel("datapanel"));
add(new CheckListTemplateDataPanel("datapanel") {
@Override
public void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target) {
System.out.println(clicked.getObject().getCreator());
}
});
}

@ -22,11 +22,13 @@ import java.util.Iterator;
* Author: fred-fri
* Date: 5/2/12
*/
public class CheckListTemplateDataPanel extends Panel {
public abstract class CheckListTemplateDataPanel extends Panel {
@SpringBean
public ChecklistTemplateService checklistTemplateService;
CheckListTemplateDataPanel cltdp; //must be kept as a reference to self for abstract method cascading
DataTable<CheckListTemplate> table;
NavigationToolbar navigationToolbar;
FilterStringPanel filterStringPanel;
@ -34,9 +36,13 @@ public class CheckListTemplateDataPanel extends Panel {
AjaxDropDown<Integer> numberDropDown;
ChecklistTemplateProvider checklistTemplateProvider;
public abstract void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target);
public CheckListTemplateDataPanel(String id) {
super(id);
cltdp = this;
filterStringPanel = new FilterStringPanel("filterStringPanel") {
@Override
public void onUpdateFilter(AjaxRequestTarget target) {
@ -66,7 +72,8 @@ public class CheckListTemplateDataPanel extends Panel {
columns[0] = new ClickableTitleColumn<CheckListTemplate>(Model.of("Name"), "name", "name") {
@Override
protected void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target) {
System.out.println(clicked.getObject().getName());
// System.out.println(clicked.getObject().getName());
cltdp.onClick(clicked, target);
}
};
columns[1] = new PropertyColumn<CheckListTemplate>(Model.of("Creator"), "creator", "creator");