diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/TreeNodeFlexiCellRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/TreeNodeFlexiCellRenderer.java index e670a5ba5fd67d5a494d50d804ce553d322052d8..57e4c5c072f32b7d70545011f16845b178e18a68 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/TreeNodeFlexiCellRenderer.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/TreeNodeFlexiCellRenderer.java @@ -19,6 +19,9 @@ */ package org.olat.core.gui.components.form.flexible.impl.elements.table; +import java.util.List; + +import org.olat.core.gui.components.form.flexible.elements.FlexiTableFilter; import org.olat.core.gui.components.form.flexible.impl.Form; import org.olat.core.gui.components.form.flexible.impl.FormJSHelper; import org.olat.core.gui.components.form.flexible.impl.NameValuePair; @@ -70,9 +73,20 @@ public class TreeNodeFlexiCellRenderer implements FlexiCellRenderer { private boolean isFlat(FlexiTableElementImpl ftE) { return flatBySearchAndFilter - && (StringHelper.containsNonWhitespace(ftE.getQuickSearchString()) || !ftE.getSelectedFilters().isEmpty()); + && (StringHelper.containsNonWhitespace(ftE.getQuickSearchString()) || isFiltered(ftE.getSelectedFilters())); + } + + private boolean isFiltered(List<FlexiTableFilter> filters) { + if(filters == null || filters.isEmpty()) return false; + + boolean filtered = true; + for(FlexiTableFilter filter:filters) { + if(filter.isShowAll()) { + filtered &= false; + } + } + return filtered; } - private void renderIndented(Renderer renderer, StringOutput target, Object cellValue, int row, FlexiTableComponent source, URLBuilder ubu, Translator translator) { diff --git a/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_de.properties index 980c701af05a35bf9e5ddd9c9058dcf0ca56c4c2..f145cbf19c9b7486474939ded1115a11109ca3c8 100644 --- a/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_de.properties @@ -1,5 +1,5 @@ #Thu Nov 16 22:12:33 CET 2017 -admin.description=Der dokumentenpool stellt eine Dokumentenbibliothek bereit mit automatischer Strukturierung auf der Basis einer Taxonomie und Kompetenzen. +admin.description=Der Dokumentenpool stellt eine Dokumentenbibliothek bereit mit automatischer Strukturierung auf der Basis einer Taxonomie und Kompetenzen. admin.menu.title=Dokumentenpool admin.menu.title.alt=Dokumentenpool admin.permissions.description=Die Zugangsberechtigungen zum Dokumentenpool basieren auf Kompetenzen von Benutzern auf die jeweiligen Taxonomieebenen. Die Steuerung erfolgt \u00FCber assozierten Ebenentypen. diff --git a/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_en.properties index eceb14886cbad3438bd8a4cb4d2cf186e2fcbfc2..8fa00dcd8a334da5edef8deace39ea9775cff93d 100644 --- a/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/modules/docpool/ui/_i18n/LocalStrings_en.properties @@ -1,5 +1,5 @@ #Thu Nov 16 22:12:21 CET 2017 -admin.description=the document pool offer a library of documents with an automatic structure based upon a taxonomy and competences. +admin.description=The document pool offer a library of documents with an automatic structure based upon a taxonomy and competences. admin.menu.title=Document pool admin.menu.title.alt=Document pool admin.permissions.description=The access permissions to the document pool are based on the competences of users at the taxonomy levels. The configuration happens with the type at the associated taxonomy level. diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties index 687c3952b98f12752ab0c3462511275f80342e36..6146d3ab0b4b250d4a974ef15d7ef126fcd24db9 100644 --- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_de.properties @@ -279,5 +279,5 @@ topnav.qpool=Fragenpool topnav.qpool.alt=Fragedatenbanken und Freigabe von Fragen unshare.item=Entfernen used=Verwendet -warning.qpool.index.emtpy=Die Dokumentpool-Infoseite wurde nicht konfiguriert. Bitten Sie den Systemadministrator, eine Infoseite im <strong>Administrationsbereich des Fragenpools</strong> hinzuzuf\u00FCgen. +warning.qpool.index.emtpy=Die Fragenpool-Infoseite wurde nicht konfiguriert. Bitten Sie den Systemadministrator, eine Infoseite im <strong>Administrationsbereich des Fragenpools</strong> hinzuzuf\u00FCgen. diff --git a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_fr.properties index 6d1ad037b5f96c8dd3d8e6ebec7e78012810ce20..6a77fb6c39c254f1650ff7a2c73ebcddaeba1ff0 100644 --- a/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/modules/qpool/ui/_i18n/LocalStrings_fr.properties @@ -279,4 +279,4 @@ topnav.qpool=Banque de questions topnav.qpool.alt=Banque de questions et partage unshare.item=Enlever used=Utilis\u00E9 -warning.qpool.index.emtpy=La page d'informations de la banque de documents n'a pas \u00E9t\u00E9 configur\u00E9e. Demandez \u00E0 l'administrateur syst\u00E8me d'ajouter une page d'informations dans <strong>Administration de la banque de questions</strong>. +warning.qpool.index.emtpy=La page d'informations de la banque de questions n'a pas \u00E9t\u00E9 configur\u00E9e. Demandez \u00E0 l'administrateur syst\u00E8me d'ajouter une page d'informations dans <strong>Administration de la banque de questions</strong>. diff --git a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyTreeTableController.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyTreeTableController.java index 2d300e025321fbb81d47d13d8750e0ce6604c860..90a431570c4918c12976d23f88a5e2ad6ee4b1c7 100644 --- a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyTreeTableController.java +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyTreeTableController.java @@ -161,7 +161,8 @@ public class TaxonomyTreeTableController extends FormBasicController implements resources.add(new FlexiTableFilter(type.getDisplayName(), type.getKey().toString())); } resources.add(new FlexiTableFilter(translate("filter.no.level.type"), "-")); - resources.add(new FlexiTableFilter(translate("show.all"), "-", true)); + resources.add(FlexiTableFilter.SPACER); + resources.add(new FlexiTableFilter(translate("show.all"), "all", true)); return resources; } diff --git a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyTreeTableModel.java b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyTreeTableModel.java index 5beae0ab87e03c826384ec45fec921afef33ce01..6733489d1fc2293d73b6e51dc383367dd492e3c3 100644 --- a/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyTreeTableModel.java +++ b/src/main/java/org/olat/modules/taxonomy/ui/TaxonomyTreeTableModel.java @@ -61,21 +61,28 @@ implements FilterableFlexiTableModel { if(filters != null && filters.size() > 0 && filters.get(0) != null) { Set<Long> typeKeys = new HashSet<>(); boolean noType = false; + boolean showAll = false; for(FlexiTableFilter filter:filters) { if("-".equals(filter.getFilter())) { noType = true; } else if(StringHelper.isLong(filter.getFilter())) { typeKeys.add(new Long(filter.getFilter())); + } else if(filter.isShowAll()) { + showAll = true; } } - List<TaxonomyLevelRow> filteredRows = new ArrayList<>(backupRows.size()); - for(TaxonomyLevelRow row:backupRows) { - if(accept(row, typeKeys, noType)) { - filteredRows.add(row); + if(showAll) { + setUnfilteredObjects(); + } else { + List<TaxonomyLevelRow> filteredRows = new ArrayList<>(backupRows.size()); + for(TaxonomyLevelRow row:backupRows) { + if(accept(row, typeKeys, noType)) { + filteredRows.add(row); + } } + setFilteredObjects(filteredRows); } - setFilteredObjects(filteredRows); } else { setUnfilteredObjects(); }