]> git.proxmox.com Git - extjs.git/blame - extjs/build/examples/kitchensink/classic/samples/view/charts/column3d/StackedController.js
add extjs 6.0.1 sources
[extjs.git] / extjs / build / examples / kitchensink / classic / samples / view / charts / column3d / StackedController.js
CommitLineData
6527f429
DM
1Ext.define('KitchenSink.view.charts.column3d.StackedController', {\r
2 extend: 'Ext.app.ViewController',\r
3 alias: 'controller.column-stacked-3d',\r
4\r
5 onThemeSwitch: function () {\r
6 var chart = this.lookupReference('chart'),\r
7 currentThemeClass = Ext.getClassName(chart.getTheme()),\r
8 themes = Ext.chart.theme,\r
9 themeNames = [],\r
10 currentIndex = 0,\r
11 name;\r
12\r
13 for (name in themes) {\r
14 if (Ext.getClassName(themes[name]) === currentThemeClass) {\r
15 currentIndex = themeNames.length;\r
16 }\r
17 if (name !== 'Base' && name.indexOf('Gradients') < 0) {\r
18 themeNames.push(name);\r
19 }\r
20 }\r
21 chart.setTheme(themes[themeNames[++currentIndex % themeNames.length]]);\r
22 chart.redraw();\r
23 },\r
24\r
25 onStackedToggle: function (segmentedButton, button, pressed) {\r
26 var chart = this.lookupReference('chart'),\r
27 series = chart.getSeries()[0],\r
28 value = segmentedButton.getValue();\r
29 series.setStacked(value === 0);\r
30 chart.redraw();\r
31 },\r
32\r
33 onSaturationChange: function (slider, value) {\r
34 this.setBarStyle({\r
35 saturationFactor: value\r
36 });\r
37 },\r
38\r
39 onBrightnessChange: function (slider, value) {\r
40 this.setBarStyle({\r
41 brightnessFactor: value\r
42 });\r
43 },\r
44\r
45 onColorSpreadChange: function (slider, value) {\r
46 this.setBarStyle({\r
47 colorSpread: value\r
48 });\r
49 },\r
50\r
51 setBarStyle: function (style) {\r
52 var chart = this.lookupReference('chart'),\r
53 series = chart.getSeries()[0];\r
54\r
55 series.setStyle(style);\r
56 chart.redraw();\r
57 },\r
58\r
59 onSliderDragStart: function () {\r
60 var chart = this.lookupReference('chart');\r
61 chart.suspendAnimation();\r
62 },\r
63\r
64 onSliderDragEnd: function () {\r
65 var chart = this.lookupReference('chart');\r
66 chart.resumeAnimation();\r
67 },\r
68\r
69 onTooltipRender: function (tooltip, record, item) {\r
70 var formatString = '0,000 (millions of USD)',\r
71 fieldIndex = Ext.Array.indexOf(item.series.getYField(), item.field),\r
72 sector = item.series.getTitle()[fieldIndex],\r
73 value = Ext.util.Format.number(record.get(item.field), formatString);\r
74\r
75 tooltip.setHtml(sector + ': ' + value);\r
76 },\r
77\r
78 onAxisLabelRender: function (axis, label, layoutContext) {\r
79 return Ext.util.Format.number(layoutContext.renderer(label) / 1000, '0,000');\r
80 },\r
81\r
82 onAxisRangeChange: function (axis, range) {\r
83 if (!range) {\r
84 return;\r
85 }\r
86 // expand the range slightly to make sure markers aren't clipped\r
87 if (range[1] > 15000000) {\r
88 range[1] = 18000000;\r
89 }\r
90 }\r
91\r
92});