extjs-gpl
Version:
GPL licensed version of Sencha Ext JS
75 lines (61 loc) • 2.47 kB
JavaScript
Ext.define('KitchenSink.view.charts.column.StackedController', {
extend: 'Ext.app.ViewController',
alias: 'controller.column-stacked',
onPreview: function() {
if (Ext.isIE8) {
Ext.Msg.alert('Unsupported Operation', 'This operation requires a newer version of Internet Explorer.');
return;
}
var chart = this.lookupReference('chart');
chart.preview();
},
onThemeSwitch: function () {
var chart = this.lookupReference('chart'),
currentThemeClass = Ext.getClassName(chart.getTheme()),
themes = Ext.chart.theme,
themeNames = [],
currentIndex = 0,
name;
for (name in themes) {
if (Ext.getClassName(themes[name]) === currentThemeClass) {
currentIndex = themeNames.length;
}
if (name !== 'Base' && name.indexOf('Gradients') < 0) {
themeNames.push(name);
}
}
chart.setTheme(themes[themeNames[++currentIndex % themeNames.length]]);
},
onStackGroupToggle: function (segmentedButton, button, pressed) {
var chart = this.lookupReference('chart'),
series = chart.getSeries()[0],
value = segmentedButton.getValue();
series.setStacked(value === 0);
chart.redraw();
},
// The 'target' here is an object that contains information
// about the target value when the drag operation on the column ends.
onEditTipRender: function (tooltip, item, target, e) {
var fieldIndex = Ext.Array.indexOf(item.series.getYField(), target.yField),
browser = item.series.getTitle()[fieldIndex];
tooltip.setHtml(
browser + ' on ' + item.record.get('month') + ': ' +
target.yValue.toFixed(1) + '%');
},
onBarTipRender: function (tooltip, record, item) {
var fieldIndex = Ext.Array.indexOf(item.series.getYField(), item.field),
browser = item.series.getTitle()[fieldIndex];
tooltip.setHtml(browser + ' on ' +
record.get('month') + ': ' +
record.get(item.field).toFixed(1) + '%');
},
onGridMonthRender: function (value) {
return value;
},
onGridValueRender: function (value) {
return value + '%';
},
onAxisLabelRender: function (axis, label, layoutContext) {
return label.toFixed(label < 10 ? 1: 0) + '%';
}
});