第 6 課結束之後所完成之 CalculationResultsHandler.egl 的程式碼

下列程式碼是第 6 課結束之後 MortgageCalculatorHandler.egl 檔的文字,此課程還對 CalculationResultsHandler.egl 檔做了細微但非常重要的變更。
package handlers;

import com.ibm.egl.rui.infobus.InfoBus;
import com.ibm.egl.rui.widgets.GridLayout;
import com.ibm.egl.rui.widgets.GridLayoutData;
import dojo.widgets.DojoPieChart;
import dojo.widgets.PieChartData;
import services.MortgageCalculationResult;

handler CalculationResultsHandler type RUIhandler{
   initialUI =[ui], onConstructionFunction = start, 
   cssFile = "css/MortgageUIProject.css", title = "CalculationResultsHandler"}

   ui GridLayout{columns = 1, rows = 1, cellPadding = 4, 
                 children =[interestPieChart]};
   interestPieChart DojoPieChart{layoutData = 
      new GridLayoutData{row = 1, column = 1}, 
      radius = 100, width = "300", height = "250", labelOffSet = 50, 
      fontColor = "white", 
      data =[
         new PieChartData{y = 1, text = "Principal", color = "#99ccbb"},
         new PieChartData{y = 0, text = "Interest", color = "#888855"}
      ]};

   function start()
      InfoBus.subscribe("mortgageApplication.mortgageCalculated", displayChart);
   end

   function displayChart(eventName string in, dataObject any in)
      localPieData PieChartData[2];

      resultRecord MortgageCalculationResult = 
         dataObject as MortgageCalculationResult;
      localPieData = interestPieChart.data;
      localPieData[1].y = resultRecord.loanAmount;
      localPieData[2].y = resultRecord.interest;
      interestPieChart.data = localPieData;
   end
end

意見