Refactor the statistics tab for sorting on name with spring data api.
This commit is contained in:
parent
13428ff5ef
commit
4fcf67bb61
@ -46,7 +46,6 @@ public class AdminSupervisorKeywordPanel extends Panel {
|
||||
TextField<String> supervisorField = new TextField<String>("supervisorField", new Model<String>());
|
||||
setUpTable(dialog, tableContainer, params);
|
||||
setUpFiltering(tableContainer, params, supervisorField);
|
||||
//addSortLink("numberOfRegulars", "keywords.size()", tableContainer, params);
|
||||
}
|
||||
|
||||
private void setUpFiltering(WebMarkupContainer tableContainer, SupervisorDaoParams params, TextField<String> supervisorField) {
|
||||
@ -64,38 +63,32 @@ public class AdminSupervisorKeywordPanel extends Panel {
|
||||
add(dialog.setOutputMarkupId(true));
|
||||
}
|
||||
|
||||
private void addSortLink(String markup, final String sortField, final WebMarkupContainer allContainer, final SupervisorDaoParams params) {
|
||||
final AjaxLink<Void> sortLink = new AjaxLink<Void>(markup + "SortLink") {
|
||||
|
||||
private static final long serialVersionUID = -8463105615994034854L;
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
if (params.getDirection().equals(Sort.ASCENDING)) {
|
||||
params.setSortOn(sortField, Sort.DESCENDING);
|
||||
} else {
|
||||
params.setSortOn(sortField, Sort.ASCENDING);
|
||||
}
|
||||
target.addComponent(allContainer);
|
||||
}
|
||||
};
|
||||
allContainer.add(sortLink);
|
||||
private org.springframework.data.domain.Sort getSortOrder(final StringBuffer nameSortDirection, final String orderBy) {
|
||||
org.springframework.data.domain.Sort sortOrder;
|
||||
if(nameSortDirection.toString().equals("ASC")) {
|
||||
sortOrder = new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.DESC, orderBy);
|
||||
nameSortDirection.delete(0, nameSortDirection.length()-1);
|
||||
nameSortDirection.append("DESC");
|
||||
} else {
|
||||
sortOrder = new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.ASC, orderBy);
|
||||
nameSortDirection.delete(0, nameSortDirection.length()-1);
|
||||
nameSortDirection.append("ASC");
|
||||
}
|
||||
return sortOrder;
|
||||
}
|
||||
|
||||
|
||||
private void setUpTable(final Dialog dialog, final WebMarkupContainer tableContainer, final SupervisorDaoParams params) {
|
||||
final StringBuffer definedSortOrder = new StringBuffer();
|
||||
definedSortOrder.append("user.firstName");
|
||||
final StringBuffer definedSortDirection = new StringBuffer();
|
||||
definedSortDirection.append("ASC");
|
||||
|
||||
|
||||
final StringBuffer nameSortDirection = new StringBuffer();
|
||||
nameSortDirection.append("ASC");
|
||||
final StringBuffer keywordsSortDirection = new StringBuffer();
|
||||
keywordsSortDirection.append("ASC");
|
||||
|
||||
final ListView<Employee> dataView = new ListView<Employee>("supervisorList", new LoadableDetachableModel<List<Employee>>() {
|
||||
private static final long serialVersionUID = -2395796971679213814L;
|
||||
|
||||
@Override
|
||||
protected List<Employee> load() {
|
||||
return supervisorService.findAllEmployees(new org.springframework.data.domain.Sort(definedSortOrder.toString()));
|
||||
return supervisorService.findAllEmployees(new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.ASC, "user.lastName"));
|
||||
}
|
||||
}) {
|
||||
|
||||
@ -115,9 +108,7 @@ public class AdminSupervisorKeywordPanel extends Panel {
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
target.addComponent(dialog);
|
||||
dialog.replace(new SupervisorKeywordDetailsPanel("dialogContent", supervisor) {
|
||||
|
||||
private static final long serialVersionUID = -7272997720134543477L;
|
||||
|
||||
@Override
|
||||
public void onCloseButton(AjaxRequestTarget target) {
|
||||
dialog.close(target);
|
||||
@ -137,17 +128,7 @@ public class AdminSupervisorKeywordPanel extends Panel {
|
||||
private static final long serialVersionUID = -6459164267551936706L;
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
org.springframework.data.domain.Sort sortOrder;
|
||||
if(definedSortDirection.toString().equals("ASC")) {
|
||||
sortOrder = new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.DESC, "user.lastName");
|
||||
definedSortDirection.delete(0, definedSortDirection.length()-1);
|
||||
definedSortDirection.append("DESC");
|
||||
} else {
|
||||
sortOrder = new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.ASC, "user.lastName");
|
||||
definedSortDirection.delete(0, definedSortDirection.length()-1);
|
||||
definedSortDirection.append("ASC");
|
||||
}
|
||||
dataView.setDefaultModelObject(supervisorService.findAllEmployees(sortOrder));
|
||||
dataView.setDefaultModelObject(supervisorService.findAllEmployees(getSortOrder(nameSortDirection,"user.lastName")));
|
||||
target.addComponent(tableContainer);
|
||||
}
|
||||
};
|
||||
@ -159,11 +140,7 @@ public class AdminSupervisorKeywordPanel extends Panel {
|
||||
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
if(params.getDirection().equals(Sort.ASCENDING)) {
|
||||
params.setSortOn("keywords.size", Sort.DESCENDING);
|
||||
} else {
|
||||
params.setSortOn("keywords.size", Sort.ASCENDING);
|
||||
}
|
||||
dataView.setDefaultModelObject(supervisorService.findAllEmployees(getSortOrder(keywordsSortDirection,"keywords.getCollection().size")));
|
||||
target.addComponent(tableContainer);
|
||||
}
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user