Blame view

js/app/views/PlotTabResultUI.js 24.4 KB
16035364   Benjamin Renard   First commit
1
2
3
/**
 * Project   : AMDA-NG
 * Name      : PlotTabResultUI.js
18d4a11e   Benjamin Renard   Save and load plo...
4
5
 * @class    amdaUI.PlotTabResultUI
 * @extends  Ext. panel.Panel
16035364   Benjamin Renard   First commit
6
7
 * @brief    Plot Tab Result UI definition (View)
 * @author    
bab90f22   Elena.Budnik   format + #5668
8
 * @version  $Id: PlotTabResultUI.js benjamin 
16035364   Benjamin Renard   First commit
9
10
11
 */

Ext.define('amdaUI.PlotTabResultUI', {
bab90f22   Elena.Budnik   format + #5668
12
	extend: 'Ext.panel.Panel',
16035364   Benjamin Renard   First commit
13

bab90f22   Elena.Budnik   format + #5668
14
15
16
17
18
	alias: 'widget.plotTabResult',

	requires: [
		'amdaPlotComp.PlotZoomPlug',
		'amdaPlotComp.PlotExtendShiftPlug',
bab90f22   Elena.Budnik   format + #5668
19
20
21
		'amdaPlotComp.PlotContextManager',
		'amdaPlotComp.PlotResultImage'
	],
8c88a270   Erdogan Furkan   10312 - Navigatio...
22
23
24
25
26
27
28

	panelImage: null,
	crtContext: null,
	interactiveId: '',
	navToolBar: null,
	isTTNavBar: false,
	crtTTFileIndex: 0,
bab90f22   Elena.Budnik   format + #5668
29
	disableSynchronize: false,
27a055f4   Benjamin Renard   Multiplot (#8314)
30
	multiplot: false,
55b10506   Benjamin Renard   Update correctly ...
31
	plotName: '',
1f9f9178   Menouard AZIB   I have created a ...
32
	listParams: [],
8c88a270   Erdogan Furkan   10312 - Navigatio...
33

bab90f22   Elena.Budnik   format + #5668
34
	hiddenForm: null,
8c88a270   Erdogan Furkan   10312 - Navigatio...
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

	constructor: function (config) {
		this.addEvents({ 'pagesize': true });

		this.init(config);
		this.callParent(arguments);
	},

	updateConfig: function (name, multiplot) {
		this.multiplot = multiplot;
		this.plotName = name;
		this.findParentByType('window').setTitle(this.plotName + (this.multiplot ? ' - Synchronized to Multiplot' : ''));
	},

	getImageSize: function () {
bab90f22   Elena.Budnik   format + #5668
50
51
		if (!this.crtContext)
			return {
8c88a270   Erdogan Furkan   10312 - Navigatio...
52
53
				width: 0,
				height: 0
bab90f22   Elena.Budnik   format + #5668
54
			};
8c88a270   Erdogan Furkan   10312 - Navigatio...
55
56
57
58
59

		return {
			width: this.crtContext.page.width * this.sliderPage.getValue() / 100.,
			height: this.crtContext.page.height * this.sliderPage.getValue() / 100.
		}
bab90f22   Elena.Budnik   format + #5668
60
	},
8c88a270   Erdogan Furkan   10312 - Navigatio...
61
62
63

	getImageUrl: function (resultFolder, plotFile) {
		return 'data/' + sessionID + '/RES/' + resultFolder + '/' + plotFile;
bab90f22   Elena.Budnik   format + #5668
64
	},
8c88a270   Erdogan Furkan   10312 - Navigatio...
65
66
67

	toPixelOnSourceImage: function (value) {
		return value * 100 / this.sliderPage.getValue();
d0b61b72   Benjamin Renard   Show coordinates ...
68
	},
8c88a270   Erdogan Furkan   10312 - Navigatio...
69
70
71

	toPixelOnResultImage: function (value) {
		return value * this.sliderPage.getValue() / 100;
d0b61b72   Benjamin Renard   Show coordinates ...
72
	},
8c88a270   Erdogan Furkan   10312 - Navigatio...
73
74

	createZoomItemsForPanel: function (panelId) {
9f08f4eb   Benjamin Renard   Zoom in interacti...
75
76
77
		var zoomPlugin = this.getPlugin('plot-zoom-plugin-id');
		if (zoomPlugin == null)
			return;
8c88a270   Erdogan Furkan   10312 - Navigatio...
78

9f08f4eb   Benjamin Renard   Zoom in interacti...
79
		var panelContext = amdaPlotComp.PlotContextManager.getPanelById(this.crtContext, panelId);
caff798e   Benjamin Renard   Fix zoom bar for ...
80
		var size = this.getImageSize();
1f9f9178   Menouard AZIB   I have created a ...
81
82
		// We need a list of parameters to compute the number of points needed to apply FFT
		this.listParams = panelContext["parameters"];
bd8d75af   Menouard AZIB   Disable paramter ...
83
84
		console.log(this.crtContext);
		zoomPlugin.path_context_file = 'data/' + sessionID + '/RES/' + this.configResult.folder + '/' + "plotFunction0_context.xml";
1f9f9178   Menouard AZIB   I have created a ...
85
		zoomPlugin.setParameters(this.listParams);
8c88a270   Erdogan Furkan   10312 - Navigatio...
86

bd8d75af   Menouard AZIB   Disable paramter ...
87

9f08f4eb   Benjamin Renard   Zoom in interacti...
88
		var me = this;
8b11b1af   Benjamin Renard   Insert intervals ...
89
		var insertIntervalItem = null;
a54cfb3f   Benjamin Renard   Merge amdadev int...
90
		var plotFunctionItem = null;
9f08f4eb   Benjamin Renard   Zoom in interacti...
91
92
93
94
95
96
97
		Ext.each(panelContext.plotArea.axes, function (axis) {
			//Events for zoom on a time axis
			var onMinTimeSelection = function (posX) {
				//Panel and axis context must be retrieved by using the crtContext
				var panelContext = amdaPlotComp.PlotContextManager.getPanelById(me.crtContext, panelId);
				var axisContext = amdaPlotComp.PlotContextManager.getPanelAxisById(panelContext, axis.id);
				var sourceXPos = me.toPixelOnSourceImage(posX);
8c88a270   Erdogan Furkan   10312 - Navigatio...
98
99
				var crtTimestamp = amdaPlotComp.PlotContextManager.toAxisValue(axisContext, panelContext.plotArea.x, panelContext.plotArea.x + panelContext.plotArea.width, sourceXPos);
				var crtTime = new Date(crtTimestamp * 1000);
9f08f4eb   Benjamin Renard   Zoom in interacti...
100
101
102
				crtTime = Ext.Date.add(crtTime, Ext.Date.MINUTE, crtTime.getTimezoneOffset());
				zoomPlugin.setMinValue(crtTime);
			};
8c88a270   Erdogan Furkan   10312 - Navigatio...
103

9f08f4eb   Benjamin Renard   Zoom in interacti...
104
105
106
107
108
			var onMaxTimeSelection = function (posX) {
				//Panel and axis context must be retrieved by using the crtContext
				var panelContext = amdaPlotComp.PlotContextManager.getPanelById(me.crtContext, panelId);
				var axisContext = amdaPlotComp.PlotContextManager.getPanelAxisById(panelContext, axis.id);
				var sourceXPos = me.toPixelOnSourceImage(posX);
8c88a270   Erdogan Furkan   10312 - Navigatio...
109
110
				var crtTimestamp = amdaPlotComp.PlotContextManager.toAxisValue(axisContext, panelContext.plotArea.x, panelContext.plotArea.x + panelContext.plotArea.width, sourceXPos);
				var crtTime = new Date(crtTimestamp * 1000);
9f08f4eb   Benjamin Renard   Zoom in interacti...
111
112
113
				crtTime = Ext.Date.add(crtTime, Ext.Date.MINUTE, crtTime.getTimezoneOffset());
				zoomPlugin.setMaxValue(crtTime);
			};
8c88a270   Erdogan Furkan   10312 - Navigatio...
114

9f08f4eb   Benjamin Renard   Zoom in interacti...
115
			//Events for zoom on a Y axis
8c88a270   Erdogan Furkan   10312 - Navigatio...
116
			var onMinYValueSelection = function (posY) {
9f08f4eb   Benjamin Renard   Zoom in interacti...
117
118
119
120
				//Panel and axis context must be retrieved by using the crtContext
				var panelContext = amdaPlotComp.PlotContextManager.getPanelById(me.crtContext, panelId);
				var axisContext = amdaPlotComp.PlotContextManager.getPanelAxisById(panelContext, axis.id);
				var sourceYPos = me.toPixelOnSourceImage(posY);
8c88a270   Erdogan Furkan   10312 - Navigatio...
121
				var crtValue = amdaPlotComp.PlotContextManager.toAxisValue(axisContext, panelContext.plotArea.y + panelContext.plotArea.height, panelContext.plotArea.y, sourceYPos);
9f08f4eb   Benjamin Renard   Zoom in interacti...
122
123
				zoomPlugin.setMinValue(crtValue);
			};
8c88a270   Erdogan Furkan   10312 - Navigatio...
124
125

			var onMaxYValueSelection = function (posY) {
9f08f4eb   Benjamin Renard   Zoom in interacti...
126
127
128
129
				//Panel and axis context must be retrieved by using the crtContext
				var panelContext = amdaPlotComp.PlotContextManager.getPanelById(me.crtContext, panelId);
				var axisContext = amdaPlotComp.PlotContextManager.getPanelAxisById(panelContext, axis.id);
				var sourceYPos = me.toPixelOnSourceImage(posY);
8c88a270   Erdogan Furkan   10312 - Navigatio...
130
				var crtValue = amdaPlotComp.PlotContextManager.toAxisValue(axisContext, panelContext.plotArea.y + panelContext.plotArea.height, panelContext.plotArea.y, sourceYPos);
9f08f4eb   Benjamin Renard   Zoom in interacti...
131
132
				zoomPlugin.setMaxValue(crtValue);
			};
8c88a270   Erdogan Furkan   10312 - Navigatio...
133

9f08f4eb   Benjamin Renard   Zoom in interacti...
134
			//Events for zoom on X axis
8c88a270   Erdogan Furkan   10312 - Navigatio...
135
			var onMinXValueSelection = function (posX) {
9f08f4eb   Benjamin Renard   Zoom in interacti...
136
137
138
139
140
141
142
				//Panel and axis context must be retrieved by using the crtContext
				var panelContext = amdaPlotComp.PlotContextManager.getPanelById(me.crtContext, panelId);
				var axisContext = amdaPlotComp.PlotContextManager.getPanelAxisById(panelContext, axis.id);
				var sourceXPos = me.toPixelOnSourceImage(posX);
				var crtValue = amdaPlotComp.PlotContextManager.toAxisValue(axisContext, panelContext.plotArea.x, panelContext.plotArea.x + panelContext.plotArea.width, sourceXPos);
				zoomPlugin.setMinValue(crtValue);
			};
8c88a270   Erdogan Furkan   10312 - Navigatio...
143
144

			var onMaxXValueSelection = function (posX) {
9f08f4eb   Benjamin Renard   Zoom in interacti...
145
146
147
148
149
150
151
				//Panel and axis context must be retrieved by using the crtContext
				var panelContext = amdaPlotComp.PlotContextManager.getPanelById(me.crtContext, panelId);
				var axisContext = amdaPlotComp.PlotContextManager.getPanelAxisById(panelContext, axis.id);
				var sourceXPos = me.toPixelOnSourceImage(posX);
				var crtValue = amdaPlotComp.PlotContextManager.toAxisValue(axisContext, panelContext.plotArea.x, panelContext.plotArea.x + panelContext.plotArea.width, sourceXPos);
				zoomPlugin.setMaxValue(crtValue);
			};
8c88a270   Erdogan Furkan   10312 - Navigatio...
152
153
154
155
156
157
158
159
160
161
162
163

			switch (axis.id) {
				case 'timeAxis':
					me.contextualMenu.add({
						text: 'Zoom on Time Axis',
						handler: function (item, e) {
							zoomPlugin.show(me.interactiveId, axis.id, panelContext.id);
							zoomPlugin.resetMinMaxValue();
							me.panelImage.startZoom(true, 0/*me.toPixelOnResultImage(panelContext.y)*/, size.height /*me.toPixelOnResultImage(panelContext.height)*/, onMinTimeSelection, onMaxTimeSelection);
						},
						scope: this
					});
535d7638   Menouard AZIB   I have added a co...
164
					//plotFunction Menu
d0692c05   Menouard AZIB   Everthing works well
165
					plotFunctionItem = {
f401b3c7   Benjamin Renard   Fix
166
						text: 'Apply a Function on Interval',
535d7638   Menouard AZIB   I have added a co...
167
168
169
170
171
172
						handler: function (item, e) {
							zoomPlugin.show(me.interactiveId, axis.id, panelContext.id, true);
							zoomPlugin.resetMinMaxValue();
							me.panelImage.startZoom(true, 0, size.height, onMinTimeSelection, onMaxTimeSelection);
						},
						scope: this
d0692c05   Menouard AZIB   Everthing works well
173
					};
8c88a270   Erdogan Furkan   10312 - Navigatio...
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
					insertIntervalItem = {
						text: 'Insert Interval in TimeTable or Catalog',
						handler: function (item, e) {
							zoomPlugin.show(me.interactiveId, axis.id, panelContext.id);
							zoomPlugin.resetMinMaxValue();
							me.panelImage.startZoom(true, 0/*me.toPixelOnResultImage(panelContext.y)*/, size.height /*me.toPixelOnResultImage(panelContext.height)*/, onMinTimeSelection, onMaxTimeSelection);
						},
						scope: this
					};
					break;
				case 'y-left':
					me.contextualMenu.add({
						text: 'Zoom on Y Left Axis',
						handler: function (item, e) {
							zoomPlugin.show(me.interactiveId, axis.id, panelContext.id);
							zoomPlugin.resetMinMaxValue();
							me.panelImage.startZoom(false, me.toPixelOnResultImage(panelContext.x), me.toPixelOnResultImage(panelContext.width), onMinYValueSelection, onMaxYValueSelection);
						}
					});
					break;
				case 'y-right':
					me.contextualMenu.add({
						text: 'Zoom on Y Right Axis',
						handler: function (item, e) {
							zoomPlugin.show(me.interactiveId, axis.id, panelContext.id);
							zoomPlugin.resetMinMaxValue();
							me.panelImage.startZoom(false, me.toPixelOnResultImage(panelContext.x), me.toPixelOnResultImage(panelContext.width), onMinYValueSelection, onMaxYValueSelection);
						}
					});
					break;
				case 'xaxis_id':
					me.contextualMenu.add({
						text: 'Zoom on X Axis',
						handler: function (item, e) {
							zoomPlugin.show(me.interactiveId, axis.id, panelContext.id);
							zoomPlugin.resetMinMaxValue();
							me.panelImage.startZoom(true, me.toPixelOnResultImage(panelContext.y), me.toPixelOnResultImage(panelContext.height), onMinXValueSelection, onMaxXValueSelection);
						}
					});
					break;
				case 'epochAxis':
					//Nothing to add
					break;
9f08f4eb   Benjamin Renard   Zoom in interacti...
217
			}
8c88a270   Erdogan Furkan   10312 - Navigatio...
218

9f08f4eb   Benjamin Renard   Zoom in interacti...
219
		});
8b11b1af   Benjamin Renard   Insert intervals ...
220
221
222
223
224

		if (insertIntervalItem != null) {
			me.contextualMenu.add('-');
			me.contextualMenu.add(insertIntervalItem);
		}
f401b3c7   Benjamin Renard   Fix
225
		if (plotFunctionItem != null) {
bd8d75af   Menouard AZIB   Disable paramter ...
226
			me.contextualMenu.insert(0, '-');
f401b3c7   Benjamin Renard   Fix
227
228
			me.contextualMenu.insert(0, plotFunctionItem);
		}
9f08f4eb   Benjamin Renard   Zoom in interacti...
229
	},
2ea6eb0d   Benjamin Renard   Fix decimal preci...
230

8c88a270   Erdogan Furkan   10312 - Navigatio...
231
232
233
234
235
236
237
238
239
240
241
242
243
	getAxisValue: function (axis, pixelMin, pixelMax, pixelVal) {
		var val = amdaPlotComp.PlotContextManager.toAxisValue(axis, pixelMin, pixelMax, pixelVal);
		return parseFloat(val).toPrecision(5);
	},

	createPlotImage: function (resultFolder, plotFile) {
		var me = this;
		var size = this.getImageSize();
		this.panelImage = Ext.create('amdaPlotComp.PlotResultImage', {
			src: this.getImageUrl(resultFolder, plotFile),
			width: size.width,
			height: size.height,
			onMouseMove: function (x, y) {
d0b61b72   Benjamin Renard   Show coordinates ...
244
245
				if (!me.crtContext)
					return;
8c88a270   Erdogan Furkan   10312 - Navigatio...
246

d0b61b72   Benjamin Renard   Show coordinates ...
247
248
249
				var sourceXPos = me.toPixelOnSourceImage(x);
				var sourceYPos = me.toPixelOnSourceImage(y);
				var panel = amdaPlotComp.PlotContextManager.getPanel(me.crtContext, sourceXPos, sourceYPos);
2cd12bf9   Erdogan Furkan   #9326 - Showing T...
250

d0b61b72   Benjamin Renard   Show coordinates ...
251
				var text = '';
8c88a270   Erdogan Furkan   10312 - Navigatio...
252
253
				if (me.panelImage) {
					if (!panel) {
d0b61b72   Benjamin Renard   Show coordinates ...
254
255
256
						me.panelImage.resetCursor();
						text += 'No panel';
					}
8c88a270   Erdogan Furkan   10312 - Navigatio...
257
					else {
d0b61b72   Benjamin Renard   Show coordinates ...
258
259
						text += 'Panel Id : ';
						text += panel.id;
8c88a270   Erdogan Furkan   10312 - Navigatio...
260
						if (amdaPlotComp.PlotContextManager.isInPlotArea(panel, sourceXPos, sourceYPos)) {
d0b61b72   Benjamin Renard   Show coordinates ...
261
262
263
264
265
266
267
							/*me.panelImage.updateCursor(
								me.toPixelOnResultImage(panel.plotArea.x),
								me.toPixelOnResultImage(panel.plotArea.y),
								me.toPixelOnResultImage(panel.plotArea.width),
								me.toPixelOnResultImage(panel.plotArea.height),
								x, y);*/
							me.panelImage.updateCursor(
8c88a270   Erdogan Furkan   10312 - Navigatio...
268
269
270
271
272
273
								me.toPixelOnResultImage(0),
								me.toPixelOnResultImage(0),
								me.toPixelOnResultImage(me.crtContext.page.width),
								me.toPixelOnResultImage(me.crtContext.page.height),
								x, y);

d0b61b72   Benjamin Renard   Show coordinates ...
274
275
276
							var xText = '';
							var yLeftText = '';
							var yRightText = '';
2cd12bf9   Erdogan Furkan   #9326 - Showing T...
277
							var intervalText = '';
d0b61b72   Benjamin Renard   Show coordinates ...
278
							Ext.each(panel.plotArea.axes, function (axis) {
8c88a270   Erdogan Furkan   10312 - Navigatio...
279
280
281
282
								switch (axis.id) {
									case 'timeAxis':
										var crtTimestamp = amdaPlotComp.PlotContextManager.toAxisValue(axis, panel.plotArea.x, panel.plotArea.x + panel.plotArea.width, sourceXPos);
										var crtTime = new Date(crtTimestamp * 1000);
c2cc7749   Erdogan Furkan   #10098 - Modifica...
283
										intervalText = amdaPlotComp.PlotContextManager.getIntervalCoordInfo(me.crtContext, panel, crtTimestamp);
8c88a270   Erdogan Furkan   10312 - Navigatio...
284
										xText = crtTime.toJSON();
8c88a270   Erdogan Furkan   10312 - Navigatio...
285
286
287
288
289
290
291
292
293
294
295
296
297
										break;
									case 'y-left':
										yLeftText = me.getAxisValue(axis, panel.plotArea.y + panel.plotArea.height, panel.plotArea.y, sourceYPos);
										break;
									case 'y-right':
										yRightText = me.getAxisValue(axis, panel.plotArea.y + panel.plotArea.height, panel.plotArea.y, sourceYPos);
										break;
									case 'xaxis_id':
										xText = me.getAxisValue(axis, panel.plotArea.x, panel.plotArea.x + panel.plotArea.width, sourceXPos);
										break;
									case 'epochAxis':
										xText = me.getAxisValue(axis, panel.plotArea.x, panel.plotArea.x + panel.plotArea.width, sourceXPos);
										break;
d0b61b72   Benjamin Renard   Show coordinates ...
298
								}
8c88a270   Erdogan Furkan   10312 - Navigatio...
299

d0b61b72   Benjamin Renard   Show coordinates ...
300
							});
8c88a270   Erdogan Furkan   10312 - Navigatio...
301

d0b61b72   Benjamin Renard   Show coordinates ...
302
							if (xText != '')
8c88a270   Erdogan Furkan   10312 - Navigatio...
303
								text += (', X : ' + xText);
d0b61b72   Benjamin Renard   Show coordinates ...
304
							if (yLeftText != '')
8c88a270   Erdogan Furkan   10312 - Navigatio...
305
								text += (', Y Left : ' + yLeftText);
d0b61b72   Benjamin Renard   Show coordinates ...
306
							if (yRightText != '')
8c88a270   Erdogan Furkan   10312 - Navigatio...
307
								text += (', Y Right : ' + yRightText);
2cd12bf9   Erdogan Furkan   #9326 - Showing T...
308
							if (intervalText != '')
c2cc7749   Erdogan Furkan   #10098 - Modifica...
309
								text += (', ' + intervalText);
d0b61b72   Benjamin Renard   Show coordinates ...
310
311
312
313
314
315
316
						}
						else
							me.panelImage.resetCursor();
					}
				}
				me.coordinatesField.setText(text);
			},
8c88a270   Erdogan Furkan   10312 - Navigatio...
317
			onContextMenu: function (absoluteX, absoluteY, imageX, imageY) {
9f08f4eb   Benjamin Renard   Zoom in interacti...
318
319
				if (!me.crtContext)
					return;
8c88a270   Erdogan Furkan   10312 - Navigatio...
320

87658ba0   Benjamin Renard   TT Navigation in ...
321
				me.contextualMenu.removeAll(true);
8c88a270   Erdogan Furkan   10312 - Navigatio...
322

9f08f4eb   Benjamin Renard   Zoom in interacti...
323
324
325
				var sourceXPos = me.toPixelOnSourceImage(imageX);
				var sourceYPos = me.toPixelOnSourceImage(imageY);
				var panel = amdaPlotComp.PlotContextManager.getPanel(me.crtContext, sourceXPos, sourceYPos);
c2cc7749   Erdogan Furkan   #10098 - Modifica...
326
327
328
329
				var timeAxisContext = amdaPlotComp.PlotContextManager.getPanelAxisById(panel, 'timeAxis');
				if (timeAxisContext == null)
					return;
				var crtTimestamp = amdaPlotComp.PlotContextManager.toAxisValue(timeAxisContext, panel.plotArea.x, panel.plotArea.x + panel.plotArea.width, sourceXPos);
8c88a270   Erdogan Furkan   10312 - Navigatio...
330
331
332

				if (panel != null) {
					if (panel.plotArea.hasSpectro) {
c9071a43   Benjamin Renard   Add instant plot ...
333
						me.contextualMenu.add([
bab90f22   Elena.Budnik   format + #5668
334
							{
8c88a270   Erdogan Furkan   10312 - Navigatio...
335
336
								text: 'Instant cut at this position',
								handler: function () {
c2cc7749   Erdogan Furkan   #10098 - Modifica...
337

8c88a270   Erdogan Furkan   10312 - Navigatio...
338
									var crtTime = new Date(crtTimestamp * 1000);
3afa41ee   Erdogan Furkan   #10663 - Fixed bug
339
									//crtTime = Ext.Date.add(crtTime, Ext.Date.MINUTE, crtTime.getTimezoneOffset());
592d7b65   Menouard AZIB   Merge develop int...
340
									me.callInteractivePlot({ 'action': 'instant', 'interactiveId': this.interactiveId, 'panelId': panel.id, 'time': crtTime.toISOString() });
bab90f22   Elena.Budnik   format + #5668
341
342
343
								},
								scope: me
							},
8c88a270   Erdogan Furkan   10312 - Navigatio...
344
							'-'
c9071a43   Benjamin Renard   Add instant plot ...
345
346
						]);
					}
9f08f4eb   Benjamin Renard   Zoom in interacti...
347
348
					if (amdaPlotComp.PlotContextManager.isInPlotArea(panel, sourceXPos, sourceYPos))
						me.createZoomItemsForPanel(panel.id);
c2cc7749   Erdogan Furkan   #10098 - Modifica...
349
350


9f08f4eb   Benjamin Renard   Zoom in interacti...
351
				}
8b11b1af   Benjamin Renard   Insert intervals ...
352

9f08f4eb   Benjamin Renard   Zoom in interacti...
353
354
				if (me.contextualMenu.items.getCount() > 0)
					me.contextualMenu.add('-');
8c88a270   Erdogan Furkan   10312 - Navigatio...
355

37e81bff   Benjamin Renard   Direct save of pl...
356
				me.contextualMenu.add([
bab90f22   Elena.Budnik   format + #5668
357
					{
8c88a270   Erdogan Furkan   10312 - Navigatio...
358
359
360
						text: 'Extend/Shift Time interval',
						disabled: me.isTTNavBar,
						handler: function () {
bab90f22   Elena.Budnik   format + #5668
361
							var extendShiftPlugin = this.getPlugin('plot-extendshift-plugin-id');
b39c9d1d   Benjamin Renard   Fix interactive n...
362
							extendShiftPlugin.show(me.interactiveId);
bab90f22   Elena.Budnik   format + #5668
363
364
365
366
367
368
						},
						scope: me
					},
					'-',
					{
						text: 'Save Plot',
8c88a270   Erdogan Furkan   10312 - Navigatio...
369
						handler: function () {
bab90f22   Elena.Budnik   format + #5668
370
371
							if (me.hiddenForm == null)
								me.hiddenForm = Ext.create('Ext.form.Panel', {
8c88a270   Erdogan Furkan   10312 - Navigatio...
372
									title: 'hiddenForm',
bab90f22   Elena.Budnik   format + #5668
373
374
375
376
									renderTo: Ext.getBody(),
									standardSubmit: true,
									url: 'php/downloadPlot.php',
									timeout: 120000,
8c88a270   Erdogan Furkan   10312 - Navigatio...
377
									height: 100,
bab90f22   Elena.Budnik   format + #5668
378
									width: 100,
8c88a270   Erdogan Furkan   10312 - Navigatio...
379
380
									hidden: true,
									items: []
bab90f22   Elena.Budnik   format + #5668
381
								});
37e81bff   Benjamin Renard   Direct save of pl...
382

bab90f22   Elena.Budnik   format + #5668
383
384
385
							me.hiddenForm.getForm().submit({
								params: {
									sessionId: sessionID,
8c88a270   Erdogan Furkan   10312 - Navigatio...
386
									interactiveId: me.interactiveId
bab90f22   Elena.Budnik   format + #5668
387
								},
8c88a270   Erdogan Furkan   10312 - Navigatio...
388
389
								success: function (form, action) { },
								failure: function (form, action) { }
bab90f22   Elena.Budnik   format + #5668
390
391
392
							});
						}
					}
37e81bff   Benjamin Renard   Direct save of pl...
393
				]);
8c88a270   Erdogan Furkan   10312 - Navigatio...
394

c2cc7749   Erdogan Furkan   #10098 - Modifica...
395
396
397
398
399
400
				if (amdaPlotComp.PlotContextManager.isInterval(me.crtContext, panel, crtTimestamp)) {
					var allintervalParams = amdaPlotComp.PlotContextManager.getAllIntervalParams(me.crtContext, panel, crtTimestamp);
					if (allintervalParams.length > 0) {

						var links = amdaPlotComp.PlotContextManager.getIntervalLinks(allintervalParams);
						if (links.length > 0) {
1be6ea03   Erdogan Furkan   #10098 - Final co...
401
402
							var menu = Ext.create('Ext.menu.Menu', { plain: true });
							var realLinks = amdaPlotComp.PlotContextManager.setIntervalsRef(links, menu);
c2cc7749   Erdogan Furkan   #10098 - Modifica...
403
404
405
							me.contextualMenu.add('-');
							me.contextualMenu.add([
								{
1be6ea03   Erdogan Furkan   #10098 - Final co...
406
407
									text: 'Open references (' + realLinks.length + ')',
									menu: menu,
c2cc7749   Erdogan Furkan   #10098 - Modifica...
408
409
410
411
412
413
									scope: me
								}]);
						}
					}
				}

9f08f4eb   Benjamin Renard   Zoom in interacti...
414
415
				me.contextualMenu.showAt(absoluteX, absoluteY);
			}
bab90f22   Elena.Budnik   format + #5668
416
		});
16035364   Benjamin Renard   First commit
417

bab90f22   Elena.Budnik   format + #5668
418
419
		return this.panelImage;
	},
8c88a270   Erdogan Furkan   10312 - Navigatio...
420
421

	updatePlotImage: function (configResult, newPlot) {
bab90f22   Elena.Budnik   format + #5668
422
		this.crtContext = configResult.context;
8c88a270   Erdogan Furkan   10312 - Navigatio...
423
424


bab90f22   Elena.Budnik   format + #5668
425
		this.crtTTFileIndex = configResult.ttFileIndex;
8c88a270   Erdogan Furkan   10312 - Navigatio...
426
427

		if (this.isTTNavBar != (!configResult.isInterval) || (this.isSuperposeMode != this.crtContext.page.superposeMode)) {
bab90f22   Elena.Budnik   format + #5668
428
429
430
			//Update navigation bar
			this.updateNavToolBar(!configResult.isInterval, this.crtContext.page.superposeMode);
		}
8c88a270   Erdogan Furkan   10312 - Navigatio...
431

bab90f22   Elena.Budnik   format + #5668
432
		this.updateTimeTableInfo();
8c88a270   Erdogan Furkan   10312 - Navigatio...
433

bab90f22   Elena.Budnik   format + #5668
434
		this.panelImage.setSrc(this.getImageUrl(configResult.folder, configResult.plotFile));
8c88a270   Erdogan Furkan   10312 - Navigatio...
435

bab90f22   Elena.Budnik   format + #5668
436
437
		var size = this.getImageSize();
		this.panelImage.setSize(size.width, size.height);
8c88a270   Erdogan Furkan   10312 - Navigatio...
438

bab90f22   Elena.Budnik   format + #5668
439
440
		this.panelImage.refreshMe();
	},
8c88a270   Erdogan Furkan   10312 - Navigatio...
441
442

	updateTimeTableInfo: function () {
bab90f22   Elena.Budnik   format + #5668
443
444
		if (!this.navToolBar)
			return;
8c88a270   Erdogan Furkan   10312 - Navigatio...
445
446

		var ttNameField = this.navToolBar.items.get('tt-table-' + this.interactiveId);
bab90f22   Elena.Budnik   format + #5668
447
448
		if (ttNameField)
			ttNameField.setValue(this.crtContext.page.ttName);
8c88a270   Erdogan Furkan   10312 - Navigatio...
449
450

		var ttNumberField = this.navToolBar.items.get('tt-number-' + this.interactiveId);
bab90f22   Elena.Budnik   format + #5668
451
452
		if (ttNumberField)
			ttNumberField.setValue(this.crtContext.page.ttIndex + 1);
8c88a270   Erdogan Furkan   10312 - Navigatio...
453
454

		var ttTotalField = this.navToolBar.items.get('tt-total-' + this.interactiveId);
bab90f22   Elena.Budnik   format + #5668
455
456
457
		if (ttTotalField)
			ttTotalField.setValue(this.crtContext.page.ttNbIntervals);
	},
8c88a270   Erdogan Furkan   10312 - Navigatio...
458

bd8d75af   Menouard AZIB   Disable paramter ...
459
	callInteractivePlot: function (obj, postProcess = () => null) {
bab90f22   Elena.Budnik   format + #5668
460
		loadMask.show(true);
8c88a270   Erdogan Furkan   10312 - Navigatio...
461

bab90f22   Elena.Budnik   format + #5668
462
		var plotModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.plot.id);
27a055f4   Benjamin Renard   Multiplot (#8314)
463
		obj['multiplot'] = this.multiplot;
8c88a270   Erdogan Furkan   10312 - Navigatio...
464

b0a1c31b   Benjamin Renard   Remove multi-plot...
465
		AmdaAction.interactivePlot(obj, function (result, e) {
bab90f22   Elena.Budnik   format + #5668
466
467
			loadMask.hide();
			var t = e.getTransaction();
8c88a270   Erdogan Furkan   10312 - Navigatio...
468
469
			if (e.status) {
				if (result) {
bd8d75af   Menouard AZIB   Disable paramter ...
470
					console.log(result);
8c88a270   Erdogan Furkan   10312 - Navigatio...
471
					if (result.success) {
a0db7984   Erdogan Furkan   #10663 - Done
472
						plotModule.updateInteractiveSession(result, false, obj['panelId'], obj['time']);
9f08f4eb   Benjamin Renard   Zoom in interacti...
473
474
					}
					else
8c88a270   Erdogan Furkan   10312 - Navigatio...
475
						myDesktopApp.errorMsg('Interactive action error - ' + result.message);
9f08f4eb   Benjamin Renard   Zoom in interacti...
476
477
478
479
				}
				else
					myDesktopApp.errorMsg('Cannot execute interactive action');
			}
8c88a270   Erdogan Furkan   10312 - Navigatio...
480
			else {
9f08f4eb   Benjamin Renard   Zoom in interacti...
481
				// FAILURE
8c88a270   Erdogan Furkan   10312 - Navigatio...
482
483
484
				myDesktopApp.errorMsg('Error System - ' + e.message);
			}
		}, this);
bab90f22   Elena.Budnik   format + #5668
485
	},
8c88a270   Erdogan Furkan   10312 - Navigatio...
486
487

	updateNavToolBar: function (isTimeTable, isSuperposeMode) {
bab90f22   Elena.Budnik   format + #5668
488
489
		if (this.navToolBar)
			this.navToolBar.removeAll(true);
8c88a270   Erdogan Furkan   10312 - Navigatio...
490

bab90f22   Elena.Budnik   format + #5668
491
		var commonItemsCfg = [
8c88a270   Erdogan Furkan   10312 - Navigatio...
492
493
494
495
496
497
			'-',
			{
				xtype: 'tbspacer',
				width: 20
			},
			'->',
bab90f22   Elena.Budnik   format + #5668
498
			{
8c88a270   Erdogan Furkan   10312 - Navigatio...
499
				text: 'Get HST Data',
bab90f22   Elena.Budnik   format + #5668
500
				scope: this,
8c88a270   Erdogan Furkan   10312 - Navigatio...
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
				menu: [
					{
						text: 'Giant Planet Auroral Emissions',
						scope: this,
						handler: function () {
							var me = this;
							myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.astro.id, true, function (module) {
								var startTime = new Date(me.crtContext.page.startTime * 1000);
								startTime = Ext.Date.add(startTime, Ext.Date.MINUTE, startTime.getTimezoneOffset());

								var stopTime = new Date(me.crtContext.page.stopTime * 1000);
								stopTime = Ext.Date.add(stopTime, Ext.Date.MINUTE, stopTime.getTimezoneOffset());

								module.createWindow(startTime, stopTime);
							});
						}
					}]
			}];

		if (isTimeTable) {
bab90f22   Elena.Budnik   format + #5668
521
522
523
			var navigationItemsCfg = [{
				text: 'Previous',
				scope: this,
8c88a270   Erdogan Furkan   10312 - Navigatio...
524
				handler: function () {
bab90f22   Elena.Budnik   format + #5668
525
526
					var ttFileIndex = this.crtTTFileIndex;
					var ttintervalIndex = this.crtContext.page.ttIndex;
8c88a270   Erdogan Furkan   10312 - Navigatio...
527
528
529

					if (ttintervalIndex <= 0 && ttFileIndex > 0) {
						--ttFileIndex;
bab90f22   Elena.Budnik   format + #5668
530
531
532
					}
					else
						--ttintervalIndex;
8c88a270   Erdogan Furkan   10312 - Navigatio...
533
534
					this.callInteractivePlot({ 'action': 'goto', 'interactiveId': this.interactiveId, 'ttFileIndex': ttFileIndex, 'intIndex': ttintervalIndex });
				}
bab90f22   Elena.Budnik   format + #5668
535
			},
8c88a270   Erdogan Furkan   10312 - Navigatio...
536
				'-',
bab90f22   Elena.Budnik   format + #5668
537
538
539
			{
				text: 'Next',
				scope: this,
8c88a270   Erdogan Furkan   10312 - Navigatio...
540
				handler: function () {
bab90f22   Elena.Budnik   format + #5668
541
542
					var ttFileIndex = this.crtTTFileIndex;
					var ttintervalIndex = this.crtContext.page.ttIndex;
8c88a270   Erdogan Furkan   10312 - Navigatio...
543
544
545

					if (ttintervalIndex >= this.crtContext.page.ttNbIntervals - 1) {

bab90f22   Elena.Budnik   format + #5668
546
547
548
549
550
551
						++ttFileIndex;
						ttintervalIndex = 0;
					}
					else
						++ttintervalIndex;

8c88a270   Erdogan Furkan   10312 - Navigatio...
552
					this.callInteractivePlot({ 'action': 'goto', 'interactiveId': this.interactiveId, 'ttFileIndex': ttFileIndex, 'intIndex': ttintervalIndex });
bab90f22   Elena.Budnik   format + #5668
553
554
				}
			},
535d7638   Menouard AZIB   I have added a co...
555
				'-',
8c88a270   Erdogan Furkan   10312 - Navigatio...
556
			{
46bd4591   Hacene SI HADJ MOHAND   us ok
557
558
				text: 'Use This Time Inteval',
				scope: this,
535d7638   Menouard AZIB   I have added a co...
559
560
561
562
563
564
565
				handler: function () {
					var timeObj = new Object();
					var startTime = new Date(this.crtContext.page.startTime * 1000);
					timeObj.start = Ext.Date.add(startTime, Ext.Date.MINUTE, startTime.getTimezoneOffset());

					var stopTime = new Date(this.crtContext.page.stopTime * 1000);
					timeObj.stop = Ext.Date.add(stopTime, Ext.Date.MINUTE, stopTime.getTimezoneOffset());
46bd4591   Hacene SI HADJ MOHAND   us ok
566
567

					var plotModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.plot.id);
535d7638   Menouard AZIB   I have added a co...
568
					plotModule.setTimeInterval(timeObj);
46bd4591   Hacene SI HADJ MOHAND   us ok
569
570
				}
			},
535d7638   Menouard AZIB   I have added a co...
571
572
573
				'-',
			{
				text: 'Go to Interval #',
bab90f22   Elena.Budnik   format + #5668
574
				scope: this,
8c88a270   Erdogan Furkan   10312 - Navigatio...
575
576
				handler: function (bt) {
					var ttGotoNumberField = this.navToolBar.items.get('tt-goto-number-' + this.interactiveId);
bab90f22   Elena.Budnik   format + #5668
577
578
579
580
					var goToIndex = ttGotoNumberField.getValue() - 1;
					if ((goToIndex < 0) || (goToIndex >= this.crtContext.page.ttNbIntervals))
						myDesktopApp.errorMsg('This interval number is outside of the current timeTable');
					else
8c88a270   Erdogan Furkan   10312 - Navigatio...
581
						this.callInteractivePlot({ 'action': 'goto', 'interactiveId': this.interactiveId, 'ttFileIndex': this.crtTTFileIndex, 'intIndex': goToIndex });
bab90f22   Elena.Budnik   format + #5668
582
583
584
585
				}
			},
			{
				xtype: 'numberfield',
8c88a270   Erdogan Furkan   10312 - Navigatio...
586
587
588
				id: 'tt-goto-number-' + this.interactiveId,
				hideTrigger: true,
				width: 50,
bab90f22   Elena.Budnik   format + #5668
589
590
				minValue: 1
			},
8c88a270   Erdogan Furkan   10312 - Navigatio...
591
592
593
594
				' ',
				' ',
				' ',
			{
bab90f22   Elena.Budnik   format + #5668
595
				xtype: 'textfield',
8c88a270   Erdogan Furkan   10312 - Navigatio...
596
				id: 'tt-table-' + this.interactiveId,
bab90f22   Elena.Budnik   format + #5668
597
598
599
600
				labelAlign: 'right',
				labelWidth: 30,
				fieldLabel: 'Table',
				width: 130,
8c88a270   Erdogan Furkan   10312 - Navigatio...
601
				disabled: true
bab90f22   Elena.Budnik   format + #5668
602
			},
8c88a270   Erdogan Furkan   10312 - Navigatio...
603
			{
bab90f22   Elena.Budnik   format + #5668
604
				xtype: 'textfield',
8c88a270   Erdogan Furkan   10312 - Navigatio...
605
				id: 'tt-number-' + this.interactiveId,
bab90f22   Elena.Budnik   format + #5668
606
607
608
609
				labelAlign: 'right',
				labelWidth: 30,
				fieldLabel: 'Int #',
				width: 90,
8c88a270   Erdogan Furkan   10312 - Navigatio...
610
				disabled: true
bab90f22   Elena.Budnik   format + #5668
611
			},
8c88a270   Erdogan Furkan   10312 - Navigatio...
612
613
614
			{
				xtype: 'textfield',
				id: 'tt-total-' + this.interactiveId,
bab90f22   Elena.Budnik   format + #5668
615
616
617
618
				labelAlign: 'right',
				labelWidth: 30,
				fieldLabel: 'Total',
				width: 90,
8c88a270   Erdogan Furkan   10312 - Navigatio...
619
				disabled: true
bab90f22   Elena.Budnik   format + #5668
620
621
			}];
		}
8c88a270   Erdogan Furkan   10312 - Navigatio...
622
		else {
bab90f22   Elena.Budnik   format + #5668
623
			var navigationItemsCfg = [
8c88a270   Erdogan Furkan   10312 - Navigatio...
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
				{
					text: 'Backward',
					scope: this,
					handler: function () {
						this.callInteractivePlot({ 'action': 'backward', 'interactiveId': this.interactiveId });
					}
				},
				'-',
				{
					text: '1/2 Backward',
					scope: this,
					handler: function () {
						this.callInteractivePlot({ 'action': 'halfbackward', 'interactiveId': this.interactiveId });
					}
				},
				'-',
				{
					text: '1/4 Backward',
					scope: this,
					handler: function () {
						this.callInteractivePlot({ 'action': 'quarterbackward', 'interactiveId': this.interactiveId });
					}
				},
				'-',
				{
					text: '1/4 Forward',
					scope: this,
					handler: function () {
						this.callInteractivePlot({ 'action': 'quarterforward', 'interactiveId': this.interactiveId });
					}
				},
				'-',
				{
					text: '1/2 Forward',
					scope: this,
					handler: function () {
						this.callInteractivePlot({ 'action': 'halfforward', 'interactiveId': this.interactiveId });
					}
				},
				'-',
				{
					text: 'Forward',
					scope: this,
					handler: function () {
						this.callInteractivePlot({ 'action': 'forward', 'interactiveId': this.interactiveId });
					}
				}];
bab90f22   Elena.Budnik   format + #5668
671
672
673
		}

		var toolItemsCfg = navigationItemsCfg;
8c88a270   Erdogan Furkan   10312 - Navigatio...
674
		Ext.each(commonItemsCfg, function (item) {
bab90f22   Elena.Budnik   format + #5668
675
676
			toolItemsCfg.push(item);
		});
8c88a270   Erdogan Furkan   10312 - Navigatio...
677
678

		if (!this.navToolBar) {
bab90f22   Elena.Budnik   format + #5668
679
680
			var toolConfig = {
				dock: 'top',
8c88a270   Erdogan Furkan   10312 - Navigatio...
681
				items: toolItemsCfg
bab90f22   Elena.Budnik   format + #5668
682
683
			};

8c88a270   Erdogan Furkan   10312 - Navigatio...
684
			this.navToolBar = Ext.create('Ext.toolbar.Toolbar', toolConfig);
bab90f22   Elena.Budnik   format + #5668
685
686
687
688
689
690
691
692
		}
		else
			this.navToolBar.add(toolItemsCfg);

		this.navToolBar.setDisabled(isSuperposeMode);

		this.isTTNavBar = isTimeTable;
		this.isSuperposeMode = isSuperposeMode;
8c88a270   Erdogan Furkan   10312 - Navigatio...
693
694
695
	},

	init: function (configResult) {
bab90f22   Elena.Budnik   format + #5668
696
		this.crtContext = configResult.context;
bd8d75af   Menouard AZIB   Disable paramter ...
697
698
		console.log(configResult);
		this.configResult = configResult;
b39c9d1d   Benjamin Renard   Fix interactive n...
699
		this.interactiveId = configResult.interactiveId;
27a055f4   Benjamin Renard   Multiplot (#8314)
700
		this.multiplot = (configResult.multiplot == true);
bab90f22   Elena.Budnik   format + #5668
701
702
703

		this.coordinatesField = new Ext.toolbar.TextItem({
			width: 300,
8c88a270   Erdogan Furkan   10312 - Navigatio...
704
			text: ''
bab90f22   Elena.Budnik   format + #5668
705
706
707
		});

		this.sliderPage = new Ext.slider.Single({
8c88a270   Erdogan Furkan   10312 - Navigatio...
708
709
710
711
712
713
714
715
716
717
718
719
720
721
			width: 130,
			value: 75,
			increment: 5,
			minValue: 50,
			maxValue: 100,
			fieldLabel: 'Resize',
			labelWidth: 40,
			listeners: {
				scope: this,
				changecomplete: function (s, v) {
					var zoomPlugin = this.getPlugin('plot-zoom-plugin-id');
					zoomPlugin.close();
					var size = this.getImageSize();
					this.panelImage.width = size.width;
bab90f22   Elena.Budnik   format + #5668
722
723
					this.panelImage.height = size.height;
					this.panelImage.doComponentLayout();
8c88a270   Erdogan Furkan   10312 - Navigatio...
724
					this.fireEvent('pagesize', this, v);
bab90f22   Elena.Budnik   format + #5668
725
				}
8c88a270   Erdogan Furkan   10312 - Navigatio...
726
727
728
			}
		});

bab90f22   Elena.Budnik   format + #5668
729
730
731
732
		var mouseToolbar = {
			xtype: 'toolbar',
			height: 25,
			dock: 'bottom',
8c88a270   Erdogan Furkan   10312 - Navigatio...
733
			items: [
bab90f22   Elena.Budnik   format + #5668
734
735
736
737
738
				this.coordinatesField,
				'->',
				this.sliderPage
			]
		};
8c88a270   Erdogan Furkan   10312 - Navigatio...
739

bab90f22   Elena.Budnik   format + #5668
740
741
742
743
744
745
746
747
748
749
		this.contextualMenu = Ext.create('Ext.menu.Menu', {
			width: 200,
			plain: true,
			items: []
		});

		this.updateNavToolBar(!configResult.isInterval, this.crtContext.page.superposeMode);

		this.updateTimeTableInfo();

bab90f22   Elena.Budnik   format + #5668
750
		var plotResultTabPanelConfig = {
8c88a270   Erdogan Furkan   10312 - Navigatio...
751
752
753
			preventHeader: true,
			autoScroll: true,
			items: [this.createPlotImage(configResult.folder, configResult.plotFile)],
bab90f22   Elena.Budnik   format + #5668
754
755
			dockedItems: [this.navToolBar, mouseToolbar],
			plugins: [
8c88a270   Erdogan Furkan   10312 - Navigatio...
756
757
758
759
760
761
762
				{
					ptype: 'plotZoomPlugin',
					pluginId: 'plot-zoom-plugin-id'
				},
				{
					ptype: 'plotExtendShiftPlugin',
					pluginId: 'plot-extendshift-plugin-id'
8c88a270   Erdogan Furkan   10312 - Navigatio...
763
				}],
bab90f22   Elena.Budnik   format + #5668
764
			listeners: {
8c88a270   Erdogan Furkan   10312 - Navigatio...
765
766
				scope: this,
				destroy: function () {
bab90f22   Elena.Budnik   format + #5668
767
768
769
770
771
772
					var zoomPlugin = this.getPlugin('plot-zoom-plugin-id');
					if (zoomPlugin)
						zoomPlugin.close();
					var exttendShiftPlugin = this.getPlugin('plot-extendshift-plugin-id');
					if (exttendShiftPlugin)
						exttendShiftPlugin.close();
bab90f22   Elena.Budnik   format + #5668
773
774
775
				}
			}
		};
8c88a270   Erdogan Furkan   10312 - Navigatio...
776
777

		Ext.apply(this, plotResultTabPanelConfig);
bab90f22   Elena.Budnik   format + #5668
778
779
	}
});