Blame view

js/app/views/PlotComponents/PlotParamForm.js 3.75 KB
17433635   Benjamin Renard   Add series and sp...
1
2
3
4
/**
 * Project   : AMDA-NG
 * Name      : PlotParamForm.js
 * @class   amdaPlotComp.PlotParamForm
a0bf9157   Benjamin Renard   Add tick plot and...
5
 * @extends amdaPlotComp.amdaPlotComp.PlotStandardForm
17433635   Benjamin Renard   Add series and sp...
6
7
8
9
10
11
12
13
14
15
 * @brief   Form to define specifics param options
 * @author  Benjamin Renard
 * @version $Id: PlotParamForm.js benjamin $
 */

Ext.define('amdaPlotComp.PlotParamForm', {
	extend: 'amdaPlotComp.PlotStandardForm',
	
	requires: [
	    'amdaPlotComp.PlotSerieForm',
e84ed2cf   Benjamin Renard   Add Interval Tick...
16
	    'amdaPlotComp.PlotOrbitSerieForm',
a0bf9157   Benjamin Renard   Add tick plot and...
17
18
	    'amdaPlotComp.PlotSpectroForm',
	    'amdaPlotComp.PlotStatusBarForm',
6a801541   Benjamin Renard   Add possibility t...
19
20
21
	    'amdaPlotComp.PlotTickBarForm',
	    'amdaPlotComp.PlotInstantSerieForm',
	    'amdaPlotComp.PlotInstantSpectroForm'
17433635   Benjamin Renard   Add series and sp...
22
23
24
25
26
27
	],
	
	drawingOptionsContainer: null,
	
	drawingOptionsFormsManager : new Ext.AbstractManager(),
	
a971060f   Benjamin Renard   Fix some bugs
28
29
30
31
32
33
34
	destroy: function() {
		this.drawingOptionsFormsManager.each(function (key, value, length) {
    		this.drawingOptionsFormsManager.unregister(value);
    	}, this);
		this.callParent();
	},
	
17433635   Benjamin Renard   Add series and sp...
35
36
37
	setObject : function(object) {
		this.object = object;
		this.loadRecord(this.object);
a971060f   Benjamin Renard   Fix some bugs
38
		this.updateDrawingOptions(this.object.get('param-drawing-type'));
17433635   Benjamin Renard   Add series and sp...
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
	},
	
	getDrawingOptionsForm: function(type) {
		var formId = '';
		if (!type || (type == ''))
			formId = 'none';
		else
			formId = type;
		
		formId += '-drawing-options-form';
		
		if (!this.drawingOptionsFormsManager.get(formId))
		{
			switch(type)
			{
				//Create drawing options form
				case 'serie' :
					this.drawingOptionsFormsManager.register(new amdaPlotComp.PlotSerieForm({id : formId}));
					break;
e84ed2cf   Benjamin Renard   Add Interval Tick...
58
59
60
				case 'orbit-serie' :
					this.drawingOptionsFormsManager.register(new amdaPlotComp.PlotOrbitSerieForm({id : formId}));
					break;
17433635   Benjamin Renard   Add series and sp...
61
62
63
				case 'spectro' :
					this.drawingOptionsFormsManager.register(new amdaPlotComp.PlotSpectroForm({id : formId}));
					break;
a0bf9157   Benjamin Renard   Add tick plot and...
64
65
66
67
68
69
				case 'status-bar' :
					this.drawingOptionsFormsManager.register(new amdaPlotComp.PlotStatusBarForm({id : formId}));
					break;
				case 'tick-bar' :
					this.drawingOptionsFormsManager.register(new amdaPlotComp.PlotTickBarForm({id : formId}));
					break;
6a801541   Benjamin Renard   Add possibility t...
70
71
72
73
74
75
				case 'iserie' :
					this.drawingOptionsFormsManager.register(new amdaPlotComp.PlotInstantSerieForm({id : formId}));
					break;
				case 'ispectro' :
					this.drawingOptionsFormsManager.register(new amdaPlotComp.PlotInstantSpectroForm({id : formId}));
					break;
a0bf9157   Benjamin Renard   Add tick plot and...
76
 				default :
17433635   Benjamin Renard   Add series and sp...
77
78
79
80
81
82
83
84
					this.drawingOptionsFormsManager.register(new Ext.form.Label({id : formId, text: 'No available options for this drawing type'}));
			}
		}
		
		return this.drawingOptionsFormsManager.get(formId);
	
	},
	
a971060f   Benjamin Renard   Fix some bugs
85
	updateDrawingOptions: function(drawingType) {
17433635   Benjamin Renard   Add series and sp...
86
87
		var typeField = this.getForm().findField('param-drawing-type');
		
a0bf9157   Benjamin Renard   Add tick plot and...
88
89
		var availableDrawingObjects = this.object.getAvailableDrawingObjectByPlotType(this.crtTree.getSelectedPlotType());
		typeField.getStore().loadData(availableDrawingObjects);
a971060f   Benjamin Renard   Fix some bugs
90
91
92
		typeField.suspendEvents();
		typeField.setValue(drawingType);
		typeField.resumeEvents(false);
17433635   Benjamin Renard   Add series and sp...
93
94
95
		
		this.drawingOptionsContainer.removeAll(false);
		
a0bf9157   Benjamin Renard   Add tick plot and...
96
		var drawingOptionsForm = this.getDrawingOptionsForm(drawingType);
17433635   Benjamin Renard   Add series and sp...
97
98
99
100
101
102
103
104
105
106
107
108
109
110
		this.drawingOptionsContainer.add(drawingOptionsForm);
		drawingOptionsForm.crtTree = this.crtTree;
		if (drawingOptionsForm.setObject)
			drawingOptionsForm.setObject(this.object);
	},
	
	getFormItems: function() {
		var me = this;
		
		this.drawingOptionsContainer = Ext.create('Ext.container.Container', {
			layout: 'fit'
		});
		
		return [
a0bf9157   Benjamin Renard   Add tick plot and...
111
		    this.addStandardCombo('param-drawing-type', 'Drawing type', [{'key' : '', 'value' : 'None'}], function(name, value, oldValue) {
a971060f   Benjamin Renard   Fix some bugs
112
113
114
		    	if (me.object.get('param-drawing-type') != value)
		    	{
		    		me.object.changeDrawingType(value);
e84ed2cf   Benjamin Renard   Add Interval Tick...
115
116
		    		me.object.set('param-drawing-type', value);
	        		me.crtTree.refresh();
a971060f   Benjamin Renard   Fix some bugs
117
118
		    		me.updateDrawingOptions(value);
		    	}
17433635   Benjamin Renard   Add series and sp...
119
120
121
122
123
	        }),
	        this.drawingOptionsContainer
		];
	}
});