Merge branch 'keywordsWithSupervisorDetails' into develop

This commit is contained in:
Emil Siverhall 2012-02-28 10:28:58 +01:00
commit 7f134b25a1
3 changed files with 53 additions and 48 deletions
src/main/java/se/su/dsv/scipro/admin/panels/match

@ -3,7 +3,6 @@
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<body> <body>
<wicket:panel> <wicket:panel>
<form wicket:id="keywordDetails">
<table wicket:id="table" class="rounded-corner"> <table wicket:id="table" class="rounded-corner">
<thead> <thead>
<tr> <tr>
@ -23,9 +22,8 @@
</tr> </tr>
</tfoot> </tfoot>
</table> </table>
<div wicket:id="navigator"></div> <div class="append-bottom" wicket:id="navigator"></div>
<div class="prepend-top"><input wicket:id="closeButton" type="submit" value="Close" /></div> <button wicket:id="closeButton">Close</button>
</form>
</wicket:panel> </wicket:panel>
</body> </body>
</html> </html>

@ -2,11 +2,11 @@ package se.su.dsv.scipro.admin.panels.match;
import java.util.List; import java.util.List;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.ajax.markup.html.navigation.paging.AjaxPagingNavigator; import org.apache.wicket.ajax.markup.html.navigation.paging.AjaxPagingNavigator;
import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.PageableListView; import org.apache.wicket.markup.html.list.PageableListView;
import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.markup.html.panel.Panel;
@ -16,7 +16,7 @@ import se.su.dsv.scipro.data.dataobjects.Employee;
import se.su.dsv.scipro.match.dao.interfaces.SupervisorDao; import se.su.dsv.scipro.match.dao.interfaces.SupervisorDao;
import se.su.dsv.scipro.match.dataobject.Keyword; import se.su.dsv.scipro.match.dataobject.Keyword;
public class KeywordDetailsPanel extends Panel { public abstract class KeywordDetailsPanel extends Panel {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@SpringBean @SpringBean
@ -24,45 +24,44 @@ public class KeywordDetailsPanel extends Panel {
public KeywordDetailsPanel(String str, Keyword keyword) { public KeywordDetailsPanel(String str, Keyword keyword) {
super(str); super(str);
add(new KeywordDetailsForm("keywordDetails", keyword));
List<Employee> listOfSupervisors = supervisorDao.getSupervisorsByKeyword(keyword);
Label emptyLabel = new Label("emptyLabel","No supervisors attached to the selected keyword");
Label totalNumberLabel = new Label("totalLabel", "Total: " + listOfSupervisors.size());
emptyLabel.setVisible(listOfSupervisors.isEmpty());
WebMarkupContainer container = new WebMarkupContainer("table");
container.setOutputMarkupId(true);
PageableListView<Employee> listView = new PageableListView<Employee>("listView", listOfSupervisors, 12) {
private static final long serialVersionUID = 2191181676642843499L;
@Override
protected void populateItem(ListItem<Employee> item) {
Employee e = item.getModelObject();
item.add(new Label("name", e.getNameAsString()));
}
};
container.add(listView);
container.add(totalNumberLabel);
container.add(emptyLabel);
AjaxPagingNavigator navigator = new AjaxPagingNavigator("navigator", listView);
navigator.setVisible(!listOfSupervisors.isEmpty());
add(navigator);
add(container);
add(new AjaxLink<Void>("closeButton") {
private static final long serialVersionUID = -8473625184915176333L;
@Override
public void onClick(AjaxRequestTarget target) {
onCloseButton(target);
}
});
} }
private class KeywordDetailsForm extends Form<Keyword>{ public abstract void onCloseButton(AjaxRequestTarget target);
}
private static final long serialVersionUID = 1L;
public KeywordDetailsForm(String id, final Keyword keyword) {
super(id);
this.setOutputMarkupId(true);
List<Employee> listOfSupervisors = supervisorDao.getSupervisorsByKeyword(keyword);
Label emptyLabel = new Label("emptyLabel","No supervisors attached to the selected keyword");
Label totalNumberLabel = new Label("totalLabel", "Total: " + listOfSupervisors.size());
emptyLabel.setVisible(listOfSupervisors.isEmpty());
WebMarkupContainer container = new WebMarkupContainer("table");
container.setOutputMarkupId(true);
PageableListView<Employee> listView = new PageableListView<Employee>("listView", listOfSupervisors, 12) {
private static final long serialVersionUID = 2191181676642843499L;
@Override
protected void populateItem(ListItem<Employee> item) {
Employee e = item.getModelObject();
item.add(new Label("name", e.getNameAsString()));
}
};
container.add(listView);
container.add(totalNumberLabel);
container.add(emptyLabel);
AjaxPagingNavigator navigator = new AjaxPagingNavigator("navigator", listView);
navigator.setVisible(!listOfSupervisors.isEmpty());
add(navigator);
add(container);
Button closeButton = new Button("closeButton");
add(closeButton);
}
}
}

@ -122,7 +122,15 @@ public class ManageKeywordPanel extends Panel {
dialog.setWidth(500); dialog.setWidth(500);
dialog.setHeight(580); dialog.setHeight(580);
dialog.setTitle(keyword.getKeyword()); dialog.setTitle(keyword.getKeyword());
dialog.replace(new KeywordDetailsPanel("dialogContent", keyword)); dialog.replace(new KeywordDetailsPanel("dialogContent", keyword) {
private static final long serialVersionUID = 8439790560385286282L;
@Override
public void onCloseButton(AjaxRequestTarget target) {
dialog.close(target);
}
});
dialog.open(target); dialog.open(target);
} }