-
Demande d'amélioration
-
Résolution: Résolu
-
Mineur
-
master, 6.07.61
-
Aucune
-
Sprint 2022 S34, K-Sup 6.7 - Sprint
Dans un kmultiselect, on doit mettre dans l'infoBean une map contenant l'ensemble des valeurs possibles avec clé = code de l'item et valeur = libellé qu'on voit à l'écran.
Exemple :
<components:kmultiselect extension="${ePrivacyExt}" fieldName="EPRIVACY.SAISIE.CONFIGURATION.SITES_CONCERNED" label="EPRIVACY.BO.SAISIE.SITES_CONCERNES" editOption="<%=UnivFmt.getModeSaisieZone(infoBean, \"EPRIVACY.BO.SAISIE.SITES_CONCERNES\")%>" context="<%=KselectContext.CONTEXT_DEFAULT%>" dataSource="EPRIVACY.SAISIE.CONFIGURATION.LISTE_SITES_CONCERNES" type="<%=MultiSelectMode.ltl%>"/>
Ici, EPRIVACY.SAISIE.CONFIGURATION.LISTE_SITES_CONCERNES est une map contenant(par exemple)
Element 0 : unssdomaine, Fac de philo Element 1 : kdev, Site principal
L'ordre est bien celui-ci. En effet on fait :
infoBean.set("EPRIVACY.SAISIE.CONFIGURATION.LISTE_SITES_CONCERNES", new ArrayList<>(serviceInfosSite.getListeInfosSitesActifs()).stream().sorted(Comparator.comparing(InfosSite::getIntitule)).map(InfosSiteImpl.class::cast).collect(Collectors.toMap(InfosSite::getAlias, InfosSite::getIntitule)));
On force exprès l'ordre par celui du libellé côté projet/extension.
Problème : le composant kmultiselect force l'affichage par ordre de code et devient donc visuellement :
Element 0 : kdev, Site principal Element 1 : unssdomaine, Fac de philo
L'ordre est forcé par le kmultiselect ici :
Solution :
- On peut ajouter un attribut dans le kmultiselect "keepOrder" qui permet de garder l'ordre de la map au départ si c'est à true. Si false ou non défini, le composant fait le tri comme actuellement.
- lié à
-
EPRIVACY-164 Back office > Configuration par site(s) : afficher les sites par ordre alphabétique
- en recette
1.
|
Report 6.7 - CORE-6081 | Fini | Automate |