Lorsque l'objet Menu est une barre d'onglets (cas du menu accordéon par exemple), il est possible de gérer l'item sélectionné par l'utilisateur (l'item qui est cliqué) et lui associer une apparence particulière.
Lorsqu'un clic sur un item déclenche un événement Adélia qui boucle sur la même page, alors l'objet Menu gère automatiquement l'item sélectionné : Au réaffichage de la page, l'item cliqué est affiché comme étant celui sélectionné. Dans le cas d'un menu accordéon, les items parent sont automatiquement expansés pour rendre visible l'item sélectionné.
Cependant, lorsque l'événement Adélia déclenché sur le clic d'un item provoque l'affichage d'une nouvelle page, alors il est nécessaire de gérer l'item sélectionné manuellement. Typiquement, ce cas peut se produire lorsqu'un objet Menu (accordéon par exemple) est en partie gauche d'un canevas et que l'événement Adélia associé au clic d'un item déclenche un TRAITER_PGM.
La gestion manuelle de l'item sélectionné se fait en deux étapes :
Etape 1 : Sur le ONCLICK de chaque item de menu, il faut stocker dans le contexte d'exécution de l'application le nom de l'item sélectionné. Voici un exemple de code L4G :
nomItem = mnu_1:nom_item_select sauver_ctx 'cleItem' 'REQUEST' nomItem
Remarque : Il est possible de stocker le nom de l'item soit au niveau 'REQUEST' soit au niveau 'SESSION'. Ce code doit être exécuté avant un TRAITER_PGM.
Etape 2 : Dans le pavé INITIALISATION de la page contenant l'objet Menu, il faut récupérer le nom de l'item précédemment stocké. Voici un exemple de code L4G :
recuperer_ctx 'cleItem' 'REQUEST' nomItem si *code_retour = *normal * un nom d'item a été précédemment stocké mnu_1:nom_item_select = nomItem sinon * aucun item stocké : cela peut se produire au premier appel du programme partie centrale du canevas * laisser le menu réduit. fin
Remarque : L'affectation d'un nom d'item à la propriété NOM_ITEM_SELECT provoque l'expansion des items parent pour rendre visible cet item.
Articles connexes