/** * @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); }});