/** * @private */Ext.define('Ext.pivot.plugin.configurator.SettingsController', { extend: 'Ext.app.ViewController', alias: 'controller.pivotsettings', init: function(view){ var viewModel = this.getViewModel(); viewModel.getStore('sLayout').loadData([ [ view.outlineLayoutText, 'outline' ], [ view.compactLayoutText, 'compact' ], [ view.tabularLayoutText, 'tabular' ] ]); viewModel.getStore('sPositions').loadData([ [ view.firstPositionText, 'first' ], [ view.hidePositionText, 'none' ], [ view.lastPositionText, 'last' ] ]); viewModel.getStore('sYesNo').loadData([ [view.yesText, true], [view.noText, false] ]); }, applySettings: function(){ var vm = this.getViewModel(), view = this.getView(), cfg = Ext.clone(vm.get('form')), name; for(name in cfg){ if(cfg[name] && cfg[name].isModel){ cfg[name] = cfg[name].get('value'); } } if(view.fireEvent('beforeapplypivotsettings', view, cfg) !== false){ view.fireEvent('applypivotsettings', view, cfg); this.cancelSettings(); } }, cancelSettings: function(){ var view = this.getView(); view.setMatrixProperties(null); view.fireEvent('close', view); }, onMatrixPropertiesChanged: function(view, properties){ this.getViewModel().set('form', properties); } });