Skip to content
Snippets Groups Projects
Commit 393d1a5a authored by uhensler's avatar uhensler
Browse files

OO-5175: Reset data collection search

parent 0e4fcaf0
No related branches found
No related tags found
No related merge requests found
......@@ -82,6 +82,17 @@ public class DataCollectionDataModel extends DefaultFlexiTableDataSourceModel<Da
public DefaultFlexiTableDataSourceModel<DataCollectionRow> createCopyWithEmptyList() {
return new DataCollectionDataModel(getSourceDelegate(), getTableColumnModel(), translator);
}
@Override
public DataCollectionDataSource getSourceDelegate() {
return (DataCollectionDataSource)super.getSourceDelegate();
}
@Override
public void clear() {
super.clear();
getSourceDelegate().resetCount();
}
public enum DataCollectionCols implements FlexiSortableColumnDef {
key("data.collection.id"),
......
......@@ -46,6 +46,7 @@ public class DataCollectionDataSource implements FlexiTableDataSourceDelegate<Da
private final Translator translator;
private final QualityDataCollectionViewSearchParams defaultSearchParams;
private QualityDataCollectionViewSearchParams searchParams;
private Integer count;
@Autowired
private QualityService qualityService;
......@@ -63,11 +64,19 @@ public class DataCollectionDataSource implements FlexiTableDataSourceDelegate<Da
this.searchParams.setReportAccessIdentity(defaultSearchParams.getReportAccessIdentity());
this.searchParams.setLearnResourceManagerOrganisationRefs(defaultSearchParams.getLearnResourceManagerOrganisationRefs());
this.searchParams.setIgnoreReportAccessRelationRole(defaultSearchParams.isIgnoreReportAccessRelationRole());
count = null;
}
public void resetCount() {
count = null;
}
@Override
public int getRowCount() {
return qualityService.getDataCollectionCount(searchParams);
if (count == null) {
count = qualityService.getDataCollectionCount(searchParams);
}
return count.intValue();
}
@Override
......@@ -78,6 +87,7 @@ public class DataCollectionDataSource implements FlexiTableDataSourceDelegate<Da
@Override
public ResultInfos<DataCollectionRow> getRows(String query, List<FlexiTableFilter> filters,
List<String> condQueries, int firstResult, int maxResults, SortKey... orderBy) {
searchParams.setSearchString(query);
List<QualityDataCollectionView> dataCollections = qualityService.loadDataCollections(translator, searchParams,
firstResult, maxResults, orderBy);
......
......@@ -33,7 +33,6 @@ import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFle
import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiColumnModel;
import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel;
import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory;
import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableSearchEvent;
import org.olat.core.gui.components.form.flexible.impl.elements.table.SelectionEvent;
import org.olat.core.gui.components.link.Link;
import org.olat.core.gui.components.link.LinkFactory;
......@@ -107,6 +106,7 @@ public class DataCollectionListController extends FormBasicController implements
defaultSearchParams.setLearnResourceManagerOrganisationRefs(secCallback.getLearnResourceManagerOrganisationRefs());
defaultSearchParams.setIgnoreReportAccessRelationRole(!securityModule.isRelationRoleEnabled());
dataSource = new DataCollectionDataSource(getTranslator(), defaultSearchParams);
dataSource.setSearchParams(new QualityDataCollectionViewSearchParams());
searchCtrl = new DataCollectionSearchController(ureq, getWindowControl(), mainForm, defaultSearchParams);
searchCtrl.setEnabled(false);
......@@ -201,9 +201,6 @@ public class DataCollectionListController extends FormBasicController implements
if (CMD_EDIT.equals(cmd)) {
doEditDataCollection(ureq, row.getDataCollection());
}
} else if(event instanceof FlexiTableSearchEvent) {
FlexiTableSearchEvent ftse = (FlexiTableSearchEvent)event;
doSearch(ftse.getSearch());
}
super.formInnerEvent(ureq, source, event);
}
......@@ -227,7 +224,7 @@ public class DataCollectionListController extends FormBasicController implements
QualityDataCollection dataCollectionToDelete = dccEvent.getDataCollection();
doConfirmDeleteDataCollection(ureq, dataCollectionToDelete);
}
}else if (searchCtrl == source) {
} else if (searchCtrl == source) {
if (event instanceof SearchEvent) {
SearchEvent se = (SearchEvent)event;
doExtendedSearch(se);
......@@ -305,11 +302,6 @@ public class DataCollectionListController extends FormBasicController implements
tableEl.reset(true, false, true);
stackPanel.popUpToController(this);
}
private void doSearch(String search) {
QualityDataCollectionViewSearchParams params = new QualityDataCollectionViewSearchParams();
params.setSearchString(search);
doSearch(params);
}
private void doExtendedSearch(SearchEvent se) {
QualityDataCollectionViewSearchParams params = new QualityDataCollectionViewSearchParams();
......@@ -324,10 +316,7 @@ public class DataCollectionListController extends FormBasicController implements
params.setFormEntryRefs(se.getFormEntryRefs());
params.setTopicTypes(se.getTopicTypes());
params.setStatus(se.getStatus());
doSearch(params);
}
private void doSearch(QualityDataCollectionViewSearchParams params) {
dataSource.setSearchParams(params);
tableEl.reset(true, true, true);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment