]> git.proxmox.com Git - extjs.git/blame - extjs/examples/kitchensink/classic/samples/view/charts/column/StackedController.js
add extjs 6.0.1 sources
[extjs.git] / extjs / examples / kitchensink / classic / samples / view / charts / column / StackedController.js
CommitLineData
6527f429
DM
1Ext.define('KitchenSink.view.charts.column.StackedController', {\r
2 extend: 'Ext.app.ViewController',\r
3 alias: 'controller.column-stacked',\r
4\r
5 onPreview: function() {\r
6 var chart = this.lookupReference('chart');\r
7\r
8 chart.preview();\r
9 },\r
10\r
11 onThemeSwitch: function () {\r
12 var chart = this.lookupReference('chart'),\r
13 currentThemeClass = Ext.getClassName(chart.getTheme()),\r
14 themes = Ext.chart.theme,\r
15 themeNames = [],\r
16 currentIndex = 0,\r
17 name;\r
18\r
19 for (name in themes) {\r
20 if (Ext.getClassName(themes[name]) === currentThemeClass) {\r
21 currentIndex = themeNames.length;\r
22 }\r
23 if (name !== 'Base' && name.indexOf('Gradients') < 0) {\r
24 themeNames.push(name);\r
25 }\r
26 }\r
27 chart.setTheme(themes[themeNames[++currentIndex % themeNames.length]]);\r
28 },\r
29\r
30 onStackGroupToggle: function (segmentedButton, button, pressed) {\r
31 var chart = this.lookupReference('chart'),\r
32 series = chart.getSeries()[0],\r
33 value = segmentedButton.getValue();\r
34\r
35 series.setStacked(value === 0);\r
36 chart.redraw();\r
37 },\r
38\r
39 // The 'target' here is an object that contains information\r
40 // about the target value when the drag operation on the column ends.\r
41 onEditTipRender: function (tooltip, item, target, e) {\r
42 var fieldIndex = Ext.Array.indexOf(item.series.getYField(), target.yField),\r
43 browser = item.series.getTitle()[fieldIndex];\r
44\r
45 tooltip.setHtml(\r
46 browser + ' on ' + item.record.get('month') + ': ' +\r
47 target.yValue.toFixed(1) + '%');\r
48 },\r
49\r
50 onBarTipRender: function (tooltip, record, item) {\r
51 var fieldIndex = Ext.Array.indexOf(item.series.getYField(), item.field),\r
52 browser = item.series.getTitle()[fieldIndex];\r
53\r
54 tooltip.setHtml(browser + ' on ' +\r
55 record.get('month') + ': ' +\r
56 record.get(item.field).toFixed(1) + '%');\r
57 },\r
58\r
59 onGridMonthRender: function (value) {\r
60 return value;\r
61 },\r
62\r
63 onGridValueRender: function (value) {\r
64 return value + '%';\r
65 },\r
66\r
67 onAxisLabelRender: function (axis, label, layoutContext) {\r
68 return label.toFixed(label < 10 ? 1: 0) + '%';\r
69 }\r
70\r
71});