< Précédent | Suivant >

Leçon 9 : Insérer le gestionnaire de l'historique des calculs dans l'application

Pour ajouter le gestionnaire de l'historique des calculs à votre page, vous devez modifier le portlet de résultat et le portail principal.

Modification du portlet de résultat

A la fin de la leçon précédente, le gestionnaire CalculationResultsHandler s'abonne à un événement unique : mortgageApplication.mortgageCalculated. Lorsque cet événement se produit, le gestionnaire met à jour et réaffiche le diagramme à secteurs. Toutefois, l'utilisateur peut sélectionner une ligne dans le portlet d'historique et provoquer la publication d'un autre événement : mortgageApplication.mortgageResultSelected. Si CalculationResultsHandler s'abonne également à cet événement, le gestionnaire peut répondre à la sélection de l'utilisateur de la même manière, en mettant à jour réaffichant le diagramme à secteurs.

La manière la plus simple de s'abonner aux deux événements est d'utiliser l'astérisque (*), qui est un caractère générique représentant tous les événements d'un ensemble d'événements. Procédez comme suit :

  1. Dans l'éditeur Rich UI, ouvrez le fichier CalculationResultsHandler.egl et accédez à la vue Source.
  2. Dans la fonction start(), localisez la ligne suivante :
    InfoBus.subscribe("mortgageApplication.mortgageCalculated", displayChart);
  3. Remplacez le qualificatif de plus bas niveau dans le nom de l'événement par un astérisque :
    InfoBus.subscribe("mortgageApplication.*", displayChart);
    Maintenant, EGL appelle la fonction displayChart à chaque fois qu'un événement dont le nom commence par mortgageApplication. se produit.
  4. Sauvegardez et fermez le fichier.

Modification du portail principal

Pour le portlet d'historique, ajoutez des lignes qui sont similaires à celles des deux autres portlets :

  1. Dans l'éditeur Rich UI, ouvrez le fichier MainHandler.egl et cliquez sur l'onglet Source.
  2. Immédiatement sous la déclaration resultsHandler, ajoutez une déclaration semblable pour historyHandler :
    historyHandler CalculationHistoryHandler{};
  3. Immédiatement sous la déclaration resultsPortlet, ajoutez une déclaration semblable pour historyPortlet :
    historyPortlet Portlet{children = [historyHandler.historyResults_ui], 
    			title = "Historique", canMove = TRUE, canMinimize = TRUE};
  4. Dans la fonction début, sous les appels à addPortlet existants, ajoutez le nouveau portlet au portail :
    	mortgagePortal.addPortlet(historyPortlet, 1);
  5. Comme vous l'avez fait pour resultsPortlet, définissez la réduction initiale d'historyPortlet :
    	historyPortlet.minimize();
  6. Ajoutez du code pour historyPortlet à la fin de la fonction restorePortlets() :
    		if(historyPortlet.isMinimized())
    			historyPortlet.restore();
    		end	
  7. Sauvegardez le fichier. Si vous constatez des erreurs dans votre fichier source, comparez son code au code présenté à la rubrique Code finalisé du fichier MainHandler.egl après la leçon 9.

Test du portail

Testez le portail principal pour vérifier que le nouveau portlet d'historique s'affiche et fonctionne correctement.
  1. En bas de l'éditeur, cliquez sur l'onglet Aperçu. EGL affiche le portail principal et les trois portlets secondaires.
  2. Cliquez sur Calculer. Une image animée indique que le traitement est en cours. Lorsque le calcul est terminé, le diagramme à secteurs et l'historique s'affichent.
    Le portlet Résultats restauré contient le graphique à secteurs.
  3. Faites passer la durée du prêt l'hypothécaire à 5 ans et cliquez à nouveau sur Calculer. Une ligne s'ajoute dans la liste de l'historique.
  4. Cliquez sur une cellule dans la première ligne de la liste de l'historique.
    La première ligne de la liste de l'historique contient le calcul sur 30 ans.
  5. Le diagramme à secteurs affiche les valeurs de la ligne sélectionnée dans la liste de l'historique.
    Le diagramme à secteur mis à jour correspond aux valeurs du premier calcul.

Récapitulatif de la leçon

Vous avez appris à réaliser un abonnement à plusieurs événements portant un nom semblable.

Dans la leçon suivante, vous allez ajouter un portlet pour afficher la carte des sociétés de prêt hypothécaire disponibles dans une région donnée des Etats-Unis.

< Précédent | Suivant >

Retour d'informations