/** * 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 */ Ext.define('amdaPlotComp.plotFunction.ParamField', { extend: 'Ext.form.Panel', label_number_field: "NUMBERFIELD", label_number_field1: "NUMBERFIELD1", parent: null, initComponent: function () { const items_params = []; const minSampling = "Min Sampling (s)"; const minValue = 0; const labelWitdh = 120; const width = 30; for (p in this.params) { const param = this.params[p]; const fieldSet = { xtype: 'fieldset', name: 'FIELDSET' + param.id, title: param.id, collapsible: false, layout: { type: 'vbox', align: 'stretch', }, items: [ { xtype: 'numberfield', name: this.label_number_field + param.id, labelWidth: labelWitdh, width: width, value: param.MinSampling, minValue: minValue, disabled: true, fieldLabel: minSampling }, { xtype: 'numberfield', name: this.label_number_field1 + param.id, labelWidth: labelWitdh, width: width, value: 0, minValue: minValue, fieldLabel: "Nb Points" } ] }; items_params.push(fieldSet); } const tabParams = Ext.create('Ext.tab.Panel', { layout: 'fit', plain: true, bodyStyle: 'background: none', items: items_params }); const config = { title: 'Parameters Sampling', layout: 'fit', bodyStyle: { background: '#dfe8f6' }, items: [tabParams] }; Ext.apply(this, config); this.callParent(arguments); }, setParent: function (parent_) { this.parent = parent_; }, getValues: function () { let list = ""; let i = 0; for (p in this.params) { let param = this.params[p]; const ui_item = this.parent.findField(this.label_number_field1 + param.id); if (i > 0) list += "@"; if (ui_item !== undefined && ui_item !== null) { list += param.id + "@" + param.MinSampling + "@" + ui_item.getValue(); } i++; } return { "param_nb_points": list }; }, setValues: function (startTime, stopTime) { for (p in this.params) { let param = this.params[p]; const nb_points = (stopTime - startTime) / param.MinSampling; const ui_item = this.parent.findField(this.label_number_field1 + param.id); ui_item.setValue(parseInt(nb_points)); } } });