Ext.define('treps.controller.Export.ExportSelection', { extend: 'Ext.app.Controller', requires: [ 'treps.controller.Export.ExportManager' ], refs: [ { ref: 'structureCombo', selector: 'export_container > filestructure_panel > filestructures_combo' }, { ref: 'formatCombo', selector: 'export_container > filestructure_panel > fileformats_combo' } ], init: function() { var me = this; }, initStores: function(onReady) { var me = this; treps.controller.Export.ExportManager.loadFormatsStore( function(formatsStore) { me.getFormatCombo().store = formatsStore; //select first format me.getFormatCombo().setValue(formatsStore.getAt(0).get('id')); treps.controller.Export.ExportManager.loadStructuresStore( function(structuresStore) { me.getStructureCombo().store = structuresStore; //select first export strcture me.getStructureCombo().setValue(structuresStore.getAt(0).get('id')); if (onReady != null) onReady.call(me, formatsStore, structuresStore); }); }); }, getExportStructure: function() { return this.getStructureCombo().getValue(); }, setExportStructureEnabled: function(enabled) { this.getStructureCombo().setDisabled(!enabled); }, getExportFormat: function() { return this.getFormatCombo().getValue(); }, isValid: function() { if ((this.getExportStructure() == null) || (this.getExportStructure() == '')) { treps.Messages.showError('Please select the structure of the exported file.'); return false; } if ((this.getExportFormat() == null) || (this.getExportFormat() == '')) { treps.Messages.showError('Please select the format of the exported file.'); return false; } return true; } });