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,
b2481b88   Nathanael Jourdane   fix indent
43
44
45
46
47
48
49
50
51
52
53
54
55
56

  constructor: function (config) {
    Ext.apply(this, config);
    this.callParent(arguments);
  },

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

  init: function (cmp) {
    this.hostCmp = cmp;
  },

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
111
112
113
114
115
116
117
118
119
    }
    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);
      }
    }
  },

  /**
   *  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) {
304d091a   Benjamin Renard   Minor fix
190
          const title = "Apply a Function on Interval";
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
219
220
221
222
223
224
225
226
227
228
229
  },

  resetMinMaxValue: function () {
    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
    var timeObj = new Object();
    timeObj.start = this.form.getForm().findField('zoom-min-time').getValue();
    timeObj.stop = this.form.getForm().findField('zoom-max-time').getValue();
a54cfb3f   Benjamin Renard   Merge amdadev int...
234
    timeObj.interactiveId = this.interactiveId;
67210d01   Hacene SI HADJ MOHAND   #9800
235
236
    var plotModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.plot.id);
    plotModule.setTimeInterval(timeObj);
85721867   Menouard AZIB   I have added plot...
237
  },
b2481b88   Nathanael Jourdane   fix indent
238
239
240
241
  /**
   *        Main form
   */
  getFormConfig: function () {
b2481b88   Nathanael Jourdane   fix indent
242
243
244
245
246
247
248
249
250
251
252
253
254
    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...
255
          format: 'Y/m/d H:i:s.u',
b2481b88   Nathanael Jourdane   fix indent
256
257
258
        },
        {
          xtype: 'datefield', name: 'zoom-max-time', fieldLabel: 'Stop Time',
c3cfed52   Hacene SI HADJ MOHAND   us oki
259
          format: 'Y/m/d H:i:s.u'
b2481b88   Nathanael Jourdane   fix indent
260
261
262
263
264
265
266
267
268
269
        },
        {
          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
270
          text: 'Reset',
b2481b88   Nathanael Jourdane   fix indent
271
272
273
274
          scope: this,
          handler: function () {
            this.resetMinMaxValue();
          }
85721867   Menouard AZIB   I have added plot...
275
276
        },
        {
67210d01   Hacene SI HADJ MOHAND   #9800
277
278
          xtype: 'button',
          width: 100,
76447670   Benjamin Renard   Minor fixes
279
          text: 'Use in Time Selection',
67210d01   Hacene SI HADJ MOHAND   #9800
280
281
282
283
          scope: this,
          handler: function () {
            this.setTimePlot();
          }
b2481b88   Nathanael Jourdane   fix indent
284
285
286
287
        }
      ]
    };

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

    var me = this;
b2481b88   Nathanael Jourdane   fix indent
297
298
    var insertTTFieldSet = {
      xtype: 'fieldset',
d4d660bc   Benjamin Renard   Minor fix (#9881)
299
      title: 'Add in Time Table or Catalog',
b2481b88   Nathanael Jourdane   fix indent
300
301
302
303
304
305
306
307
308
      name: 'tt-insertion-fieldset',
      collapsible: false,
      layout: {
        type: 'vbox',
        pack: 'start',
        align: 'stretch'
      },
      items: [
        {
8b11b1af   Benjamin Renard   Insert intervals ...
309
310
311
312
313
314
315
316
317
318
319
          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
320
          xtype: 'textfield',
8b11b1af   Benjamin Renard   Insert intervals ...
321
322
          fieldLabel: 'Name',
          name: 'ttcat-name',
b2481b88   Nathanael Jourdane   fix indent
323
          listeners:
85721867   Menouard AZIB   I have added plot...
324
325
326
327
328
329
330
331
332
333
334
          {
            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
335
                  }
85721867   Menouard AZIB   I have added plot...
336
337
338
339
340
341
342
343
344
345
                  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
346
            }
85721867   Menouard AZIB   I have added plot...
347
          }
b2481b88   Nathanael Jourdane   fix indent
348
349
350
351
352
353
354
355
356
        },
        {
          xtype: 'button',
          width: 100,
          text: 'Insert Interval',
          scope: this,
          handler: function () {
            var me = this;

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

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

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

                  if (nodeWithSameName !== null)
8b11b1af   Benjamin Renard   Insert intervals ...
382
                    me.linkedTTCatNode = nodeWithSameName;
b2481b88   Nathanael Jourdane   fix indent
383
                  else {
85721867   Menouard AZIB   I have added plot...
384
385
386
387
388
389
                    module.createLinkedNode();
                    module.getLinkedNode().set('text', TTCatName);
                    me.linkedTTCatNode = module.getLinkedNode();
                    var obj = {
                      name: TTCatName,
                      fromPlugin: true
8b11b1af   Benjamin Renard   Insert intervals ...
390
                    };
85721867   Menouard AZIB   I have added plot...
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
                    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
409
410
                  }

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

    this.form = new Ext.form.FormPanel({
      frame: true,
8b1a8c67   Hacene SI HADJ MOHAND   patch bug ouvertu...
424
      width: 255,
b2481b88   Nathanael Jourdane   fix indent
425
426
427
428
429
430
431
432
433
434
      layout: {
        type: 'vbox',
        pack: 'start',
        align: 'stretch'
      },
      fieldDefaults: {
        labelWidth: 60
      },
      items: [
        intervalFieldSet,
48e98e36   Menouard AZIB   I have created a ...
435
436
437
        //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
438
439
440
      ],
      fbar: [
        {
a53fe520   Menouard AZIB   The UI of plotFun...
441
          text: me.isPlotFunction ? "Apply" : 'Apply Zoom',
b2481b88   Nathanael Jourdane   fix indent
442
443
444
445
          width: 100,
          scope: this,
          handler: function () {
            if (this.zoomType == 'timeAxis') {
02d7d98e   Benjamin Renard   Fix time format
446
447
              var minZoom = Ext.Date.format(this.form.getForm().findField('zoom-min-time').getValue(), 'Y-m-d\\TH:i:s.u');
              var maxZoom = Ext.Date.format(this.form.getForm().findField('zoom-max-time').getValue(),'Y-m-d\\TH:i:s.u');
b2481b88   Nathanael Jourdane   fix indent
448
449
450
451
452
453
454
455
456
457
458
            }
            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...
459
            if (me.isPlotFunction) {
6d5a4308   Menouard AZIB   La feature 'PlotF...
460
461
462
463
464
465
466
467
468
469
470
471
              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
              });
bf6ef7e0   Menouard AZIB   Suppression d'un ...
472

6d5a4308   Menouard AZIB   La feature 'PlotF...
473
474
              this.hostCmp.callInteractivePlot(request_to_send);

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

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

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

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