Auto-complétion : peut-on modifier le contenu des propositions?

Problem description

Bonjour,

Est-il possible de modifier le contenu des propositions de l’auto-complétion afin de limiter le nombre d’informations affichées ?

Steps to reproduce

J’ai 5 objets :

  • DAAC
  • Indication
  • Medicament
  • Laboratoire
  • IndicationMedicament (association d’une indication avec un médicament)

Dans le formulaire de mon objet DAAC je peux sélectionner une IndicationMedicament.
Les propositions de l’auto-complétion sont de cette forme :

J’aimerais afficher uniquement les colonnes suivantes dans la proposition de l’auto-complétion :

Dans l’ordre suivant :

Solution thérapeutique | Actif/Inactif | Laboratoire pharmaceutique titulaire

Est-ce que cela est possible ?

Merci d’avance,

Florent

Technical information

Instance /health

[Platform]
Status=OK
Version=5.1.37
BuiltOn=2022-04-05 11:19
Git=release/0d9c19594e35d74bd1dead5960d3b31b37337814
Encoding=UTF-8
EndpointIP=
EndpointURL=
TimeZone=Europe/Paris
SystemDate=2022-04-06 09:22:06

[Application]
ApplicationVersion=0.0.5
ContextPath=
ContextURL=
ActiveSessions=1
TotalUsers=17
EnabledUsers=10
LastLoginDate=2022-04-06 09:11:49

[Server]
ServerInfo=Apache Tomcat/9.0.62
ServerType=WEB
ServerActiveSessions=1

[OS]
Name=Linux
Architecture=amd64
Version=3.10.0-1160.53.1.el7.x86_64
SystemEncoding=UTF-8

[Disk]
DiskFree=9090
DiskUsable=4933
DiskTotal=100701

[JavaVM]
Version=17.0.1
Vendor=Eclipse Adoptium
VMName=OpenJDK 64-Bit Server VM
VMVersion=17.0.1+12
ScriptEngine=rhino
ScriptEngineVersion=Rhino 1.7.13 2020 09 02
HeapFree=45007
HeapSize=230400
HeapMaxSize=524288
TotalFreeSize=338895

[Cache]
GrantCache=0
GrantCacheMax=0
GrantCacheRatio=0
ObjectCache=296
ObjectCacheMax=10000
ObjectCacheRatio=2
ProcessCache=1
ProcessCacheMax=10000
ProcessCacheRatio=0

[Database]
Vendor=3
ProductName=PostgreSQL
ProductVersion=11.15
DriverName=PostgreSQL JDBC Driver
DriverVersion=42.3.3
DBDate=2022-04-06 09:22:06
DBDateOffset=0
DBPatchLevel=5;P01;2f0d8df45840ee41464acd28a576c52d
UsingBLOBs=true

[Healthcheck]
Date=2022-04-06 09:22:06
ElapsedTime=168


Bonjour Florent,

La partie en gras dans la suggestion correspond à une clé stockée dans l’index. Cette clé correspond soit à la clé fonctionnelle de l’objet ou à user key label surchargé.
La partie de droite (pas en gras) peut être surchargée grâce au hook getUserKeyList

Vous pouvez donc :

  • Dans un premier temps surcharger le user key label de l’objet “Indication / Médicament”
	@Override
	public String getUserKeyLabel(String[] row) {
		String label = getFieldValue("myField1", row) + " " + getFieldValue("myField2", row);
		return label;
	}
  • Puis reconstruire l’index dans Exploitation > Index d’objets > Réindexer tous les objets

  • Enfin, surcharger l’affichage de la partie de droite de la suggestion :

	@Override
	public String getUserKeyList(String[] row, boolean excludeUserKey, int maxLength){
		String label = getFieldValue("myField1", row) + " " + getFieldValue("myField2", row);
		return label;
	}
2 Likes

Top, merci Alistair, ça répond parfaitement à mon besoin :slight_smile:

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.