added filtering to panel, but there seems to be a problem with the dao implementation

This commit is contained in:
Fredrik Friis 2012-02-14 12:21:00 +09:00
parent 25df883fac
commit 5ef595ca0b
4 changed files with 39 additions and 2 deletions

@ -11,6 +11,7 @@
<div wicket:id="filterStringPanel"></div>
<label>Created between: </label>
<div wicket:id="filterDatesPanel"></div>
<div wicket:id="filterProjectClassPanel"></div>
</div>
<div><button wicket:id="newLink">Create new project</button></div>

@ -24,6 +24,7 @@ import se.su.dsv.scipro.data.dao.interfaces.ProjectDao;
import se.su.dsv.scipro.data.dataobjects.Project;
import se.su.dsv.scipro.dataproviders.NewProjectDataProvider;
import se.su.dsv.scipro.reusable.DatesPanel;
import se.su.dsv.scipro.reusable.FilterProjectClassPanel;
import se.su.dsv.scipro.reusable.FilterStringPanel;
public class ProjectManagementPanel extends Panel {
@ -169,6 +170,17 @@ public class ProjectManagementPanel extends Panel {
}
});
settingsContainer.add(new FilterProjectClassPanel("filterProjectClassPanel"){
private static final long serialVersionUID = 1L;
@Override
public void onUpdateFilter(AjaxRequestTarget target) {
params.setProjectClasses(getSelectedProjectClasses());
ajaxRefresh(target);
}
});
}
private void sortSetup(){

@ -4,7 +4,13 @@
<body>
<wicket:panel>
<form wicket:id="form">
<div><span wicket:id="name"></span> <input wicket:id="check" type="checkbox"/></div>
<div wicket:id="list">
<div>
<span wicket:id="name"></span> <input wicket:id="check"
type="checkbox" />
</div>
</div>
</form>
</wicket:panel>
</body>

@ -3,6 +3,8 @@ package se.su.dsv.scipro.reusable;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
@ -57,7 +59,9 @@ public abstract class FilterProjectClassPanel extends Panel{
wrapperCollection.add(new Wrapper(pc));
}
ListView<Wrapper> listView = new ListView<Wrapper>(id, wrapperCollection){
selectedProjectClasses = new HashSet<ProjectClass>();
ListView<Wrapper> listView = new ListView<Wrapper>("list", wrapperCollection){
private static final long serialVersionUID = 1L;
@Override
protected void populateItem(ListItem<Wrapper> item) {
@ -68,10 +72,24 @@ public abstract class FilterProjectClassPanel extends Panel{
@Override
protected void onUpdate(AjaxRequestTarget target) {
if (getModelObject() == true){
System.out.println("adding" + wrapper.getProjectClass().getName());
selectedProjectClasses.add(wrapper.getProjectClass());
Iterator<ProjectClass> it = selectedProjectClasses.iterator();
while (it.hasNext()) {
System.out.println(it.next().getName());
}
}
else if (getModelObject() == false){
System.out.println("removing" + wrapper.getProjectClass().getName());
selectedProjectClasses.remove(wrapper.getProjectClass());
Iterator<ProjectClass> it = selectedProjectClasses.iterator();
while (it.hasNext()) {
System.out.println(it.next().getName());
}
}
}
});