List
Renseigner par SDK des listes avec regroupements
Il est possible de présenter une liste avec des groupements, des catégories. Le regroupement des entrées de la liste permettra une meilleure lisibilité, une meilleure ergonomie dans l’accès à l’information.
Les groupes seront présentés en gras dans la liste (non cliquables) et les options seront présentées sous les groupes.
Implémentation
Si dans un cas classique on construit des options, il faut ici construire des optiongroups; des options peuvent être ajoutées dans chaque option group. Il faut donc effectuer un setList de la collection d’optiongroups.
Option et OptionGroup implémentent IOption.
Exemple extrait d’une classe héritant de BaseDocumentExtension, déclarée sur un formulaire :
public boolean onAfterLoad() {
ArrayList<IOption> cOptionWithGroups = new ArrayList<>();
OptionGroup optionGroup1 = new OptionGroup("group1", "Group n°1");
OptionGroup optionGroup2 = new OptionGroup("group2", "Group n°2");
optionGroup1.addOption(new Option("SubOption1", "Sous option n°1"));
optionGroup1.addOption(new Option("SubOption2", "Sous option n°2"));
optionGroup1.addOption(new Option("SubOption3", "Sous option n°3"));
optionGroup2.addOption(new Option("SubOption4", "Sous option n°4"));
optionGroup2.addOption(new Option("SubOption5", "Sous option n°5"));
optionGroup2.addOption(new Option("SubOption6", "Sous option n°6"));
cOptionWithGroups.add(optionGroup1);
cOptionWithGroups.add(optionGroup2);
getWorkflowInstance().setList("MonChampListe", cOptionWithGroups);
return super.onAfterLoad();
}
Aperçu
Source : https://wiki.myvdoc.net/xwiki/bin/view/Dev+Floor/HowToFillGroupedLists