diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableFilter.java b/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableFilter.java index 2e8a30a4275e2779da9f2210487c96c0793e36c0..33321c09c662231a709b9c478d8bfa8940e7fbae 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableFilter.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableFilter.java @@ -35,6 +35,7 @@ public class FlexiTableFilter { private final FlexiTableFilterIconRenderer renderer; private boolean selected; + private boolean showAll = false; public FlexiTableFilter(String label, String filter) { this.label = label; @@ -43,6 +44,14 @@ public class FlexiTableFilter { this.iconLeftCSS = null; } + public FlexiTableFilter(String label, String filter, boolean showAll) { + this.label = label; + this.filter = filter; + this.showAll = showAll; + this.renderer = null; + this.iconLeftCSS = null; + } + public FlexiTableFilter(String label, String filter, String iconLeftCSS) { this.label = label; this.filter = filter; @@ -65,6 +74,14 @@ public class FlexiTableFilter { return filter; } + public boolean isShowAll() { + return showAll; + } + + public void setShowAll(boolean showAll) { + this.showAll = showAll; + } + public String getIconLeftCSS() { return iconLeftCSS; } diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java index 9eadba7b8d42e73e4c6b3619dfbf37a56a10f208..138f7f3e12fdb5a0f8afae220bda51423d6d4f08 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java @@ -271,7 +271,7 @@ public abstract class AbstractFlexiTableRenderer extends DefaultComponentRendere filter.getIconRenderer().render(sb, filter, ftE.getComponent(), ftE.getTranslator()); } sb.append(filter.getLabel()).append("</a></li>"); - if(filter.isSelected()) { + if(filter.isSelected() && !filter.isShowAll()) { selected = filter.getLabel(); } } diff --git a/src/main/java/org/olat/course/assessment/ui/tool/IdentityAssessmentOverviewController.java b/src/main/java/org/olat/course/assessment/ui/tool/IdentityAssessmentOverviewController.java index 78af81dae1f07e2f6acccb8f5d2d0a835cf563d2..98791c5071eed6a5477bd64a33b6bfd8bd18441f 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/IdentityAssessmentOverviewController.java +++ b/src/main/java/org/olat/course/assessment/ui/tool/IdentityAssessmentOverviewController.java @@ -246,8 +246,8 @@ public class IdentityAssessmentOverviewController extends FormBasicController im if (allowTableFiltering) { List<FlexiTableFilter> filters = new ArrayList<>(); - //filters.add(new FlexiTableFilter(translate("nodesoverview.filter.discardEmptyNodes"), "discardEmptyNodes")); - //filters.add(new FlexiTableFilter(translate("nodesoverview.filter.showEmptyNodes"), "showEmptyNodes")); + filters.add(new FlexiTableFilter(translate("filter.showAll"), "showAll", true)); + filters.add(FlexiTableFilter.SPACER); filters.add(new FlexiTableFilter(translate("filter.passed"), "passed")); filters.add(new FlexiTableFilter(translate("filter.failed"), "failed")); filters.add(new FlexiTableFilter(translate("filter.inProgress"), "inProgress")); diff --git a/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java b/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java index e46af6ad686fb12c078d3bd43e16c9610087ab09..05b943d9d0897652eda6ce82f7365c4a0067434e 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java +++ b/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java @@ -247,6 +247,8 @@ public class IdentityListCourseNodeController extends FormBasicController implem tableEl.setMultiSelect(!coachCourseEnv.isCourseReadOnly()); List<FlexiTableFilter> filters = new ArrayList<>(); + filters.add(new FlexiTableFilter(translate("filter.showAll"), "showAll", true)); + filters.add(FlexiTableFilter.SPACER); filters.add(new FlexiTableFilter(translate("filter.passed"), "passed")); filters.add(new FlexiTableFilter(translate("filter.failed"), "failed")); filters.add(new FlexiTableFilter(translate("filter.inProgress"), "inProgress")); diff --git a/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeTableModel.java b/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeTableModel.java index 30abb47649d3f83263d2e1cca114e2ef98935097..fd99968c973909dd03ce759b98aef2d49f0d1deb 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeTableModel.java +++ b/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeTableModel.java @@ -83,6 +83,8 @@ public class IdentityListCourseNodeTableModel extends DefaultFlexiTableDataModel filteredRows.add(row); } } + } else { + filteredRows.addAll(backups); } super.setObjects(filteredRows); } else { diff --git a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_de.properties index 14f58330ada4e4f723a2581b9333c983e2a276b0..5c45c27e78f84d33eee78aa898102e9f273b35f7 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_de.properties @@ -29,6 +29,7 @@ filter.groups=$org.olat.modules.assessment.ui\:filter.groups filter.inProgress=$org.olat.modules.assessment.ui\:filter.inProgress filter.inReview=$org.olat.modules.assessment.ui\:filter.inReview filter.passed=$org.olat.modules.assessment.ui\:filter.passed +filter.showAll=Alle anzeigen generate.certificate=$org.olat.course.certificate.ui\:generate.certificate groups=Gruppen msg.certificate.pending=$org.olat.course.certificate.ui\:msg.certificate.pending diff --git a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_en.properties index 02c21c6a2638c03b93f2f564ae6623c2a2340107..e847512e2aad9747966ceb5849d6bfe5e0063538 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/course/assessment/ui/tool/_i18n/LocalStrings_en.properties @@ -29,6 +29,7 @@ filter.groups=$org.olat.modules.assessment.ui\:filter.groups filter.inProgress=$org.olat.modules.assessment.ui\:filter.inProgress filter.inReview=$org.olat.modules.assessment.ui\:filter.inReview filter.passed=$org.olat.modules.assessment.ui\:filter.passed +filter.showAll=Show all generate.certificate=$org.olat.course.certificate.ui\:generate.certificate groups=Groups msg.certificate.pending=$org.olat.course.certificate.ui\:msg.certificate.pending 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 5ed247e5ba8916cd6702572c505c8942dd61a2f1..183b0f4d72669d336b4e6bf87f2b369c3131cee0 100644 --- a/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java +++ b/src/main/java/org/olat/repository/ui/list/RepositoryEntryListController.java @@ -225,7 +225,7 @@ public class RepositoryEntryListController extends FormBasicController private void initFilters(FlexiTableElement tableElement) { List<FlexiTableFilter> filters = new ArrayList<>(16); - filters.add(new FlexiTableFilter(translate("filter.show.all"), Filter.showAll.name())); + filters.add(new FlexiTableFilter(translate("filter.show.all"), Filter.showAll.name(), true)); filters.add(FlexiTableFilter.SPACER); filters.add(new FlexiTableFilter(translate("filter.current.courses"), Filter.currentCourses.name())); filters.add(new FlexiTableFilter(translate("filter.upcoming.courses"), Filter.upcomingCourses.name()));