Removed the pagination component + removed all global variables.

This commit is contained in:
Tom Vahlman 2012-03-30 14:42:06 +02:00
parent 272ab407d1
commit 4e2ec940c0
2 changed files with 55 additions and 73 deletions
src/main/java/se/su/dsv/scipro/admin/panels/match

@ -34,7 +34,6 @@
</tr>
</tfoot>
</table>
<div wicket:id="nav"></div>
</wicket:panel>
</body>
</html>

@ -9,7 +9,6 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.navigation.paging.PagingNavigator;
import org.apache.wicket.markup.html.panel.EmptyPanel;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.Item;
@ -28,115 +27,101 @@ import se.su.dsv.scipro.match.dataobject.Keyword;
public class AdminSupervisorKeywordPanel extends Panel {
private static final long serialVersionUID = 1L;
@SpringBean
private static final long serialVersionUID = -6390936928562430893L;
@SpringBean
private SupervisorDao supervisorDao;
private SupervisorDaoParams params;
private Dialog dialog;
private WebMarkupContainer tableContainer;
private QueryableDataProvider<Employee, SupervisorDaoParams> provider;
private DataView<Employee> dataView;
private TextField<String> supervisorField;
private PagingNavigator nav;
public AdminSupervisorKeywordPanel(String str) {
super(str);
setUpDialog();
setUpTable();
setUpFiltering();
super(str);
Dialog dialog = new Dialog("detailsDialog");
setUpDialog(dialog);
WebMarkupContainer tableContainer = new WebMarkupContainer("table");
SupervisorDaoParams params = new SupervisorDaoParams();
params.setSortOn("user.lastName", Sort.ASCENDING);
TextField<String> supervisorField = new TextField<String>("supervisorField", new Model<String>());
setUpTable(dialog, tableContainer, params);
setUpFiltering(tableContainer, params, supervisorField);
}
private void setUpFiltering() {
FilterForm form = new FilterForm("filterForm");
private void setUpFiltering(WebMarkupContainer tableContainer, SupervisorDaoParams params, TextField<String> supervisorField) {
FilterForm form = new FilterForm(tableContainer, params, supervisorField);
add(form);
}
private void setUpDialog() {
dialog = new Dialog("detailsDialog");
private void setUpDialog(Dialog dialog) {
dialog.setModal(true);
dialog.setAutoOpen(false);
dialog.setWidth(500);
dialog.setHeight(400);
dialog.setTitle("Supervisor details");
dialog.add(new EmptyPanel("dialogContent"));
dialog.setOutputMarkupId(true);
add(dialog);
add(dialog.setOutputMarkupId(true));
}
private void setUpTable() {
tableContainer = new WebMarkupContainer("table");
tableContainer.setOutputMarkupId(true);
params = new SupervisorDaoParams();
params.setSortOn("user.lastName", Sort.ASCENDING);
provider = new QueryableDataProvider<Employee, SupervisorDaoParams>(supervisorDao, params);
dataView = new DataView<Employee>("supervisorList", provider, 15) {
private void setUpTable(final Dialog dialog, final WebMarkupContainer tableContainer, final SupervisorDaoParams params) {
QueryableDataProvider<Employee, SupervisorDaoParams> provider = new QueryableDataProvider<Employee, SupervisorDaoParams>(supervisorDao, params);
DataView<Employee> dataView = new DataView<Employee>("supervisorList", provider, 1000) {
private static final long serialVersionUID = 3572766096237883198L;
private static final long serialVersionUID = 3572766096237883198L;
@Override
protected void populateItem(Item<Employee> item) {
final Employee supervisor = item.getModelObject();
List<Keyword> areaKeywords = supervisor.getKeywords().getFiltered(KeywordTypeDao.TYPE.RESEARCH_AREA.toDbName());
List<Keyword> regularKeywords = supervisor.getKeywords().getFiltered(KeywordTypeDao.TYPE.REGULAR.toDbName());
final AjaxLink<Void> detailsLink = new AjaxLink<Void>("detailsLink") {
@Override
protected void populateItem(Item<Employee> item) {
final Employee supervisor = item.getModelObject();
List<Keyword> areaKeywords = supervisor.getKeywords().getFiltered(KeywordTypeDao.TYPE.RESEARCH_AREA.toDbName());
List<Keyword> regularKeywords = supervisor.getKeywords().getFiltered(KeywordTypeDao.TYPE.REGULAR.toDbName());
private static final long serialVersionUID = 8902222410746133732L;
final AjaxLink<Void> detailsLink = new AjaxLink<Void>("detailsLink") {
@Override
public void onClick(AjaxRequestTarget target) {
target.addComponent(dialog);
dialog.replace(new SupervisorKeywordDetailsPanel("dialogContent", supervisor) {
private static final long serialVersionUID = 8902222410746133732L;
private static final long serialVersionUID = -7272997720134543477L;
@Override
public void onClick(AjaxRequestTarget target) {
target.addComponent(dialog);
dialog.replace(new SupervisorKeywordDetailsPanel("dialogContent", supervisor) {
@Override
public void onCloseButton(AjaxRequestTarget target) {
dialog.close(target);
}
});
dialog.open(target);
}
};
detailsLink.add(new Label("supervisorName", supervisor.getNameAsString()));
item.add(detailsLink);
item.add(new Label("numberOfAreas", ""+areaKeywords.size()));
item.add(new Label("numberOfRegulars", ""+regularKeywords.size()));
}
};
private static final long serialVersionUID = -7272997720134543477L;
@Override
public void onCloseButton(AjaxRequestTarget target) {
dialog.close(target);
}
});
dialog.open(target);
}
};
detailsLink.add(new Label("supervisorName", supervisor.getNameAsString()));
item.add(detailsLink);
item.add(new Label("numberOfAreas", "" + areaKeywords.size()));
item.add(new Label("numberOfRegulars", "" + regularKeywords.size()));
}
};
final AjaxLink<Void> nameSortLink = new AjaxLink<Void>("nameSortLink") {
private static final long serialVersionUID = -6459164267551936706L;
@Override
public void onClick(AjaxRequestTarget target) {
if(params.getDirection().equals(Sort.ASCENDING))
if(params.getDirection().equals(Sort.ASCENDING)) {
params.setSortOn("user.lastName", Sort.DESCENDING);
else
} else {
params.setSortOn("user.lastName", Sort.ASCENDING);
}
target.addComponent(tableContainer);
}
};
tableContainer.add(nameSortLink);
tableContainer.add(dataView);
nav = new PagingNavigator("nav", dataView);
nav.setOutputMarkupId(true);
add(nav);
add(tableContainer);
add(tableContainer.setOutputMarkupId(true));
}
private class FilterForm extends Form<Void>{
private class FilterForm extends Form<Void> {
private static final long serialVersionUID = 3488715734113880308L;
public FilterForm(String id) {
super(id);
supervisorField = new TextField<String>("supervisorField", new Model<String>());
public FilterForm(final WebMarkupContainer tableContainer, final SupervisorDaoParams params, final TextField<String> supervisorField) {
super("filterForm");
AjaxButton filterButton = new AjaxButton("filterButton") {
private static final long serialVersionUID = -8216928567709372986L;
@ -145,10 +130,8 @@ public class AdminSupervisorKeywordPanel extends Panel {
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
params.setNameLike(supervisorField.getModelObject());
target.addComponent(tableContainer);
target.addComponent(nav);
}
};
add(supervisorField);
add(filterButton);
}