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 672796aa5bdd7a2f83fba56c5161bda23671b827..aab23371eb1120ba9edf9ff3f635b652919ac29f 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 74fa37c453d6b25addb38a2dc5eb1f41af3d0822..403ee43568bad2d0a026332649b5f2cfbd42bac4 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 e1e2cac0bb737008ea5636a83806060106c381de..1267b2b3bd95acbd3afdd42b3f242b59874f0b5d 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 a016af286f00a579c74df5edd906bd74434a83c1..116f37479ff77c70a7e81cac8e15ba0e9d9eaafd 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);