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.
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”.
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.