Commit 50098ef1e1f0854862cc963cc8d95bce4f14a25f

Authored by Menouar AZIB
1 parent d0692c05

Disable Next and Previous option for PlotFunction in Preview mode

Showing 1 changed file with 160 additions and 160 deletions   Show diff stats
js/app/views/PlotComponents/PlotPreviewUI.js
@@ -13,49 +13,50 @@ @@ -13,49 +13,50 @@
13 */ 13 */
14 14
15 Ext.define('amdaPlotComp.PlotPreviewUI', { 15 Ext.define('amdaPlotComp.PlotPreviewUI', {
16 - extend: 'Ext.panel.Panel',  
17 -  
18 - alias: 'widget.plotPreview', 16 + extend: 'Ext.panel.Panel',
19 17
20 - requires: [  
21 - 'amdaPlotComp.PlotContextManager',  
22 - 'amdaPlotComp.PlotResultImage', 18 + alias: 'widget.plotPreview',
  19 +
  20 + requires: [
  21 + 'amdaPlotComp.PlotContextManager',
  22 + 'amdaPlotComp.PlotResultImage',
23 'amdaUI.PlotTabResultUI' 23 'amdaUI.PlotTabResultUI'
24 - ],  
25 -  
26 - panelImage : null,  
27 - crtContext : null,  
28 - sliderPage : null,  
29 - contextualMenu : null,  
30 - hiddenForm: null,  
31 - panelResultInstance:null, 24 + ],
  25 +
  26 + isPlotFunction: false,
  27 + panelImage: null,
  28 + crtContext: null,
  29 + sliderPage: null,
  30 + contextualMenu: null,
  31 + hiddenForm: null,
  32 + panelResultInstance: null,
32 33
33 - setPanelResultInstance: function(panelResultInstance_)  
34 - { 34 + setPanelResultInstance: function (panelResultInstance_) {
35 this.panelResultInstance = panelResultInstance_; 35 this.panelResultInstance = panelResultInstance_;
36 }, 36 },
37 - constructor: function(config) {  
38 - this.init(config);  
39 - this.callParent(arguments);  
40 - },  
41 -  
42 - getImageSize : function() {  
43 - if (!this.crtContext)  
44 - return {  
45 - width : 0,  
46 - height : 0  
47 - };  
48 -  
49 - return {  
50 - width : this.crtContext.page.width * this.sliderPage.getValue()/100.,  
51 - height : this.crtContext.page.height * this.sliderPage.getValue()/100.  
52 - }  
53 - },  
54 -  
55 - getImageUrl: function(resultFolder, plotFile) {  
56 - return 'data/'+sessionID +'/RES/'+resultFolder+ '/' + plotFile;  
57 - },  
58 - 37 +
  38 + constructor: function (config) {
  39 + this.init(config);
  40 + this.callParent(arguments);
  41 + },
  42 +
  43 + getImageSize: function () {
  44 + if (!this.crtContext)
  45 + return {
  46 + width: 0,
  47 + height: 0
  48 + };
  49 +
  50 + return {
  51 + width: this.crtContext.page.width * this.sliderPage.getValue() / 100.,
  52 + height: this.crtContext.page.height * this.sliderPage.getValue() / 100.
  53 + }
  54 + },
  55 +
  56 + getImageUrl: function (resultFolder, plotFile) {
  57 + return 'data/' + sessionID + '/RES/' + resultFolder + '/' + plotFile;
  58 + },
  59 +
59 toPixelOnSourceImage: function (value) { 60 toPixelOnSourceImage: function (value) {
60 return value * 100 / this.sliderPage.getValue(); 61 return value * 100 / this.sliderPage.getValue();
61 }, 62 },
@@ -68,13 +69,13 @@ Ext.define('amdaPlotComp.PlotPreviewUI', { @@ -68,13 +69,13 @@ Ext.define('amdaPlotComp.PlotPreviewUI', {
68 return parseFloat(val).toPrecision(5); 69 return parseFloat(val).toPrecision(5);
69 }, 70 },
70 71
71 - createPlotImage: function(resultFolder, plotFile) {  
72 - var me = this;  
73 - var size = this.getImageSize();  
74 - this.panelImage = Ext.create('amdaPlotComp.PlotResultImage', {  
75 - src : this.getImageUrl(resultFolder, plotFile),  
76 - width : size.width,  
77 - height : size.height, 72 + createPlotImage: function (resultFolder, plotFile) {
  73 + var me = this;
  74 + var size = this.getImageSize();
  75 + this.panelImage = Ext.create('amdaPlotComp.PlotResultImage', {
  76 + src: this.getImageUrl(resultFolder, plotFile),
  77 + width: size.width,
  78 + height: size.height,
78 onMouseMove: function (x, y) { 79 onMouseMove: function (x, y) {
79 if (!me.crtContext) 80 if (!me.crtContext)
80 return; 81 return;
@@ -131,70 +132,70 @@ Ext.define('amdaPlotComp.PlotPreviewUI', { @@ -131,70 +132,70 @@ Ext.define('amdaPlotComp.PlotPreviewUI', {
131 } 132 }
132 me.coordinatesField.setText(text); 133 me.coordinatesField.setText(text);
133 }, 134 },
134 - onContextMenu : function(absoluteX, absoluteY, imageX, imageY) {  
135 - me.contextualMenu.showAt(absoluteX, absoluteY);  
136 - }  
137 - }); 135 + onContextMenu: function (absoluteX, absoluteY, imageX, imageY) {
  136 + me.contextualMenu.showAt(absoluteX, absoluteY);
  137 + }
  138 + });
138 139
139 - return this.panelImage;  
140 - },  
141 -  
142 - updatePlotImage: function(configResult, newPlot) {  
143 - this.crtContext = configResult.context; 140 + return this.panelImage;
  141 + },
  142 +
  143 + updatePlotImage: function (configResult, newPlot) {
  144 + this.crtContext = configResult.context;
144 145
145 - this.panelImage.setSrc(this.getImageUrl(configResult.folder, configResult.plotFile)); 146 + this.panelImage.setSrc(this.getImageUrl(configResult.folder, configResult.plotFile));
146 var newTime = new Date(configResult.time); 147 var newTime = new Date(configResult.time);
147 newTime = Ext.Date.add(newTime, Ext.Date.MINUTE, newTime.getTimezoneOffset()); 148 newTime = Ext.Date.add(newTime, Ext.Date.MINUTE, newTime.getTimezoneOffset());
148 Ext.getCmp('plotPreview-goto-Date' + configResult.interactiveId).setValue(newTime); 149 Ext.getCmp('plotPreview-goto-Date' + configResult.interactiveId).setValue(newTime);
149 - var size = this.getImageSize();  
150 - this.panelImage.setSize(size.width, size.height);  
151 -  
152 - this.panelImage.refreshMe();  
153 - },  
154 -  
155 - init: function(configResult){  
156 - var me = this; 150 + var size = this.getImageSize();
  151 + this.panelImage.setSize(size.width, size.height);
  152 +
  153 + this.panelImage.refreshMe();
  154 + },
  155 +
  156 + init: function (configResult) {
  157 + var me = this;
157 158
158 - this.crtContext = configResult.context;  
159 - this.interactiveId = configResult.interactiveId; 159 + this.crtContext = configResult.context;
  160 + this.interactiveId = configResult.interactiveId;
160 this.time = new Date(configResult.time); 161 this.time = new Date(configResult.time);
161 this.time = Ext.Date.add(this.time, Ext.Date.MINUTE, this.time.getTimezoneOffset()); 162 this.time = Ext.Date.add(this.time, Ext.Date.MINUTE, this.time.getTimezoneOffset());
162 - this.panelId= configResult.panelId  
163 - 163 + this.panelId = configResult.panelId;
  164 + this.isPlotFunction = configResult.plotFile.includes("plotFunction");
  165 +
164 this.coordinatesField = new Ext.toolbar.TextItem({ 166 this.coordinatesField = new Ext.toolbar.TextItem({
165 width: 300, 167 width: 300,
166 text: '' 168 text: ''
167 }); 169 });
168 170
169 - this.sliderPage = new Ext.slider.Single({  
170 - width: 130,  
171 - value: 75,  
172 - increment: 5,  
173 - minValue: 50,  
174 - maxValue: 100,  
175 - fieldLabel : 'Resize',  
176 - labelWidth : 40,  
177 - listeners: {  
178 - scope : this,  
179 - changecomplete: function(s, v)  
180 - {  
181 - var size = this.getImageSize();  
182 - this.panelImage.width = size.width;  
183 - this.panelImage.height = size.height;  
184 - this.panelImage.doComponentLayout();  
185 - }  
186 - }  
187 - });  
188 - var topToolbar= 171 + this.sliderPage = new Ext.slider.Single({
  172 + width: 130,
  173 + value: 75,
  174 + increment: 5,
  175 + minValue: 50,
  176 + maxValue: 100,
  177 + fieldLabel: 'Resize',
  178 + labelWidth: 40,
  179 + listeners: {
  180 + scope: this,
  181 + changecomplete: function (s, v) {
  182 + var size = this.getImageSize();
  183 + this.panelImage.width = size.width;
  184 + this.panelImage.height = size.height;
  185 + this.panelImage.doComponentLayout();
  186 + }
  187 + }
  188 + });
  189 + var topToolbar =
189 { 190 {
190 - xtype:'toolbar',  
191 - dock:'top',  
192 - items:[{ 191 + xtype: 'toolbar',
  192 + dock: 'top',
  193 + items: [{
193 xtype: 'datefield', 194 xtype: 'datefield',
194 - allowBlank:true, 195 + allowBlank: true,
195 format: 'Y-m-d\\TH:i:s.u', 196 format: 'Y-m-d\\TH:i:s.u',
196 id: 'plotPreview-goto-Date' + this.interactiveId, 197 id: 'plotPreview-goto-Date' + this.interactiveId,
197 - value:this.time, 198 + value: this.time,
198 width: 175, 199 width: 175,
199 renderer: function (value) { 200 renderer: function (value) {
200 if (value != null) { 201 if (value != null) {
@@ -208,33 +209,33 @@ Ext.define('amdaPlotComp.PlotPreviewUI', { @@ -208,33 +209,33 @@ Ext.define('amdaPlotComp.PlotPreviewUI', {
208 } 209 }
209 } 210 }
210 211
211 - },'-',  
212 - {  
213 - text: 'Change cut time',  
214 - scope: this,  
215 - handler: function (bt) {  
216 - var newTime = Ext.getCmp('plotPreview-goto-Date' + me.interactiveId).getValue();  
217 - newTime = Ext.Date.add(newTime, Ext.Date.MINUTE, -newTime.getTimezoneOffset());  
218 - me.panelResultInstance.callInteractivePlot({ 'action': 'instant', 'interactiveId': me.panelResultInstance.interactiveId, 'panelId': me.panelId, 'time': newTime.toISOString()});  
219 - }  
220 - }, 212 + }, '-',
  213 + {
  214 + text: 'Change cut time',
  215 + scope: this,
  216 + handler: function (bt) {
  217 + var newTime = Ext.getCmp('plotPreview-goto-Date' + me.interactiveId).getValue();
  218 + newTime = Ext.Date.add(newTime, Ext.Date.MINUTE, -newTime.getTimezoneOffset());
  219 + me.panelResultInstance.callInteractivePlot({ 'action': 'instant', 'interactiveId': me.panelResultInstance.interactiveId, 'panelId': me.panelId, 'time': newTime.toISOString() });
  220 + }
  221 + },
221 '-', 222 '-',
222 - {  
223 - xtype:'button',  
224 - text : 'Previous',  
225 - handler: function(){  
226 - var newTime = new Date(amdaPlotComp.PlotContextManager.getInstantTimePrev(me.crtContext)*1000);  
227 - me.panelResultInstance.callInteractivePlot({ 'action': 'instant', 'interactiveId': me.panelResultInstance.interactiveId, 'panelId': me.panelId, 'time': newTime.toISOString()});  
228 - }  
229 - },  
230 - {  
231 - xtype:'button',  
232 - text : 'Next',  
233 - handler: function(){  
234 - var newTime = new Date(amdaPlotComp.PlotContextManager.getInstantTimeNext(me.crtContext) *1000);  
235 - me.panelResultInstance.callInteractivePlot({ 'action': 'instant', 'interactiveId': me.panelResultInstance.interactiveId, 'panelId': me.panelId, 'time': newTime.toISOString()});  
236 - } 223 + {
  224 + xtype: 'button',
  225 + text: 'Previous',
  226 + handler: function () {
  227 + var newTime = new Date(amdaPlotComp.PlotContextManager.getInstantTimePrev(me.crtContext) * 1000);
  228 + me.panelResultInstance.callInteractivePlot({ 'action': 'instant', 'interactiveId': me.panelResultInstance.interactiveId, 'panelId': me.panelId, 'time': newTime.toISOString() });
  229 + }
  230 + },
  231 + {
  232 + xtype: 'button',
  233 + text: 'Next',
  234 + handler: function () {
  235 + var newTime = new Date(amdaPlotComp.PlotContextManager.getInstantTimeNext(me.crtContext) * 1000);
  236 + me.panelResultInstance.callInteractivePlot({ 'action': 'instant', 'interactiveId': me.panelResultInstance.interactiveId, 'panelId': me.panelId, 'time': newTime.toISOString() });
237 } 237 }
  238 + }
238 ] 239 ]
239 } 240 }
240 var mouseToolbar = { 241 var mouseToolbar = {
@@ -248,50 +249,49 @@ Ext.define('amdaPlotComp.PlotPreviewUI', { @@ -248,50 +249,49 @@ Ext.define('amdaPlotComp.PlotPreviewUI', {
248 ] 249 ]
249 }; 250 };
250 251
251 - this.contextualMenu = Ext.create('Ext.menu.Menu', {  
252 - width: 200,  
253 - plain: true,  
254 - items: [  
255 - {  
256 - text: 'Save Plot',  
257 - handler : function () 252 + this.contextualMenu = Ext.create('Ext.menu.Menu', {
  253 + width: 200,
  254 + plain: true,
  255 + items: [
258 { 256 {
259 - if (me.hiddenForm == null)  
260 - me.hiddenForm = Ext.create('Ext.form.Panel', {  
261 - title:'hiddenForm',  
262 - renderTo: Ext.getBody(),  
263 - standardSubmit: true,  
264 - url: 'php/downloadPlot.php',  
265 - timeout: 120000,  
266 - height:100,  
267 - width: 100,  
268 - hidden:true,  
269 - items:[]  
270 - }); 257 + text: 'Save Plot',
  258 + handler: function () {
  259 + if (me.hiddenForm == null)
  260 + me.hiddenForm = Ext.create('Ext.form.Panel', {
  261 + title: 'hiddenForm',
  262 + renderTo: Ext.getBody(),
  263 + standardSubmit: true,
  264 + url: 'php/downloadPlot.php',
  265 + timeout: 120000,
  266 + height: 100,
  267 + width: 100,
  268 + hidden: true,
  269 + items: []
  270 + });
271 271
272 - me.hiddenForm.getForm().submit({  
273 - params: {  
274 - sessionId: sessionID,  
275 - interactiveId : me.interactiveId,  
276 - preview: true  
277 - },  
278 - success: function(form, action) {},  
279 - failure: function(form, action) {}  
280 - }); 272 + me.hiddenForm.getForm().submit({
  273 + params: {
  274 + sessionId: sessionID,
  275 + interactiveId: me.interactiveId,
  276 + preview: true
  277 + },
  278 + success: function (form, action) { },
  279 + failure: function (form, action) { }
  280 + });
  281 + }
281 } 282 }
282 - }  
283 - ]  
284 - });  
285 -  
286 - var plotPreviewPanelConfig = {  
287 - preventHeader : true,  
288 - autoScroll: false,  
289 - items: [  
290 - this.createPlotImage(configResult.folder, configResult.plotFile)  
291 - ],  
292 - dockedItems: [topToolbar,mouseToolbar]  
293 - };  
294 -  
295 - Ext.apply(this , plotPreviewPanelConfig);  
296 - } 283 + ]
  284 + });
  285 +
  286 + var plotPreviewPanelConfig = {
  287 + preventHeader: true,
  288 + autoScroll: false,
  289 + items: [
  290 + this.createPlotImage(configResult.folder, configResult.plotFile)
  291 + ],
  292 + dockedItems: me.isPlotFunction ? [mouseToolbar] : [topToolbar, mouseToolbar]
  293 + };
  294 +
  295 + Ext.apply(this, plotPreviewPanelConfig);
  296 + }
297 }); 297 });