Blame view

js/app/views/PlotTabResultUI.js 27.3 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: '',
6e1e1bf4   Benjamin Renard   Fix some bugs wit...
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) {
6e1e1bf4   Benjamin Renard   Fix some bugs wit...
75
		var zoomPlugin = this.getPlugin('plot-zoom-plugin-id-'+this.interactiveId);
9f08f4eb   Benjamin Renard   Zoom in interacti...
76
77
		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
		// We need a list of parameters to compute the number of points needed to apply FFT
6e1e1bf4   Benjamin Renard   Fix some bugs wit...
82
83
		//this.listParams = panelContext["parameters"];
		//zoomPlugin.setParameters(this.listParams);
8c88a270   Erdogan Furkan   10312 - Navigatio...
84

bd8d75af   Menouard AZIB   Disable paramter ...
85

9f08f4eb   Benjamin Renard   Zoom in interacti...
86
		var me = this;
8b11b1af   Benjamin Renard   Insert intervals ...
87
		var insertIntervalItem = null;
a54cfb3f   Benjamin Renard   Merge amdadev int...
88
		var plotFunctionItem = null;
9f08f4eb   Benjamin Renard   Zoom in interacti...
89
90
91
92
93
94
95
		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...
96
97
				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...
98
99
100
				crtTime = Ext.Date.add(crtTime, Ext.Date.MINUTE, crtTime.getTimezoneOffset());
				zoomPlugin.setMinValue(crtTime);
			};
8c88a270   Erdogan Furkan   10312 - Navigatio...
101

9f08f4eb   Benjamin Renard   Zoom in interacti...
102
103
104
105
106
			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...
107
108
				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...
109
110
111
				crtTime = Ext.Date.add(crtTime, Ext.Date.MINUTE, crtTime.getTimezoneOffset());
				zoomPlugin.setMaxValue(crtTime);
			};
8c88a270   Erdogan Furkan   10312 - Navigatio...
112

9f08f4eb   Benjamin Renard   Zoom in interacti...
113
			//Events for zoom on a Y axis
8c88a270   Erdogan Furkan   10312 - Navigatio...
114
			var onMinYValueSelection = function (posY) {
9f08f4eb   Benjamin Renard   Zoom in interacti...
115
116
117
118
				//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...
119
				var crtValue = amdaPlotComp.PlotContextManager.toAxisValue(axisContext, panelContext.plotArea.y + panelContext.plotArea.height, panelContext.plotArea.y, sourceYPos);
9f08f4eb   Benjamin Renard   Zoom in interacti...
120
121
				zoomPlugin.setMinValue(crtValue);
			};
8c88a270   Erdogan Furkan   10312 - Navigatio...
122
123

			var onMaxYValueSelection = function (posY) {
9f08f4eb   Benjamin Renard   Zoom in interacti...
124
125
126
127
				//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...
128
				var crtValue = amdaPlotComp.PlotContextManager.toAxisValue(axisContext, panelContext.plotArea.y + panelContext.plotArea.height, panelContext.plotArea.y, sourceYPos);
9f08f4eb   Benjamin Renard   Zoom in interacti...
129
130
				zoomPlugin.setMaxValue(crtValue);
			};
8c88a270   Erdogan Furkan   10312 - Navigatio...
131

9f08f4eb   Benjamin Renard   Zoom in interacti...
132
			//Events for zoom on X axis
8c88a270   Erdogan Furkan   10312 - Navigatio...
133
			var onMinXValueSelection = function (posX) {
9f08f4eb   Benjamin Renard   Zoom in interacti...
134
135
136
137
138
139
140
				//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...
141
142

			var onMaxXValueSelection = function (posX) {
9f08f4eb   Benjamin Renard   Zoom in interacti...
143
144
145
146
147
148
149
				//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...
150
151
152
153
154
155
156
157
158
159
160
161

			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...
162
					//plotFunction Menu
d0692c05   Menouard AZIB   Everthing works well
163
					plotFunctionItem = {
f401b3c7   Benjamin Renard   Fix
164
						text: 'Apply a Function on Interval',
535d7638   Menouard AZIB   I have added a co...
165
						handler: function (item, e) {
1591d4c2   Menouard AZIB   Basic functionali...
166
							zoomPlugin.show(me.interactiveId, "plotFunction", panelContext.id);
535d7638   Menouard AZIB   I have added a co...
167
168
169
170
							zoomPlugin.resetMinMaxValue();
							me.panelImage.startZoom(true, 0, size.height, onMinTimeSelection, onMaxTimeSelection);
						},
						scope: this
d0692c05   Menouard AZIB   Everthing works well
171
					};
8c88a270   Erdogan Furkan   10312 - Navigatio...
172
173
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
					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...
215
			}
8c88a270   Erdogan Furkan   10312 - Navigatio...
216

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

		if (insertIntervalItem != null) {
			me.contextualMenu.add('-');
			me.contextualMenu.add(insertIntervalItem);
		}
da1cb3af   Benjamin Renard   Add panel highlig...
223
		if (plotFunctionItem != null) { // #9016 & #6018 - Hide - Not fully tested
bd8d75af   Menouard AZIB   Disable paramter ...
224
			me.contextualMenu.insert(0, '-');
f401b3c7   Benjamin Renard   Fix
225
			me.contextualMenu.insert(0, plotFunctionItem);
da1cb3af   Benjamin Renard   Add panel highlig...
226
		}
9f08f4eb   Benjamin Renard   Zoom in interacti...
227
	},
2ea6eb0d   Benjamin Renard   Fix decimal preci...
228

8c88a270   Erdogan Furkan   10312 - Navigatio...
229
230
231
232
233
	getAxisValue: function (axis, pixelMin, pixelMax, pixelVal) {
		var val = amdaPlotComp.PlotContextManager.toAxisValue(axis, pixelMin, pixelMax, pixelVal);
		return parseFloat(val).toPrecision(5);
	},

c6ee3ae0   Erdogan Furkan   Z values are show...
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
	stringToRgbArray : function (str) {
		var rgbArray = Ext.Array.map(str.split("|"), function(val) {
			var rgb = val.replace(/\[|\]/g, "").split(",");
			return [parseInt(rgb[0]), parseInt(rgb[1]), parseInt(rgb[2])];
		});
		rgbArray.pop();
		return rgbArray;
	},
	  
	getZAxisValue: function(image, x,y, size, axis, bgColor ){

		var me = this;
		if(bgColor==="[-1,-1,-1]")
			bgColor="[255,255,255]"; // More readable for IHM part

		// Get the color under the cursor
		var imgEl = image.getEl();
		var canvas = document.createElement('canvas');
		var context = canvas.getContext('2d');
		canvas.width = size.width;
		canvas.height = size.height;
		context.drawImage(imgEl.dom, 0, 0, canvas.width, canvas.height);
		var imageData = context.getImageData(x, y, 1, 1);
		var r = imageData.data[0];
		var g = imageData.data[1];
		var b = imageData.data[2];
		var cursorColor = "["+r+","+g+","+b+"]";

		// Now we'll transform the color information to values

		if(cursorColor !== bgColor){
			var colorListArray = me.stringToRgbArray(axis.colorsList);

			// Creating the value scale
			var interval = (axis.max - axis.min) / ( colorListArray.length- 1);
8da6a7cb   Benjamin Renard   Improve Z axis co...
269
			valuesListArray = new Array(colorListArray.length);
c6ee3ae0   Erdogan Furkan   Z values are show...
270

8da6a7cb   Benjamin Renard   Improve Z axis co...
271
			for(var i=0;i< colorListArray.length; i++)
c6ee3ae0   Erdogan Furkan   Z values are show...
272
				valuesListArray[i] = axis.min + i * interval;
8da6a7cb   Benjamin Renard   Improve Z axis co...
273

c6ee3ae0   Erdogan Furkan   Z values are show...
274
275
276
277
278
279
280
281
282
283
284
285
286
287
			// Computation of the closest r,g,b values to the cursorColor
			lowestChi = new Array(2);
			for(var i=0;i< colorListArray.length; i++){
				var chi =  Math.sqrt(Math.pow(colorListArray[i][0]-r, 2) + 
									 Math.pow(colorListArray[i][1]-g, 2) + 
									 Math.pow(colorListArray[i][2]-b, 2) );

				if (i == 0)
					lowestChi = [i,chi];
				else if (chi < lowestChi[1])
					lowestChi = [i,chi];
			}

			// Returning values
8da6a7cb   Benjamin Renard   Improve Z axis co...
288
289
290
291
292
293
			if (lowestChi[0] == 0)
				return "<= "+(axis.logarithmic ? "1e" : "")+valuesListArray[lowestChi[0]+1].toFixed(3);
			else if (lowestChi[0] == colorListArray.length- 1)
				return ">= "+(axis.logarithmic ? "1e" : "")+valuesListArray[lowestChi[0]-1].toFixed(3);
			else
				return "~ "+(axis.logarithmic ? "1e" : "")+valuesListArray[lowestChi[0]].toFixed(3);
c6ee3ae0   Erdogan Furkan   Z values are show...
294
295
296
297
		}
		return "";
	},

8c88a270   Erdogan Furkan   10312 - Navigatio...
298
299
300
301
302
303
304
	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,
da1cb3af   Benjamin Renard   Add panel highlig...
305
306
307
308
309
310
311
312
313
314
315
316
317
			showPanelMarker: function (panelId) {
				var panel = amdaPlotComp.PlotContextManager.getPanelById(me.crtContext, panelId);
				if (panel) {
					me.panelImage.updatePanel(
						me.toPixelOnResultImage(panel.x),
						me.toPixelOnResultImage(panel.y),
						me.toPixelOnResultImage(panel.width),
						me.toPixelOnResultImage(panel.height));
				}
			},
			hidePanelMarker: function () {
				me.panelImage.resetPanel();
			},
8c88a270   Erdogan Furkan   10312 - Navigatio...
318
			onMouseMove: function (x, y) {
d0b61b72   Benjamin Renard   Show coordinates ...
319
320
				if (!me.crtContext)
					return;
8c88a270   Erdogan Furkan   10312 - Navigatio...
321

d0b61b72   Benjamin Renard   Show coordinates ...
322
323
324
				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...
325

d0b61b72   Benjamin Renard   Show coordinates ...
326
				var text = '';
8c88a270   Erdogan Furkan   10312 - Navigatio...
327
328
				if (me.panelImage) {
					if (!panel) {
d0b61b72   Benjamin Renard   Show coordinates ...
329
330
331
						me.panelImage.resetCursor();
						text += 'No panel';
					}
8c88a270   Erdogan Furkan   10312 - Navigatio...
332
					else {
d0b61b72   Benjamin Renard   Show coordinates ...
333
334
						text += 'Panel Id : ';
						text += panel.id;
8c88a270   Erdogan Furkan   10312 - Navigatio...
335
						if (amdaPlotComp.PlotContextManager.isInPlotArea(panel, sourceXPos, sourceYPos)) {
d0b61b72   Benjamin Renard   Show coordinates ...
336
337
338
339
340
341
342
							/*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...
343
344
345
346
347
348
								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 ...
349
350
							var xText = '';
							var yLeftText = '';
c6ee3ae0   Erdogan Furkan   Z values are show...
351
							var colorText = '';
d0b61b72   Benjamin Renard   Show coordinates ...
352
							var yRightText = '';
2cd12bf9   Erdogan Furkan   #9326 - Showing T...
353
							var intervalText = '';
c6ee3ae0   Erdogan Furkan   Z values are show...
354
							var image=this;
d0b61b72   Benjamin Renard   Show coordinates ...
355
							Ext.each(panel.plotArea.axes, function (axis) {
8c88a270   Erdogan Furkan   10312 - Navigatio...
356
357
358
359
								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...
360
										intervalText = amdaPlotComp.PlotContextManager.getIntervalCoordInfo(me.crtContext, panel, crtTimestamp);
8c88a270   Erdogan Furkan   10312 - Navigatio...
361
										xText = crtTime.toJSON();
8c88a270   Erdogan Furkan   10312 - Navigatio...
362
363
364
365
366
367
368
										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;
c6ee3ae0   Erdogan Furkan   Z values are show...
369
370
371
									case 'colorAxis':
										colorText = me.getZAxisValue(image, x,y, size,axis,panel.plotArea.plotAreaBackgroundColor );
										break;
8c88a270   Erdogan Furkan   10312 - Navigatio...
372
373
374
375
376
377
									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 ...
378
								}
8c88a270   Erdogan Furkan   10312 - Navigatio...
379

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

d0b61b72   Benjamin Renard   Show coordinates ...
382
							if (xText != '')
8c88a270   Erdogan Furkan   10312 - Navigatio...
383
								text += (', X : ' + xText);
d0b61b72   Benjamin Renard   Show coordinates ...
384
							if (yLeftText != '')
8c88a270   Erdogan Furkan   10312 - Navigatio...
385
								text += (', Y Left : ' + yLeftText);
d0b61b72   Benjamin Renard   Show coordinates ...
386
							if (yRightText != '')
8c88a270   Erdogan Furkan   10312 - Navigatio...
387
								text += (', Y Right : ' + yRightText);
2cd12bf9   Erdogan Furkan   #9326 - Showing T...
388
							if (intervalText != '')
c2cc7749   Erdogan Furkan   #10098 - Modifica...
389
								text += (', ' + intervalText);
c6ee3ae0   Erdogan Furkan   Z values are show...
390
391
							if (colorText != '')
								text += (', Z : '+ colorText);
d0b61b72   Benjamin Renard   Show coordinates ...
392
393
394
395
396
397
398
						}
						else
							me.panelImage.resetCursor();
					}
				}
				me.coordinatesField.setText(text);
			},
8c88a270   Erdogan Furkan   10312 - Navigatio...
399
			onContextMenu: function (absoluteX, absoluteY, imageX, imageY) {
9f08f4eb   Benjamin Renard   Zoom in interacti...
400
401
				if (!me.crtContext)
					return;
8c88a270   Erdogan Furkan   10312 - Navigatio...
402

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

9f08f4eb   Benjamin Renard   Zoom in interacti...
405
406
407
				var sourceXPos = me.toPixelOnSourceImage(imageX);
				var sourceYPos = me.toPixelOnSourceImage(imageY);
				var panel = amdaPlotComp.PlotContextManager.getPanel(me.crtContext, sourceXPos, sourceYPos);
c2cc7749   Erdogan Furkan   #10098 - Modifica...
408
				var timeAxisContext = amdaPlotComp.PlotContextManager.getPanelAxisById(panel, 'timeAxis');
119bba35   Benjamin Renard   Fix regression on...
409
410
411
				var crtTimestamp = null;
				if (timeAxisContext != null)
					crtTimestamp = amdaPlotComp.PlotContextManager.toAxisValue(timeAxisContext, panel.plotArea.x, panel.plotArea.x + panel.plotArea.width, sourceXPos);
8c88a270   Erdogan Furkan   10312 - Navigatio...
412
413
414

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

8c88a270   Erdogan Furkan   10312 - Navigatio...
420
									var crtTime = new Date(crtTimestamp * 1000);
3afa41ee   Erdogan Furkan   #10663 - Fixed bug
421
									//crtTime = Ext.Date.add(crtTime, Ext.Date.MINUTE, crtTime.getTimezoneOffset());
592d7b65   Menouard AZIB   Merge develop int...
422
									me.callInteractivePlot({ 'action': 'instant', 'interactiveId': this.interactiveId, 'panelId': panel.id, 'time': crtTime.toISOString() });
bab90f22   Elena.Budnik   format + #5668
423
424
425
								},
								scope: me
							},
8c88a270   Erdogan Furkan   10312 - Navigatio...
426
							'-'
c9071a43   Benjamin Renard   Add instant plot ...
427
428
						]);
					}
9f08f4eb   Benjamin Renard   Zoom in interacti...
429
430
					if (amdaPlotComp.PlotContextManager.isInPlotArea(panel, sourceXPos, sourceYPos))
						me.createZoomItemsForPanel(panel.id);
c2cc7749   Erdogan Furkan   #10098 - Modifica...
431
432


9f08f4eb   Benjamin Renard   Zoom in interacti...
433
				}
8b11b1af   Benjamin Renard   Insert intervals ...
434

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

37e81bff   Benjamin Renard   Direct save of pl...
438
				me.contextualMenu.add([
bab90f22   Elena.Budnik   format + #5668
439
					{
8c88a270   Erdogan Furkan   10312 - Navigatio...
440
441
442
						text: 'Extend/Shift Time interval',
						disabled: me.isTTNavBar,
						handler: function () {
6e1e1bf4   Benjamin Renard   Fix some bugs wit...
443
							var extendShiftPlugin = this.getPlugin('plot-extendshift-plugin-id-'+this.interactiveId);
b39c9d1d   Benjamin Renard   Fix interactive n...
444
							extendShiftPlugin.show(me.interactiveId);
bab90f22   Elena.Budnik   format + #5668
445
446
447
448
449
450
						},
						scope: me
					},
					'-',
					{
						text: 'Save Plot',
8c88a270   Erdogan Furkan   10312 - Navigatio...
451
						handler: function () {
bab90f22   Elena.Budnik   format + #5668
452
453
							if (me.hiddenForm == null)
								me.hiddenForm = Ext.create('Ext.form.Panel', {
8c88a270   Erdogan Furkan   10312 - Navigatio...
454
									title: 'hiddenForm',
bab90f22   Elena.Budnik   format + #5668
455
456
457
458
									renderTo: Ext.getBody(),
									standardSubmit: true,
									url: 'php/downloadPlot.php',
									timeout: 120000,
8c88a270   Erdogan Furkan   10312 - Navigatio...
459
									height: 100,
bab90f22   Elena.Budnik   format + #5668
460
									width: 100,
8c88a270   Erdogan Furkan   10312 - Navigatio...
461
462
									hidden: true,
									items: []
bab90f22   Elena.Budnik   format + #5668
463
								});
37e81bff   Benjamin Renard   Direct save of pl...
464

bab90f22   Elena.Budnik   format + #5668
465
466
467
							me.hiddenForm.getForm().submit({
								params: {
									sessionId: sessionID,
8c88a270   Erdogan Furkan   10312 - Navigatio...
468
									interactiveId: me.interactiveId
bab90f22   Elena.Budnik   format + #5668
469
								},
8c88a270   Erdogan Furkan   10312 - Navigatio...
470
471
								success: function (form, action) { },
								failure: function (form, action) { }
bab90f22   Elena.Budnik   format + #5668
472
473
474
							});
						}
					}
37e81bff   Benjamin Renard   Direct save of pl...
475
				]);
8c88a270   Erdogan Furkan   10312 - Navigatio...
476

119bba35   Benjamin Renard   Fix regression on...
477
				if (timeAxisContext && amdaPlotComp.PlotContextManager.isInterval(me.crtContext, panel, crtTimestamp)) {
c2cc7749   Erdogan Furkan   #10098 - Modifica...
478
479
480
481
482
					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...
483
484
							var menu = Ext.create('Ext.menu.Menu', { plain: true });
							var realLinks = amdaPlotComp.PlotContextManager.setIntervalsRef(links, menu);
c2cc7749   Erdogan Furkan   #10098 - Modifica...
485
486
487
							me.contextualMenu.add('-');
							me.contextualMenu.add([
								{
1be6ea03   Erdogan Furkan   #10098 - Final co...
488
489
									text: 'Open references (' + realLinks.length + ')',
									menu: menu,
c2cc7749   Erdogan Furkan   #10098 - Modifica...
490
491
492
493
494
495
									scope: me
								}]);
						}
					}
				}

9f08f4eb   Benjamin Renard   Zoom in interacti...
496
497
				me.contextualMenu.showAt(absoluteX, absoluteY);
			}
bab90f22   Elena.Budnik   format + #5668
498
		});
16035364   Benjamin Renard   First commit
499

bab90f22   Elena.Budnik   format + #5668
500
501
		return this.panelImage;
	},
8c88a270   Erdogan Furkan   10312 - Navigatio...
502
503

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

43ec9f7a   Erdogan Furkan   #11349 - Done
506
		var zoomPlugin = this.getPlugin('plot-zoom-plugin-id-'+this.interactiveId);
d4543515   Benjamin Renard   Fix pb. with Zoom...
507
		if (zoomPlugin && newPlot)
43ec9f7a   Erdogan Furkan   #11349 - Done
508
			zoomPlugin.close();
8c88a270   Erdogan Furkan   10312 - Navigatio...
509

bab90f22   Elena.Budnik   format + #5668
510
		this.crtTTFileIndex = configResult.ttFileIndex;
8c88a270   Erdogan Furkan   10312 - Navigatio...
511
512

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

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

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

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

bab90f22   Elena.Budnik   format + #5668
524
525
		this.panelImage.refreshMe();
	},
8c88a270   Erdogan Furkan   10312 - Navigatio...
526
527

	updateTimeTableInfo: function () {
bab90f22   Elena.Budnik   format + #5668
528
529
		if (!this.navToolBar)
			return;
8c88a270   Erdogan Furkan   10312 - Navigatio...
530
531

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

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

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

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

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

b0a1c31b   Benjamin Renard   Remove multi-plot...
550
		AmdaAction.interactivePlot(obj, function (result, e) {
bab90f22   Elena.Budnik   format + #5668
551
552
			loadMask.hide();
			var t = e.getTransaction();
8c88a270   Erdogan Furkan   10312 - Navigatio...
553
554
			if (e.status) {
				if (result) {
8c88a270   Erdogan Furkan   10312 - Navigatio...
555
					if (result.success) {
a0db7984   Erdogan Furkan   #10663 - Done
556
						plotModule.updateInteractiveSession(result, false, obj['panelId'], obj['time']);
9f08f4eb   Benjamin Renard   Zoom in interacti...
557
558
					}
					else
8c88a270   Erdogan Furkan   10312 - Navigatio...
559
						myDesktopApp.errorMsg('Interactive action error - ' + result.message);
9f08f4eb   Benjamin Renard   Zoom in interacti...
560
561
562
563
				}
				else
					myDesktopApp.errorMsg('Cannot execute interactive action');
			}
8c88a270   Erdogan Furkan   10312 - Navigatio...
564
			else {
9f08f4eb   Benjamin Renard   Zoom in interacti...
565
				// FAILURE
8c88a270   Erdogan Furkan   10312 - Navigatio...
566
567
568
				myDesktopApp.errorMsg('Error System - ' + e.message);
			}
		}, this);
bab90f22   Elena.Budnik   format + #5668
569
	},
8c88a270   Erdogan Furkan   10312 - Navigatio...
570
571

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

bab90f22   Elena.Budnik   format + #5668
575
		var commonItemsCfg = [
8c88a270   Erdogan Furkan   10312 - Navigatio...
576
577
578
579
580
581
			'-',
			{
				xtype: 'tbspacer',
				width: 20
			},
			'->',
bab90f22   Elena.Budnik   format + #5668
582
			{
8c88a270   Erdogan Furkan   10312 - Navigatio...
583
				text: 'Get HST Data',
bab90f22   Elena.Budnik   format + #5668
584
				scope: this,
8c88a270   Erdogan Furkan   10312 - Navigatio...
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
				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
605
606
607
			var navigationItemsCfg = [{
				text: 'Previous',
				scope: this,
8c88a270   Erdogan Furkan   10312 - Navigatio...
608
				handler: function () {
bab90f22   Elena.Budnik   format + #5668
609
610
					var ttFileIndex = this.crtTTFileIndex;
					var ttintervalIndex = this.crtContext.page.ttIndex;
8c88a270   Erdogan Furkan   10312 - Navigatio...
611
612
613

					if (ttintervalIndex <= 0 && ttFileIndex > 0) {
						--ttFileIndex;
bab90f22   Elena.Budnik   format + #5668
614
615
616
					}
					else
						--ttintervalIndex;
8c88a270   Erdogan Furkan   10312 - Navigatio...
617
618
					this.callInteractivePlot({ 'action': 'goto', 'interactiveId': this.interactiveId, 'ttFileIndex': ttFileIndex, 'intIndex': ttintervalIndex });
				}
bab90f22   Elena.Budnik   format + #5668
619
			},
8c88a270   Erdogan Furkan   10312 - Navigatio...
620
				'-',
bab90f22   Elena.Budnik   format + #5668
621
622
623
			{
				text: 'Next',
				scope: this,
8c88a270   Erdogan Furkan   10312 - Navigatio...
624
				handler: function () {
bab90f22   Elena.Budnik   format + #5668
625
626
					var ttFileIndex = this.crtTTFileIndex;
					var ttintervalIndex = this.crtContext.page.ttIndex;
8c88a270   Erdogan Furkan   10312 - Navigatio...
627
628
629

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

bab90f22   Elena.Budnik   format + #5668
630
631
632
633
634
635
						++ttFileIndex;
						ttintervalIndex = 0;
					}
					else
						++ttintervalIndex;

8c88a270   Erdogan Furkan   10312 - Navigatio...
636
					this.callInteractivePlot({ 'action': 'goto', 'interactiveId': this.interactiveId, 'ttFileIndex': ttFileIndex, 'intIndex': ttintervalIndex });
bab90f22   Elena.Budnik   format + #5668
637
638
				}
			},
535d7638   Menouard AZIB   I have added a co...
639
				'-',
8c88a270   Erdogan Furkan   10312 - Navigatio...
640
			{
46bd4591   Hacene SI HADJ MOHAND   us ok
641
642
				text: 'Use This Time Inteval',
				scope: this,
535d7638   Menouard AZIB   I have added a co...
643
644
645
646
647
648
649
				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
650
651

					var plotModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.plot.id);
535d7638   Menouard AZIB   I have added a co...
652
					plotModule.setTimeInterval(timeObj);
46bd4591   Hacene SI HADJ MOHAND   us ok
653
654
				}
			},
535d7638   Menouard AZIB   I have added a co...
655
656
657
				'-',
			{
				text: 'Go to Interval #',
bab90f22   Elena.Budnik   format + #5668
658
				scope: this,
8c88a270   Erdogan Furkan   10312 - Navigatio...
659
660
				handler: function (bt) {
					var ttGotoNumberField = this.navToolBar.items.get('tt-goto-number-' + this.interactiveId);
bab90f22   Elena.Budnik   format + #5668
661
662
663
664
					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...
665
						this.callInteractivePlot({ 'action': 'goto', 'interactiveId': this.interactiveId, 'ttFileIndex': this.crtTTFileIndex, 'intIndex': goToIndex });
bab90f22   Elena.Budnik   format + #5668
666
667
668
669
				}
			},
			{
				xtype: 'numberfield',
8c88a270   Erdogan Furkan   10312 - Navigatio...
670
671
672
				id: 'tt-goto-number-' + this.interactiveId,
				hideTrigger: true,
				width: 50,
bab90f22   Elena.Budnik   format + #5668
673
674
				minValue: 1
			},
8c88a270   Erdogan Furkan   10312 - Navigatio...
675
676
677
678
				' ',
				' ',
				' ',
			{
bab90f22   Elena.Budnik   format + #5668
679
				xtype: 'textfield',
8c88a270   Erdogan Furkan   10312 - Navigatio...
680
				id: 'tt-table-' + this.interactiveId,
bab90f22   Elena.Budnik   format + #5668
681
682
683
684
				labelAlign: 'right',
				labelWidth: 30,
				fieldLabel: 'Table',
				width: 130,
8c88a270   Erdogan Furkan   10312 - Navigatio...
685
				disabled: true
bab90f22   Elena.Budnik   format + #5668
686
			},
8c88a270   Erdogan Furkan   10312 - Navigatio...
687
			{
bab90f22   Elena.Budnik   format + #5668
688
				xtype: 'textfield',
8c88a270   Erdogan Furkan   10312 - Navigatio...
689
				id: 'tt-number-' + this.interactiveId,
bab90f22   Elena.Budnik   format + #5668
690
691
692
693
				labelAlign: 'right',
				labelWidth: 30,
				fieldLabel: 'Int #',
				width: 90,
8c88a270   Erdogan Furkan   10312 - Navigatio...
694
				disabled: true
bab90f22   Elena.Budnik   format + #5668
695
			},
8c88a270   Erdogan Furkan   10312 - Navigatio...
696
697
698
			{
				xtype: 'textfield',
				id: 'tt-total-' + this.interactiveId,
bab90f22   Elena.Budnik   format + #5668
699
700
701
702
				labelAlign: 'right',
				labelWidth: 30,
				fieldLabel: 'Total',
				width: 90,
8c88a270   Erdogan Furkan   10312 - Navigatio...
703
				disabled: true
bab90f22   Elena.Budnik   format + #5668
704
705
			}];
		}
8c88a270   Erdogan Furkan   10312 - Navigatio...
706
		else {
bab90f22   Elena.Budnik   format + #5668
707
			var navigationItemsCfg = [
8c88a270   Erdogan Furkan   10312 - Navigatio...
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
				{
					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
755
756
757
		}

		var toolItemsCfg = navigationItemsCfg;
8c88a270   Erdogan Furkan   10312 - Navigatio...
758
		Ext.each(commonItemsCfg, function (item) {
bab90f22   Elena.Budnik   format + #5668
759
760
			toolItemsCfg.push(item);
		});
8c88a270   Erdogan Furkan   10312 - Navigatio...
761
762

		if (!this.navToolBar) {
bab90f22   Elena.Budnik   format + #5668
763
764
			var toolConfig = {
				dock: 'top',
8c88a270   Erdogan Furkan   10312 - Navigatio...
765
				items: toolItemsCfg
bab90f22   Elena.Budnik   format + #5668
766
767
			};

8c88a270   Erdogan Furkan   10312 - Navigatio...
768
			this.navToolBar = Ext.create('Ext.toolbar.Toolbar', toolConfig);
bab90f22   Elena.Budnik   format + #5668
769
770
771
772
773
774
775
776
		}
		else
			this.navToolBar.add(toolItemsCfg);

		this.navToolBar.setDisabled(isSuperposeMode);

		this.isTTNavBar = isTimeTable;
		this.isSuperposeMode = isSuperposeMode;
8c88a270   Erdogan Furkan   10312 - Navigatio...
777
778
779
	},

	init: function (configResult) {
bab90f22   Elena.Budnik   format + #5668
780
		this.crtContext = configResult.context;
bd8d75af   Menouard AZIB   Disable paramter ...
781
		this.configResult = configResult;
b39c9d1d   Benjamin Renard   Fix interactive n...
782
		this.interactiveId = configResult.interactiveId;
27a055f4   Benjamin Renard   Multiplot (#8314)
783
		this.multiplot = (configResult.multiplot == true);
bab90f22   Elena.Budnik   format + #5668
784
785
786

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

		this.sliderPage = new Ext.slider.Single({
8c88a270   Erdogan Furkan   10312 - Navigatio...
791
792
793
794
795
796
797
798
799
800
			width: 130,
			value: 75,
			increment: 5,
			minValue: 50,
			maxValue: 100,
			fieldLabel: 'Resize',
			labelWidth: 40,
			listeners: {
				scope: this,
				changecomplete: function (s, v) {
6e1e1bf4   Benjamin Renard   Fix some bugs wit...
801
					var zoomPlugin = this.getPlugin('plot-zoom-plugin-id-'+this.interactiveId);
8c88a270   Erdogan Furkan   10312 - Navigatio...
802
803
804
					zoomPlugin.close();
					var size = this.getImageSize();
					this.panelImage.width = size.width;
bab90f22   Elena.Budnik   format + #5668
805
806
					this.panelImage.height = size.height;
					this.panelImage.doComponentLayout();
8c88a270   Erdogan Furkan   10312 - Navigatio...
807
					this.fireEvent('pagesize', this, v);
bab90f22   Elena.Budnik   format + #5668
808
				}
8c88a270   Erdogan Furkan   10312 - Navigatio...
809
810
811
			}
		});

bab90f22   Elena.Budnik   format + #5668
812
813
814
815
		var mouseToolbar = {
			xtype: 'toolbar',
			height: 25,
			dock: 'bottom',
8c88a270   Erdogan Furkan   10312 - Navigatio...
816
			items: [
bab90f22   Elena.Budnik   format + #5668
817
818
819
820
821
				this.coordinatesField,
				'->',
				this.sliderPage
			]
		};
8c88a270   Erdogan Furkan   10312 - Navigatio...
822

bab90f22   Elena.Budnik   format + #5668
823
824
825
826
827
828
829
830
831
832
		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
833
		var plotResultTabPanelConfig = {
8c88a270   Erdogan Furkan   10312 - Navigatio...
834
835
836
			preventHeader: true,
			autoScroll: true,
			items: [this.createPlotImage(configResult.folder, configResult.plotFile)],
bab90f22   Elena.Budnik   format + #5668
837
838
			dockedItems: [this.navToolBar, mouseToolbar],
			plugins: [
8c88a270   Erdogan Furkan   10312 - Navigatio...
839
840
				{
					ptype: 'plotZoomPlugin',
6e1e1bf4   Benjamin Renard   Fix some bugs wit...
841
					pluginId: 'plot-zoom-plugin-id-' + this.interactiveId
8c88a270   Erdogan Furkan   10312 - Navigatio...
842
843
844
				},
				{
					ptype: 'plotExtendShiftPlugin',
6e1e1bf4   Benjamin Renard   Fix some bugs wit...
845
					pluginId: 'plot-extendshift-plugin-id-' + this.interactiveId
8c88a270   Erdogan Furkan   10312 - Navigatio...
846
				}],
bab90f22   Elena.Budnik   format + #5668
847
			listeners: {
8c88a270   Erdogan Furkan   10312 - Navigatio...
848
849
				scope: this,
				destroy: function () {
6e1e1bf4   Benjamin Renard   Fix some bugs wit...
850
					var zoomPlugin = this.getPlugin('plot-zoom-plugin-id-'+this.interactiveId);
bab90f22   Elena.Budnik   format + #5668
851
852
					if (zoomPlugin)
						zoomPlugin.close();
6e1e1bf4   Benjamin Renard   Fix some bugs wit...
853
					var exttendShiftPlugin = this.getPlugin('plot-extendshift-plugin-id-'+this.interactiveId);
bab90f22   Elena.Budnik   format + #5668
854
855
					if (exttendShiftPlugin)
						exttendShiftPlugin.close();
bab90f22   Elena.Budnik   format + #5668
856
857
858
				}
			}
		};
8c88a270   Erdogan Furkan   10312 - Navigatio...
859
860

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