From 0da4adc0de2db4cbb9b5dc8bc183ab68413fbc86 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Tue, 27 May 2014 11:11:19 +0200 Subject: [PATCH] OO-984: pe-sort automatic, segment view stateless --- .../form/flexible/elements/FlexiTableElement.java | 2 ++ .../impl/elements/table/FlexiTableElementImpl.java | 2 +- .../ui/list/OverviewRepositoryListController.java | 11 +++++++++++ .../ui/list/RepositoryEntryListController.java | 4 +++- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java b/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java index 672796aa5bd..aab23371eb1 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java @@ -243,5 +243,7 @@ public interface FlexiTableElement extends FormItem { public void setPage(int page); + public void sort(String sortKey, boolean asc); + public void reloadData(); } \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java index 74fa37c453d..403ee43568b 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java @@ -660,7 +660,7 @@ public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableEle } } - protected void sort(String sortKey, boolean asc) { + public void sort(String sortKey, boolean asc) { SortKey key = new SortKey(sortKey, asc); orderBy = new SortKey[]{ key }; if(dataModel instanceof SortableFlexiTableDataModel) { diff --git a/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java b/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java index e1e2cac0bb7..1267b2b3bd9 100644 --- a/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java +++ b/src/main/java/org/olat/repository/ui/list/OverviewRepositoryListController.java @@ -134,6 +134,7 @@ public class OverviewRepositoryListController extends BasicController implements protected void event(UserRequest ureq, Component source, Event event) { if(source == segmentView) { if(event instanceof SegmentViewEvent) { + cleanUp(); SegmentViewEvent sve = (SegmentViewEvent)event; String segmentCName = sve.getComponentName(); Component clickedLink = mainVC.getComponent(segmentCName); @@ -148,6 +149,16 @@ public class OverviewRepositoryListController extends BasicController implements } } + private void cleanUp() { + removeAsListenerAndDispose(catalogCtrl); + removeAsListenerAndDispose(markedCtrl); + removeAsListenerAndDispose(myCoursesCtrl); + catalogCtrl = null; + markedCtrl = null; + myCoursesCtrl = null; + + } + private RepositoryEntryListController doOpenMark(UserRequest ureq) { if(markedCtrl == null) { SearchMyRepositoryEntryViewParams searchParams diff --git a/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java b/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java index a016af286f0..116f37479ff 100644 --- a/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java +++ b/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java @@ -107,6 +107,8 @@ public class RepositoryEntryListController extends FormBasicController initForm(ureq); initFilters(); initSorters(); + // + tableEl.sort(OrderBy.automatic.name(), true); } public boolean isEmpty() { @@ -166,7 +168,7 @@ public class RepositoryEntryListController extends FormBasicController columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.comments.i18nKey(), Cols.comments.ordinal())); model = new RepositoryEntryDataModel(dataSource, columnsModel); - tableEl = uifactory.addTableElement(ureq, getWindowControl(), "table", model, 20, true, getTranslator(), formLayout); + tableEl = uifactory.addTableElement(ureq, getWindowControl(), "table", model, 20, false, getTranslator(), formLayout); tableEl.setAvailableRendererTypes(FlexiTableRendererType.custom, FlexiTableRendererType.classic); tableEl.setRendererType(FlexiTableRendererType.custom); tableEl.setSearchEnabled(true); -- GitLab