CCM NG: Possible fix for missing items in FolderBrowser (see #2739).

git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@5188 8810af33-2d31-482b-a856-94f89814c4df
pull/2/head
jensp 2018-01-10 16:56:23 +00:00
parent b77f52e9b6
commit f2a04ab609
4 changed files with 39 additions and 31 deletions

View File

@ -105,7 +105,7 @@ public class FolderBrowser extends Table {
private StringParameter atozFilterParameter = null;
private StringParameter filterParameter = null;
private FolderManipulator folderManipulator;
private Paginator paginator;
// private Paginator paginator;
// private FolderManipulator.FilterForm filterForm;
private long folderSize;
@ -227,13 +227,13 @@ public class FolderBrowser extends Table {
return folderSize;
}
protected Paginator getPaginator() {
return paginator;
}
protected void setPaginator(final Paginator paginator) {
this.paginator = paginator;
}
// protected Paginator getPaginator() {
// return paginator;
// }
//
// protected void setPaginator(final Paginator paginator) {
// this.paginator = paginator;
// }
protected String getFilter(final PageState state) {
return (String) state.getValue(filterParameter);

View File

@ -291,6 +291,7 @@ public class FolderBrowserController {
final String orderDirection,
final int firstResult,
final int maxResults) {
final List<Folder> subFolders = findSubFolders(folder,
filterTerm,
orderBy,
@ -302,9 +303,9 @@ public class FolderBrowserController {
.map(subFolder -> buildRow(subFolder))
.collect(Collectors.toList());
if (subFolders.size() > maxResults) {
return subFolderRows;
} else {
// if (subFolders.size() >= maxResults) {
// return subFolderRows;
// } else {
final int maxItems = maxResults - subFolders.size();
final int firstItem = firstResult - subFolders.size();
@ -323,7 +324,7 @@ public class FolderBrowserController {
rows.addAll(itemRows);
return rows;
}
// }
}
/**

View File

@ -60,7 +60,7 @@ class FolderBrowserTableModelBuilder
return Table.EMPTY_MODEL;
} else {
folderBrowser.getRowSelectionModel().clearSelection(state);
final Paginator paginator = folderBrowser.getPaginator();
// final Paginator paginator = folderBrowser.getPaginator();
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
final FolderBrowserController controller = cdiUtil
.findBean(FolderBrowserController.class);
@ -78,8 +78,8 @@ class FolderBrowserTableModelBuilder
orderDirection = folderBrowser.getSortDirection(state);
}
final String atozFilter = folderBrowser.getAtoZfilter(state);
final int first = paginator.getFirst(state);
final int pageSize = paginator.getPageSize(state);
// final int first = paginator.getFirst(state);
// final int pageSize = paginator.getPageSize(state);
final String filterTerm;
if (filter != null && !filter.trim().isEmpty()) {
@ -96,16 +96,23 @@ class FolderBrowserTableModelBuilder
if (filterTerm == null) {
rows = controller.getObjectRows(folder,
orderBy,
orderDirection,
first - 1,
pageSize);
orderDirection);
// rows = controller.getObjectRows(folder,
// orderBy,
// orderDirection,
// first - 1,
// pageSize);
} else {
rows = controller.getObjectRows(folder,
filterTerm,
orderBy,
orderDirection,
first - 1,
pageSize);
orderDirection);
// rows = controller.getObjectRows(folder,
// filterTerm,
// orderBy,
// orderDirection,
// first - 1,
// pageSize);
}
LOGGER.debug("Retrieve table rows in {} ms.",

View File

@ -883,7 +883,7 @@ public class FolderManipulator extends SimpleContainer implements
private static final String ITEM_VIEW = "itemView";
private final FolderBrowser folderBrowser;
private final Paginator paginator;
// private final Paginator paginator;
private final OptionGroup checkboxGroup;
private final SingleSelect actionSelect;
private final Submit submit;
@ -904,11 +904,11 @@ public class FolderManipulator extends SimpleContainer implements
folderBrowser.setFilterParameter(filterParam);
// folderBrowser.setFilterForm(filterForm);
folderBrowser.setFolderManipulator(FolderManipulator.this);
paginator = new Paginator(
new FolderBrowserPaginationModelBuilder(folderBrowser),
CMSConfig.getConfig().getFolderBrowseListSize());
folderBrowser.setPaginator(paginator);
panel.add(paginator);
// paginator = new Paginator(
// new FolderBrowserPaginationModelBuilder(folderBrowser),
// CMSConfig.getConfig().getFolderBrowseListSize());
// folderBrowser.setPaginator(paginator);
// panel.add(paginator);
panel.add(folderBrowser);
LOGGER.debug("Adding filter form...");
@ -966,16 +966,16 @@ public class FolderManipulator extends SimpleContainer implements
return folderBrowser;
}
public Paginator getPaginator() {
return paginator;
}
// public Paginator getPaginator() {
// return paginator;
// }
@Override
public void reset(final PageState state) {
checkboxGroup.setValue(state, null);
actionSelect.setValue(state, null);
paginator.reset(state);
// paginator.reset(state);
//state.setValue(m_aToZfilter, null);
state.setValue(filterParam, null);
filterForm.getFilterField().setValue(state, null);