// add chart properties to scope
$scope.data = data;
$scope.chartProps = {
chartType: wijmo.chart.finance.FinancialChartType.Line,
header: 'Facebook, Inc. (FB)',
bindingY: 'close'
};
$scope.tpChart = null;
// chart types
var bindingYs = {
0: 'close',
2: 'close',
5: 'high,low,open,close',
6: 'high,low,open,close',
7: 'high,low,open,close',
8: 'high,low,open,close',
9: 'high,low,open,close',
10: 'high,low,open,close',
11: 'close,volume',
12: 'high,low,open,close,volume',
13: 'high,low,open,close,volume',
14: 'high,low,open,close,volume'
};
$scope.$watch('chartProps.chartType', function () {
var chartProps = $scope.chartProps, tpChart = $scope.tpChart;
if (!tpChart) {
return;
}
chartProps.bindingY = bindingYs[chartProps.chartType];
switch (chartProps.chartType) {
case wijmo.chart.finance.FinancialChartType.LineBreak:
tpChart.options = {
lineBreak: {
breaks: 3
}
};
break;
case wijmo.chart.finance.FinancialChartType.Renko:
tpChart.options = {
renko: {
size: 2,
unit: 'Fixed',
field: 'Close',
rounding: false
}
};
break;
case wijmo.chart.finance.FinancialChartType.Kagi:
tpChart.options = {
kagi: {
reversal: 1,
unit: 'Fixed',
field: 'Close'
}
};
break;
default:
break;
}
});
$scope.$watch('tpChart', function () {
var tpChart = $scope.tpChart;
if (!tpChart) {
return;
}
tpChart.tooltip.content = function (ht) {
var dateStr = 'Date: ' + ht.x + '<br/>',
hlocStr = 'Open: ' + wijmo.Globalize.format(ht.item.open, 'n2') + '<br/>' +
'High: ' + wijmo.Globalize.format(ht.item.high, 'n2') + '<br/>' +
'Low: ' + wijmo.Globalize.format(ht.item.low, 'n2') + '<br/>' +
'Close: ' + wijmo.Globalize.format(ht.item.close, 'n2') + '<br/>',
closeStr = 'Close: ' + wijmo.Globalize.format(ht.item.close, 'n2'),
volStr = 'Volume: ' + wijmo.Globalize.format(ht.item.volume, 'n0'),
toolTipStr;
switch ($scope.chartProps.chartType) {
case wijmo.chart.finance.FinancialChartType.Line:
case wijmo.chart.finance.FinancialChartType.Column:
toolTipStr = dateStr + closeStr;
break;
case wijmo.chart.finance.FinancialChartType.ColumnVolume:
toolTipStr = dateStr + closeStr + '<br/>' + volStr;
break;
case wijmo.chart.finance.FinancialChartType.EquiVolume:
case wijmo.chart.finance.FinancialChartType.CandleVolume:
case wijmo.chart.finance.FinancialChartType.ArmsCandleVolume:
toolTipStr = dateStr + hlocStr + volStr;
break;
default:
toolTipStr = dateStr + hlocStr;
break;
}
return toolTipStr;
};
});