Afficher deux messages en mêmes temps sur un écran

Bonjour,

J’ai besoin d’afficher en même temps une information et un warning sur le même écran, à partir de son postValidate.
Pourriez-vous me dire si c’est faisable ?

	if (ne > 0) { 
		 return Message.formatWarning("ANTTENTION", ne+" sous-délégations n'ont pas été créées.", "fieldName");
	};	
	if (no > 0) { 
		return Message.formatInfo("INFORMATION", no+" sous-délégations ont été créées.", "fieldName");
	};	

Avec mon code, j’ai seulement un return sur les deux.
Merci d’avance pour votre aide.
Cordialement,
Abed.

Dans un pre/postValidate vous pouvez retourner soit un message unique soit une liste de messages. Par contre dans un pre/postSave, pre/postCreate et pre/postUpdate vous ne pouvez retourner qu’un seul message.

MyObject.preValidate = function() {
	var msgs = new ArrayList();

	msgs.add(Message.formatInfo("INFO_CODE", "Message", "fieldName"));
	msgs.add(Message.formatWarning("WARNING_CODE", "Message", "fieldName"));
	msgs.add(Message.formatError("ERROR_CODE", "Message", "fieldName"));

	return msgs;
};

Merci @david
Est-ce normal que le return message ci-dessous ne s’affiche pas dans un postDelete ?

				return Message.formatInfo("INFORMATION", no+" sous-délégations ont été supprimées.", "fieldName");

Je laisse @Francois répondre car je ne sais vraiment pas ce que la UI responsive fait d’un message non bloquant (info ou warning) retourné par un postDelete.

De mémoire, sur la UI legacy un tel message s’affiche en haut de la liste sur laquelle on retourne suite à une suppression réussie, mais ma mémoire est peut être trop optimiste…

L’API Ajax ne retourne que les erreurs de suppression donc l’IHM ne peut pas l’afficher, en cas de succès il y a un toast générique “L’objet a été supprimé” avec un “undo” si autorisé.

Il faudra prévoir une évolution pour afficher une info spécifique.

De plus la suppression en masse ne peut pas afficher N messages spécifiques (un par record).
Il faut nécessairement un message global qui indique combien ont été supprimés.

Bonjour @david,
Je me permets de rouvrir ce post car j’ai l’impression que cela ne marche plus.

Voici ce que je mets dans le postValidate :

	var msgs = new ArrayList();
	var msgsNbr = 0;
	...
	msgs.add(Message.formatWarning("PROPERTY_NOTAIRE",null, ""));
	msgsNbr = msgsNbr +1;
	...
	msgs.add(Message.formatWarning("PROPERTY_AGENCE", null,""));
	msgsNbr = msgsNbr +1;    
	...
	if (msgsNbr > 0) {
		console.error("Je suis dans le cas de plusieurs messages à afficher : " + msgsNbr);
		console.error("messages à afficher : " + msgs);    	
		return msgs
	}
		

Et voici ce que j’ai dans la console :

2019-02-18 21:40:01,366 ERROR [com.simplicite.util.ScriptInterpreter] SIMPLICITE|https://e3m.simplicite.io:10073||ECORESC001|designer|com.simplicite.util.ScriptInterpreter|ImmoProperty/the_ajax_ImmoProperty||Erreur script: messages à afficher : [PROPERTY_NOTAIRE#WARNING#, PROPERTY_AGENCE#WARNING#]
2019-02-18 21:40:01,366 ERROR [com.simplicite.util.ScriptInterpreter] SIMPLICITE|https://e3m.simplicite.io:10073||ECORESC001|designer|com.simplicite.util.ScriptInterpreter|ImmoProperty/the_ajax_ImmoProperty||Erreur script: Je suis dans le cas de plusieurs messages à afficher : 2
2019-02-18 21:40:01,366 INFO [com.simplicite.util.ScriptInterpreter] SIMPLICITE|https://e3m.simplicite.io:10073||INFO|designer|com.simplicite.util.ScriptInterpreter|ImmoProperty/the_ajax_ImmoProperty||Evénement: Veuillez vérifier qu'une agence immobilière est renseignée dans l'onglet Contacts ci-dessous
2019-02-18 21:40:01,365 INFO [com.simplicite.util.ScriptInterpreter] SIMPLICITE|https://e3m.simplicite.io:10073||INFO|designer|com.simplicite.util.ScriptInterpreter|ImmoProperty/the_ajax_ImmoProperty||Evénement: Veuillez vérifier qu'un notaire est renseigné dans l'onglet Contacts ci-dessous

Sauf qu’à l’écran, rien ne s’affiche, à part le toast “Enregistrement terminé avec succès”.

Merci d’avance pour votre aide.
Abed.

Sur les aspects UI je laisse @Francois répondre

Cela fonctionne très bien en script rhino et java sur une version P23.

  • en cas d’enregistre/fermer il y a 2 popups de warning qui s’ouvrent
  • en cas de enregistrer sans fermer, les 2 warnings apparaissent bien dans l’entête du formulaire

Cela marche uniquement quand je suis sur un formulaire en modification et les messages s’affichent bien. Mais rien ne s’affiche quand je suis sur un formulaire de création.