UNPKG

extjs-gpl

Version:

GPL licensed version of Sencha Ext JS

75 lines (61 loc) 2.47 kB
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) + '%'; } });