Skip to content
Snippets Groups Projects
Commit 9a6160ab authored by srosse's avatar srosse
Browse files

Merge OpenOLAT 12.3 to OpenOLAT default branch with 8bb8e7f16a40b4b6498144334cfad42858787e08

parents 2498f641 e4fe3d4a
No related branches found
No related tags found
No related merge requests found
......@@ -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) {
......
#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.
......
#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.
......
......@@ -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.
......@@ -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>.
......@@ -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;
}
......
......@@ -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();
}
......
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