]> git.proxmox.com Git - extjs.git/blame - extjs/examples/kitchensink/classic/samples/view/charts/line/ImageMarkersController.js
add extjs 6.0.1 sources
[extjs.git] / extjs / examples / kitchensink / classic / samples / view / charts / line / ImageMarkersController.js
CommitLineData
6527f429
DM
1Ext.define('KitchenSink.view.charts.line.ImageMarkersController', {\r
2 extend: 'Ext.app.ViewController',\r
3 alias: 'controller.line-markers',\r
4\r
5 onRefresh: function () {\r
6 var chart = this.lookupReference('chart'),\r
7 store = chart.getStore();\r
8\r
9 store.refreshData();\r
10 },\r
11\r
12 onThemeSwitch: function () {\r
13 var chart = this.lookupReference('chart'),\r
14 currentThemeClass = Ext.getClassName(chart.getTheme()),\r
15 themes = Ext.chart.theme,\r
16 themeNames = [],\r
17 currentIndex = 0,\r
18 name;\r
19\r
20 for (name in themes) {\r
21 if (Ext.getClassName(themes[name]) === currentThemeClass) {\r
22 currentIndex = themeNames.length;\r
23 }\r
24 if (name !== 'Base' && name.indexOf('Gradients') < 0) {\r
25 themeNames.push(name);\r
26 }\r
27 }\r
28 chart.setTheme(themes[themeNames[++currentIndex % themeNames.length]]);\r
29 chart.redraw();\r
30 },\r
31\r
32 onPanZoomReset: function () {\r
33 var chart = this.lookupReference('chart'),\r
34 axes = chart.getAxes();\r
35\r
36 axes[0].setVisibleRange([0, 1]);\r
37 axes[1].setVisibleRange([0, 1]);\r
38 chart.redraw();\r
39 },\r
40\r
41 onAxisRangeChange: function (axis, range) {\r
42 if (!range) {\r
43 return;\r
44 }\r
45 // expand the range slightly to make sure markers aren't clipped\r
46 var max = range[1];\r
47 if (max >= 1000) {\r
48 range[1] = max - max % 100 + 100;\r
49 } else {\r
50 range[1] = max - max % 50 + 50;\r
51 }\r
52 },\r
53\r
54 onAfterRender: function () {\r
55 var chart = this.lookupReference('chart'),\r
56 toolbar = this.lookupReference('toolbar'),\r
57 panzoom = chart.getInteractions()[0];\r
58\r
59 toolbar.add(panzoom.getModeToggleButton());\r
60 }\r
61\r
62});