ExportSelection.js 1.77 KB
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;
	}
});