UNPKG

extjs-gpl

Version:

GPL licensed version of Sencha Ext JS

107 lines (87 loc) 2.95 kB
Ext.define('KitchenSink.view.charts.pie.Pie3DController', { extend: 'Ext.app.ViewController', alias: 'controller.pie-3d', onSeriesTooltipRender: function (tooltip, record, item) { tooltip.setHtml(record.get('os') + ': ' + record.get('data1') + '%'); }, onStyleToggle: function (segmentedButton, button, pressed) { var value = segmentedButton.getValue(); this.setPieStyle({ opacity: value === 0 ? 1 : 0.8 }); }, 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]]); chart.redraw(); }, onDownload: function() { if (Ext.isIE8) { Ext.Msg.alert('Unsupported Operation', 'This operation requires a newer version of Internet Explorer.'); return; } var chart = this.lookupReference('chart'); if (Ext.os.is.Desktop) { chart.download({ filename: 'Mobile OS Marketshare' }); } else { chart.preview(); } }, onThicknessChange: function (slider, value) { var chart = this.lookupReference('chart'), series = chart.getSeries()[0]; series.setThickness(value); chart.redraw(); }, onDistortionChange: function (slider, value) { var chart = this.lookupReference('chart'), series = chart.getSeries()[0]; series.setDistortion(value / 100); chart.redraw(); }, onBevelChange: function (slider, value) { this.setPieStyle({ bevelWidth: value }); }, onDonutChange: function (slider, value) { var chart = this.lookupReference('chart'), series = chart.getSeries()[0]; series.setDonut(value); chart.redraw(); }, onColorSpreadChange: function (slider, value) { this.setPieStyle({ colorSpread: value }); }, setPieStyle: function (style) { var chart = this.lookupReference('chart'), series = chart.getSeries()[0]; series.setStyle(style); chart.redraw(); }, onSliderDragStart: function () { var chart = this.lookupReference('chart'); chart.suspendAnimation(); }, onSliderDragEnd: function () { var chart = this.lookupReference('chart'); chart.resumeAnimation(); } });