< 前へ | 次へ >

演習 9: 計算ヒストリー・ハンドラーのアプリケーションへの組み込み

計算ヒストリー・ハンドラーをページに追加するには、結果ポートレットおよびメイン・ポータルを変更する必要があります。

結果ポートレットの変更

前回の演習の最後の時点で、CalculationResultsHandler ハンドラーは、mortgageApplication.mortgageCalculated という単一のイベントにサブスクライブしています。 そのイベントが発生すると、ハンドラーにより円グラフが更新され、再表示されます。 しかし、ユーザーがヒストリー・ポートレット内の行を選択し、mortgageApplication.mortgageResultSelected という別のイベントがパブリッシュされることもあります。 CalculationResultsHandler がそのイベントにもサブスクライブしていれば、このハンドラーはユーザーの選択操作に対して、円グラフの更新および再表示という同じ応答を返すことができます。

両方のイベントにサブスクライブする最も簡単な方法は、一連のイベントのうちの任意のイベントを表すワイルドカード文字であるアスタリスク (*) を使用することです。 以下のようにします。

  1. Rich UI エディターで CalculationResultsHandler.egl ファイルを開き、「ソース」ビューに切り替えます。
  2. start() 関数の以下の行を見つけます。
    InfoBus.subscribe("mortgageApplication.mortgageCalculated", displayChart);
  3. 以下のように、イベント名の最も低いレベルの修飾子をアスタリスクに置き換えます。
    InfoBus.subscribe("mortgageApplication.*", displayChart);
    これで、名前の先頭が mortgageApplication. であるイベントが発生するたびに、EGL で displayChart 関数が呼び出されるようになりました。
  4. ファイルを保存して閉じます。

メイン・ポータルの変更

ヒストリー・ポートレットに関して、他の 2 つのポートレット用の行に似た行を以下のようにして追加します。

  1. Rich UI エディターで MainHandler.egl ファイルを開き、「ソース」タブをクリックします。
  2. resultsHandler 宣言のすぐ下に、それと似た historyHandler 用の以下の宣言を追加します。
    historyHandler CalculationHistoryHandler{};
  3. resultsPortlet 宣言のすぐ下に、それと似た historyPortlet 用の以下の宣言を追加します。
    historyPortlet Portlet{children = [historyHandler.historyResults_ui], 
    			title = "History", canMove = TRUE, canMinimize = TRUE};
  4. start 関数内の addPortlet に対する既存の呼び出しの下で、以下のように、ポータルに対して新規ポートレットを追加します。
    	mortgagePortal.addPortlet(historyPortlet, 1);
  5. resultsPortlet の場合と同様に、historyPortlet が最初は最小化されるように、以下のように設定します。
    	historyPortlet.minimize();
  6. restorePortlets() 関数の最後に、以下のような historyPortlet 用のコードを追加します。
    		if(historyPortlet.isMinimized())
    			historyPortlet.restore();
    		end	
  7. ファイルを保存します。 ソース・ファイルにエラーがある場合は、そのコードと演習 9 終了後の MainHandler.egl のコードのファイル内容を比較してください。

ポータルのテスト

メイン・ポータルをテストして、新しいヒストリー・ポートレットが表示されて正しく機能するかを確認します。
  1. エディターの下部にある「プレビュー」をクリックします。 EGL により、メイン・ポータルおよび 3 つの従属ポートレットが表示されます。
  2. 「Calculate」をクリックします。 アニメーション表示のイメージにより、作業が進行中であることが示されます。 計算が終了すると、円グラフおよびヒストリーが表示されます。
    元の大きさに戻った結果ポートレット内に示された円グラフ。
  3. 住宅ローンの期間を 5 年に変更し、再度「Calculate」をクリックします。 ヒストリー・リストに 1 行追加されます。
  4. ヒストリー・リストの最初の行にあるセルをクリックします。
    30 年での計算結果が示された、ヒストリー・リスト内の最初の行。
  5. 円グラフに、ヒストリー・リスト内の選択された行の値が表示されます。
    最初の計算値を示す更新後の円グラフ。

演習のチェックポイント

複数の類似した名前のイベントにサブスクライブする方法について学習しました。

次の演習では、米国内の指定地域内にある住宅ローン会社のマップを表示するポートレットを追加します。

< 前へ | 次へ >

フィードバック