以下代码是完成第 6 课之后 CalculationResultsHandler.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