Blame view

js/app/views/PlotComponents/PlotZoomPlug.js 16.3 KB
9f08f4eb   Benjamin Renard   Zoom in interacti...
1
/**
b2481b88   Nathanael Jourdane   fix indent
2
3
4
5
6
7
8
9
10
11
12
13
14
 * Project      :  AMDA-NG
 * Name         : PlotZoomPlug.js
 * @plugin    amdaPlotComp.PlotZoomPlug
 * @extends    Ext.util.Observable
 * @ptype      plotZoomPlugin
 * @brief     Plot Zoom UI (View)
 * @author Benjamin
 * @version $Id: PlotZoomPlug.js
 ********************************************************************************
 *    FT Id     :   Date   : Name - Description
 *******************************************************************************
 *  :
 */
9f08f4eb   Benjamin Renard   Zoom in interacti...
15
16
17


Ext.define('amdaPlotComp.PlotZoomPlug', {
b2481b88   Nathanael Jourdane   fix indent
18
19
  extend: 'Ext.util.Observable',
  alias: 'plugin.plotZoomPlugin',
1f9f9178   Menouard AZIB   I have created a ...
20
  requires: [
48e98e36   Menouard AZIB   I have created a ...
21
    'amdaPlotComp.plotFunction.ParamField', 'amdaPlotComp.plotFunction.FunctionType'],
9f08f4eb   Benjamin Renard   Zoom in interacti...
22

b2481b88   Nathanael Jourdane   fix indent
23
  id: 'plot-zoom-plug',
9f08f4eb   Benjamin Renard   Zoom in interacti...
24

b2481b88   Nathanael Jourdane   fix indent
25
  ttModuleId: 'timetab-win',
8b11b1af   Benjamin Renard   Insert intervals ...
26
  catModuleId: 'catalog-win',
b2481b88   Nathanael Jourdane   fix indent
27
28
29
30

  win: null,
  form: null,
  zoomType: '',
b39c9d1d   Benjamin Renard   Fix interactive n...
31
  interactiveId: '',
b2481b88   Nathanael Jourdane   fix indent
32
33
  panelId: -1,

8b11b1af   Benjamin Renard   Insert intervals ...
34
  linkedTTCatNode: null,
48e98e36   Menouard AZIB   I have created a ...
35
36
37
  /**
   * Un composant de 'PlotFunction' qui permet d'afficher le min samplig de chaque paramètre et le nombre de points théoriques entre un start time et stop time
   */
1f9f9178   Menouard AZIB   I have created a ...
38
  plotFunctionParamField: null,
48e98e36   Menouard AZIB   I have created a ...
39
40
41
42
  /**
   * Un composant de 'PlotFunction' qui permet à l'utilisateur de séléctionner le type de fonction à appliquer : FFT, SUM, ...
   */
  plotFunctionType: null,
1f9f9178   Menouard AZIB   I have created a ...
43

b2481b88   Nathanael Jourdane   fix indent
44
45
46
47
48
49
50
51
52
53
54
  constructor: function (config) {
    Ext.apply(this, config);
    this.callParent(arguments);
  },

  onDestroy: function () {
    this.win = null;
  },

  init: function (cmp) {
    this.hostCmp = cmp;
b2481b88   Nathanael Jourdane   fix indent
55
56
  },

1f9f9178   Menouard AZIB   I have created a ...
57
58
59
60
61
62
63
  /**
   * Set different parameters displayed on the current panel
   * @param {*} listParams_  parameters displayed on the current panel
   */
  setParameters: function (listParams_) {
    this.listParams = listParams_;
    this.plotFunctionParamField = new amdaPlotComp.plotFunction.ParamField({ params: this.listParams });
a53fe520   Menouard AZIB   The UI of plotFun...
64
    this.plotFunctionType = new amdaPlotComp.plotFunction.FunctionType({});
1f9f9178   Menouard AZIB   I have created a ...
65
66
67
  },


b2481b88   Nathanael Jourdane   fix indent
68
69
70
71
  setMinValue: function (min) {
    if (!this.form)
      return;

1f9f9178   Menouard AZIB   I have created a ...
72
    if (this.zoomType == 'timeAxis') {
b2481b88   Nathanael Jourdane   fix indent
73
      this.form.getForm().findField('zoom-min-time').setValue(min);
1f9f9178   Menouard AZIB   I have created a ...
74
75

    }
b2481b88   Nathanael Jourdane   fix indent
76
77
78
79
80
81
82
83
84
85
    else
      this.form.getForm().findField('zoom-min-float').setValue(min);
  },

  setMaxValue: function (max) {
    if (!this.form)
      return;

    if (this.zoomType == 'timeAxis') {
      var minValue = this.form.getForm().findField('zoom-min-time').getValue();
1f9f9178   Menouard AZIB   I have created a ...
86
      if (minValue <= max) {
b2481b88   Nathanael Jourdane   fix indent
87
        this.form.getForm().findField('zoom-max-time').setValue(max);
a53fe520   Menouard AZIB   The UI of plotFun...
88
        if (this.isPlotFunction)
eeb3432d   Menouard AZIB   La feature 'PlotF...
89
          this.plotFunctionParamField.setValues(minValue, max);
1f9f9178   Menouard AZIB   I have created a ...
90
      }
b2481b88   Nathanael Jourdane   fix indent
91
92
93
      else {
        this.form.getForm().findField('zoom-min-time').setValue(max);
        this.form.getForm().findField('zoom-max-time').setValue(minValue);
a53fe520   Menouard AZIB   The UI of plotFun...
94
        if (this.isPlotFunction)
eeb3432d   Menouard AZIB   La feature 'PlotF...
95
          this.plotFunctionParamField.setValues(max, minValue);
b2481b88   Nathanael Jourdane   fix indent
96
      }
1f9f9178   Menouard AZIB   I have created a ...
97

b2481b88   Nathanael Jourdane   fix indent
98
99
100
101
102
103
104
105
106
107
108
109
110
    }
    else {
      var minValue = this.form.getForm().findField('zoom-min-float').getValue();
      if (minValue <= max)
        this.form.getForm().findField('zoom-max-float').setValue(max);
      else {
        this.form.getForm().findField('zoom-min-float').setValue(max);
        this.form.getForm().findField('zoom-max-float').setValue(minValue);
      }
    }
  },

  /**
b2481b88   Nathanael Jourdane   fix indent
111
112
113
114
115
116
117
118
119
   *  add Interval to Time table
   **/
  insertInterval: function () {
    if (this.zoomType != 'timeAxis')
      return;

    var start = this.form.getForm().findField('zoom-min-time').getValue();
    var stop = this.form.getForm().findField('zoom-max-time').getValue();

8b11b1af   Benjamin Renard   Insert intervals ...
120
121
122
123
    var TTCatType = this.form.getForm().findField('ttcat-type').getValue();
    var isCatalog = (TTCatType == 'catalog');

    myDesktopApp.getLoadedModule(isCatalog ? this.catModuleId : this.ttModuleId, true, function (module) {
b2481b88   Nathanael Jourdane   fix indent
124
125
126
127
128
129
130
131
132
      var targetModuleUI = module.getUiContent();
      if (targetModuleUI)
        targetModuleUI.addInterval(start, stop);
    });
  },

  /**
   *  creation of the window
   */
85721867   Menouard AZIB   I have added plot...
133
134
  show: function (interactiveId, zoomType, panelId, isPlotFunction_ = false) {
    this.isPlotFunction = isPlotFunction_;
b2481b88   Nathanael Jourdane   fix indent
135
136
137
    if (!this.win) {
      this.win = new Ext.Window({
        id: 'plot-zoom-win-' + this.hostCmp.ownerCt.getId(), // Plot window ID
47de182c   Nathanael Jourdane   fix zoom panel width
138
        width: 250,
b2481b88   Nathanael Jourdane   fix indent
139
140
141
        x: 0, y: 0,
        baseCls: 'x-panel',
        title: 'Zoom',
b2481b88   Nathanael Jourdane   fix indent
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
        constrain: true,
        collapsible: true,
        resizable: false,
        ghost: false,
        renderTo: this.hostCmp.ownerCt.body,
        items: this.getFormConfig(),
        listeners: {
          scope: this,
          beforeclose: function () {
            this.hostCmp.panelImage.stopZoom();
            Ext.PluginManager.unregister(this);
          }
        },
        getConstrainVector: function (constrainTo) {
          var me = this;
          if (me.constrain || me.constrainHeader) {
            constrainTo = constrainTo || (me.floatParent && me.floatParent.getTargetEl()) || me.container || me.el.getScopeParent();
            return (me.constrainHeader ? me.header.el : me.el).getConstrainVector(constrainTo);
          }
        }
      });

      this.win.on('destroy', this.onDestroy, this);

      Ext.PluginManager.register(this);
    }
b39c9d1d   Benjamin Renard   Fix interactive n...
168
    this.interactiveId = interactiveId;
b2481b88   Nathanael Jourdane   fix indent
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
    this.updateWinByType(zoomType, panelId);
    this.win.show();
    this.win.setPosition(0, 0);
  },

  close: function () {
    if (this.win == null)
      return;
    this.win.close();
  },

  updateWinByType: function (zoomType, panelId) {
    if (this.win == null)
      return;

    this.zoomType = zoomType;
    this.panelId = panelId;

    switch (zoomType) {
      case 'timeAxis':
550c940c   Menouard AZIB   The title of a wi...
189
        if (this.isPlotFunction) {
48e98e36   Menouard AZIB   I have created a ...
190
          const title = "Appliquer une Transformation";
550c940c   Menouard AZIB   The title of a wi...
191
192
193
194
          this.win.setTitle(title + '-Panel Id: ' + panelId);
        } else {
          this.win.setTitle('Zoom on time axis & Interval selection - Panel Id : ' + panelId);
        }
b2481b88   Nathanael Jourdane   fix indent
195
        break;
85721867   Menouard AZIB   I have added plot...
196
      case 'y-left':
b2481b88   Nathanael Jourdane   fix indent
197
198
        this.win.setTitle('Zoom on Y Left axis - Panel Id : ' + panelId);
        break;
85721867   Menouard AZIB   I have added plot...
199
      case 'y-right':
b2481b88   Nathanael Jourdane   fix indent
200
201
        this.win.setTitle('Zoom on Y Right axis - Panel Id : ' + panelId);
        break;
85721867   Menouard AZIB   I have added plot...
202
      case 'xaxis_id':
b2481b88   Nathanael Jourdane   fix indent
203
204
205
206
207
208
209
210
211
212
        this.win.setTitle('Zoom on X axis - Panel Id : ' + panelId);
        break;
    }

    this.form.getForm().findField('zoom-min-time').setVisible(this.zoomType == 'timeAxis');
    this.form.getForm().findField('zoom-max-time').setVisible(this.zoomType == 'timeAxis');

    this.form.getForm().findField('zoom-min-float').setVisible(this.zoomType != 'timeAxis');
    this.form.getForm().findField('zoom-max-float').setVisible(this.zoomType != 'timeAxis');

8b11b1af   Benjamin Renard   Insert intervals ...
213
214
215
    var ttCatNameField = this.form.getForm().findField('ttcat-name');
    if (ttCatNameField)
      ttCatNameField.findParentByType('fieldset').setVisible(this.zoomType == 'timeAxis');
b2481b88   Nathanael Jourdane   fix indent
216
217
218
  },

  resetMinMaxValue: function () {
b2481b88   Nathanael Jourdane   fix indent
219
220
221
222
223
224
225
226
227
228
229
    if (this.zoomType == 'timeAxis') {
      this.form.getForm().findField('zoom-min-time').setValue('');
      this.form.getForm().findField('zoom-max-time').setValue('');
    }
    else {
      this.form.getForm().findField('zoom-min-float').setValue(null);
      this.form.getForm().findField('zoom-max-float').setValue(null);
    }

    this.hostCmp.panelImage.resetZoom();
  },
85721867   Menouard AZIB   I have added plot...
230
  setTimePlot: function () {
67210d01   Hacene SI HADJ MOHAND   #9800
231
232
233
234
235
    var timeObj = new Object();
    timeObj.start = this.form.getForm().findField('zoom-min-time').getValue();
    timeObj.stop = this.form.getForm().findField('zoom-max-time').getValue();
    var plotModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.plot.id);
    plotModule.setTimeInterval(timeObj);
85721867   Menouard AZIB   I have added plot...
236
  },
b2481b88   Nathanael Jourdane   fix indent
237
238
239
240
  /**
   *        Main form
   */
  getFormConfig: function () {
b2481b88   Nathanael Jourdane   fix indent
241
242
243
244
245
246
247
248
249
250
251
252
253
    var intervalFieldSet = {
      xtype: 'fieldset',
      title: 'Interval Selection',
      name: 'interval-selection-fieldset',
      collapsible: false,
      layout: {
        type: 'vbox',
        pack: 'start',
        align: 'stretch'
      },
      items: [
        {
          xtype: 'datefield', name: 'zoom-min-time', fieldLabel: 'Start Time',
85721867   Menouard AZIB   I have added plot...
254
          format: 'Y/m/d H:i:s.u',
b2481b88   Nathanael Jourdane   fix indent
255
256
257
        },
        {
          xtype: 'datefield', name: 'zoom-max-time', fieldLabel: 'Stop Time',
c3cfed52   Hacene SI HADJ MOHAND   us oki
258
          format: 'Y/m/d H:i:s.u'
b2481b88   Nathanael Jourdane   fix indent
259
260
261
262
263
264
265
266
267
268
        },
        {
          xtype: 'numberfield', name: 'zoom-min-float', fieldLabel: 'Min Value'
        },
        {
          xtype: 'numberfield', name: 'zoom-max-float', fieldLabel: 'Max Value'
        },
        {
          xtype: 'button',
          width: 100,
76447670   Benjamin Renard   Minor fixes
269
          text: 'Reset',
b2481b88   Nathanael Jourdane   fix indent
270
271
272
273
          scope: this,
          handler: function () {
            this.resetMinMaxValue();
          }
85721867   Menouard AZIB   I have added plot...
274
275
        },
        {
67210d01   Hacene SI HADJ MOHAND   #9800
276
277
          xtype: 'button',
          width: 100,
76447670   Benjamin Renard   Minor fixes
278
          text: 'Use in Time Selection',
67210d01   Hacene SI HADJ MOHAND   #9800
279
280
281
282
          scope: this,
          handler: function () {
            this.setTimePlot();
          }
b2481b88   Nathanael Jourdane   fix indent
283
284
285
286
        }
      ]
    };

8b11b1af   Benjamin Renard   Insert intervals ...
287
    var insertTypeStore = Ext.create('Ext.data.Store', {
85721867   Menouard AZIB   I have added plot...
288
289
290
291
292
      fields: ['key', 'name'],
      data: [
        { "key": "timeTable", "name": "TimeTable" },
        { "key": "catalog", "name": "Catalog" }
      ]
8b11b1af   Benjamin Renard   Insert intervals ...
293
294
295
    });

    var me = this;
b2481b88   Nathanael Jourdane   fix indent
296
297
    var insertTTFieldSet = {
      xtype: 'fieldset',
d4d660bc   Benjamin Renard   Minor fix (#9881)
298
      title: 'Add in Time Table or Catalog',
b2481b88   Nathanael Jourdane   fix indent
299
300
301
302
303
304
305
306
307
      name: 'tt-insertion-fieldset',
      collapsible: false,
      layout: {
        type: 'vbox',
        pack: 'start',
        align: 'stretch'
      },
      items: [
        {
8b11b1af   Benjamin Renard   Insert intervals ...
308
309
310
311
312
313
314
315
316
317
318
          xtype: 'combo',
          fieldLabel: 'Insert In',
          store: insertTypeStore,
          queryMode: 'local',
          displayField: 'name',
          valueField: 'key',
          editable: false,
          value: 'timeTable',
          name: 'ttcat-type'
        },
        {
b2481b88   Nathanael Jourdane   fix indent
319
          xtype: 'textfield',
8b11b1af   Benjamin Renard   Insert intervals ...
320
321
          fieldLabel: 'Name',
          name: 'ttcat-name',
b2481b88   Nathanael Jourdane   fix indent
322
          listeners:
85721867   Menouard AZIB   I have added plot...
323
324
325
326
327
328
329
330
331
332
333
          {
            render: function (o, op) {
              var field = this;
              var el = this.el;
              var dropTarget = Ext.create('Ext.dd.DropTarget', el, {
                ddGroup: 'explorerTree',
                notifyOver: function (ddSource, e, data) {
                  var TTCatType = me.form.getForm().findField('ttcat-type').getValue();
                  if (data.records[0].data.leaf && (data.records[0].data.nodeType == TTCatType)) {
                    this.valid = true;
                    return this.dropAllowed;
b2481b88   Nathanael Jourdane   fix indent
334
                  }
85721867   Menouard AZIB   I have added plot...
335
336
337
338
339
340
341
342
343
344
                  this.valid = false;
                  return this.dropNotAllowed;
                },
                notifyDrop: function (ddSource, e, data) {
                  if (!this.valid)
                    return false;
                  field.setValue(data.records[0].get('text'));
                  return true;
                }
              });
b2481b88   Nathanael Jourdane   fix indent
345
            }
85721867   Menouard AZIB   I have added plot...
346
          }
b2481b88   Nathanael Jourdane   fix indent
347
348
349
350
351
352
353
354
355
        },
        {
          xtype: 'button',
          width: 100,
          text: 'Insert Interval',
          scope: this,
          handler: function () {
            var me = this;

8b11b1af   Benjamin Renard   Insert intervals ...
356
357
            var TTCatType = this.form.getForm().findField('ttcat-type').getValue();
            var TTCatName = this.form.getForm().findField('ttcat-name').getValue();
b2481b88   Nathanael Jourdane   fix indent
358

8b11b1af   Benjamin Renard   Insert intervals ...
359
360
            var isCatalog = (TTCatType == 'catalog');
            myDesktopApp.getLoadedModule(isCatalog ? this.catModuleId : this.ttModuleId, true, function (module) {
b2481b88   Nathanael Jourdane   fix indent
361
              var targetModuleUI = module.getUiContent();
8b11b1af   Benjamin Renard   Insert intervals ...
362
              if (me.linkedTTCatNode && (me.linkedTTCatNode.get('text') == TTCatName) && (me.linkedTTCatNode.get('nodeType') == TTCatType)) {
b2481b88   Nathanael Jourdane   fix indent
363
364
365
                if (targetModuleUI)
                  me.insertInterval();
                else {
8b11b1af   Benjamin Renard   Insert intervals ...
366
                  me.linkedTTCatNode.editLeaf(function () {
b2481b88   Nathanael Jourdane   fix indent
367
368
369
370
371
                    me.insertInterval();
                  });
                }
              }
              else {
b2481b88   Nathanael Jourdane   fix indent
372
                var explorerTree = Ext.getCmp(amdaUI.ExplorerUI.RESRC_TAB.TREE_ID);
8b11b1af   Benjamin Renard   Insert intervals ...
373
374
                var ttCatRootNode = explorerTree.getRootNode().findChild('id', isCatalog ? 'catalog-treeRootNode' : 'timeTable-treeRootNode', true);
                amdaModel.InteractiveNode.preloadNodes(ttCatRootNode, function () {
b2481b88   Nathanael Jourdane   fix indent
375
376
                  var nodeWithSameName = null;

8b11b1af   Benjamin Renard   Insert intervals ...
377
378
                  if (TTCatName != '')
                    nodeWithSameName = ttCatRootNode.findChild('text', TTCatName, true);
b2481b88   Nathanael Jourdane   fix indent
379
380

                  if (nodeWithSameName !== null)
8b11b1af   Benjamin Renard   Insert intervals ...
381
                    me.linkedTTCatNode = nodeWithSameName;
b2481b88   Nathanael Jourdane   fix indent
382
                  else {
85721867   Menouard AZIB   I have added plot...
383
384
385
386
387
388
                    module.createLinkedNode();
                    module.getLinkedNode().set('text', TTCatName);
                    me.linkedTTCatNode = module.getLinkedNode();
                    var obj = {
                      name: TTCatName,
                      fromPlugin: true
8b11b1af   Benjamin Renard   Insert intervals ...
389
                    };
85721867   Menouard AZIB   I have added plot...
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
                    if (isCatalog) {
                      Ext.Msg.prompt('Define Parameters', 'Please enter parameters number for the new catalog:', function (btn, text) {
                        if (btn == 'ok') {
                          obj.nbParameters = parseInt(text, 10);
                          if (isNaN(obj.nbParameters)) {
                            obj.nbParameters = 1;
                          }
                          module.createObject(obj);
                          me.linkedTTCatNode.editLeaf(function () {
                            me.insertInterval();
                          });
                        }
                      });
                      return;
                    }
                    else {
                      module.createObject(obj);
                    }
b2481b88   Nathanael Jourdane   fix indent
408
409
                  }

8b11b1af   Benjamin Renard   Insert intervals ...
410
                  me.linkedTTCatNode.editLeaf(function () {
b2481b88   Nathanael Jourdane   fix indent
411
412
413
414
415
416
417
418
419
420
                    me.insertInterval();
                  });
                });
              }
            });
          }
        }
      ]
    };

b2481b88   Nathanael Jourdane   fix indent
421
422
    this.form = new Ext.form.FormPanel({
      frame: true,
8b1a8c67   Hacene SI HADJ MOHAND   patch bug ouvertu...
423
      width: 255,
b2481b88   Nathanael Jourdane   fix indent
424
425
426
427
428
429
430
431
432
433
      layout: {
        type: 'vbox',
        pack: 'start',
        align: 'stretch'
      },
      fieldDefaults: {
        labelWidth: 60
      },
      items: [
        intervalFieldSet,
48e98e36   Menouard AZIB   I have created a ...
434
435
436
        //Ici on rajoute les composants associés à la fonctionnalité 'PlotFunction'
        me.isPlotFunction ? this.plotFunctionType : insertTTFieldSet,
        me.isPlotFunction ? this.plotFunctionParamField : null,
b2481b88   Nathanael Jourdane   fix indent
437
438
439
      ],
      fbar: [
        {
a53fe520   Menouard AZIB   The UI of plotFun...
440
          text: me.isPlotFunction ? "Apply" : 'Apply Zoom',
b2481b88   Nathanael Jourdane   fix indent
441
442
443
444
          width: 100,
          scope: this,
          handler: function () {
            if (this.zoomType == 'timeAxis') {
91d74c16   Hacene SI HADJ MOHAND   ihm zoom ms ok
445
              var minZoom = Ext.Date.format(this.form.getForm().findField('zoom-min-time').getValue(), 'Y-m-d H:i:s.u');
85721867   Menouard AZIB   I have added plot...
446
              var maxZoom = Ext.Date.format(this.form.getForm().findField('zoom-max-time').getValue(), 'Y-m-d H:i:s.u');
b2481b88   Nathanael Jourdane   fix indent
447
448
449
450
451
452
453
454
455
456
457
            }
            else {
              var minZoom = this.form.getForm().findField('zoom-min-float').getValue();
              var maxZoom = this.form.getForm().findField('zoom-max-float').getValue();
            }

            if (!maxZoom || !minZoom || !this.form.getForm().isValid()) {
              myDesktopApp.warningMsg('Error in values definition');
              return;
            }

eeb3432d   Menouard AZIB   La feature 'PlotF...
458
            if (me.isPlotFunction) {
6d5a4308   Menouard AZIB   La feature 'PlotF...
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
              const start_time = this.form.getForm().findField('zoom-min-time').getValue();
              const stop_time = this.form.getForm().findField('zoom-max-time').getValue();

              let request_to_send = {};
              request_to_send = Object.assign({}, me.plotFunctionType.getValues(), me.plotFunctionParamField.getValues());
              request_to_send = Object.assign({}, request_to_send, {
                'action': 'plotFunction',
                'interactiveId': this.interactiveId,
                'panelId': this.panelId,
                'starttime': start_time,
                'stoptime': stop_time
              });

              this.hostCmp.callInteractivePlot(request_to_send);

eeb3432d   Menouard AZIB   La feature 'PlotF...
474
475
476
477
478
479
480
481
482
483
484
            } else {
              this.hostCmp.callInteractivePlot({
                'action': 'zoom',
                'interactiveId': this.interactiveId,
                'panelId': this.panelId,
                'axeId': this.zoomType,
                'min': minZoom,
                'max': maxZoom
              });
            }

b2481b88   Nathanael Jourdane   fix indent
485
486
487
488
489
490
491
492
493
494
            this.hostCmp.panelImage.resetZoom();
          }
        },
        {
          text: 'Undo Zoom',
          width: 100,
          scope: this,
          handler: function () {
            this.hostCmp.callInteractivePlot({
              'action': 'undozoom',
b39c9d1d   Benjamin Renard   Fix interactive n...
495
              'interactiveId': this.interactiveId,
b2481b88   Nathanael Jourdane   fix indent
496
497
498
499
500
501
502
503
              'panelId': this.panelId,
              'axeId': this.zoomType
            });
            this.hostCmp.panelImage.resetZoom();
          }
        }
      ]
    });
85721867   Menouard AZIB   I have added plot...
504

48e98e36   Menouard AZIB   I have created a ...
505
    this.plotFunctionType.setParent(this.form.getForm());
eeb3432d   Menouard AZIB   La feature 'PlotF...
506
    this.plotFunctionParamField.setParent(this.form.getForm());
48e98e36   Menouard AZIB   I have created a ...
507
    return this.form;
1f9f9178   Menouard AZIB   I have created a ...
508
509
  },

8b11b1af   Benjamin Renard   Insert intervals ...
510
});