UNPKG

extjs-gpl

Version:

GPL licensed version of Sencha Ext JS

62 lines (52 loc) 1.82 kB
Ext.define('KitchenSink.view.charts.line.ImageMarkersController', { extend: 'Ext.app.ViewController', alias: 'controller.line-markers', onRefresh: function () { var chart = this.lookupReference('chart'), store = chart.getStore(); store.refreshData(); }, 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(); }, onPanZoomReset: function () { var chart = this.lookupReference('chart'), axes = chart.getAxes(); axes[0].setVisibleRange([0, 1]); axes[1].setVisibleRange([0, 1]); chart.redraw(); }, onAxisRangeChange: function (axis, range) { if (!range) { return; } // expand the range slightly to make sure markers aren't clipped var max = range[1]; if (max >= 1000) { range[1] = max - max % 100 + 100; } else { range[1] = max - max % 50 + 50; } }, onAfterRender: function () { var chart = this.lookupReference('chart'), toolbar = this.lookupReference('toolbar'), panzoom = chart.getInteractions()[0]; toolbar.add(panzoom.getModeToggleButton()); } });