Blame view

js/app/views/ParameterUI.js 17.8 KB
16035364   Benjamin Renard   First commit
1
2
3
4
5
6
7
/**
 * Project   : AMDA-NG
 * Name      : ParameterUI.js
 * @class 	 amdaUI.ParameterUI
 * @extends  Ext.container.Container
 * @brief	 Parameter  Module UI definition (View)
 * @author 	  
3ab0bee9   Elena.Budnik   aprams with args ...
8
 * @version  $Id: ParameterUI.js 2257 2014-04-02 12:21:27Z elena $             
16035364   Benjamin Renard   First commit
9
10
 */

3ab0bee9   Elena.Budnik   aprams with args ...
11
12
Ext.define('amdaUI.ParameterUI', 
{
16035364   Benjamin Renard   First commit
13
	extend: 'Ext.container.Container',
3ab0bee9   Elena.Budnik   aprams with args ...
14

16035364   Benjamin Renard   First commit
15
16
17
	alias: 'widget.panelParam',
	
	requires: [
3ab0bee9   Elena.Budnik   aprams with args ...
18
19
20
21
22
		'amdaUI.AliasUI',     
		'amdaUI.CalculatorUI',
		'extensions.SelectableTextArea',
		'amdaUI.ParamArgumentsPlug'
	],
16035364   Benjamin Renard   First commit
23
	
3ab0bee9   Elena.Budnik   aprams with args ...
24
25
26
27
28
29
30
	constructor: function(config) 
	{    
		this.init(config);
		this.callParent(arguments);
		// load object into form
		this.formPanel.getForm().loadRecord(this.object);
		var paramArgsPlug = this.getPlugin('derived-param-arguments-plugin');
3ab0bee9   Elena.Budnik   aprams with args ...
31
32
33
		if (paramArgsPlug)
			paramArgsPlug.onApply = this.onApplyParameterArgs;
	},
16035364   Benjamin Renard   First commit
34

3ab0bee9   Elena.Budnik   aprams with args ...
35
36
37
38
39
40
41
	addParamInEditor : function(param) 
	{
		var selection = this.constructionField.getSelection();
		this.constructionField.setValue(selection.beforeText + param + selection.afterText);
		this.constructionField.focus();
		this.constructionField.setCaretPosition(this.constructionField.getValue().length);
	},
33ce72a7   Benjamin Renard   Do not show argum...
42
    
3ab0bee9   Elena.Budnik   aprams with args ...
43
44
45
46
47
	onApplyParameterArgs : function(uiScope, paramRequestObject) 
	{
		var fullParam = paramRequestObject.getParamFullName();
		uiScope.addParamInEditor(fullParam);
	},
7ac3ce50   Benjamin Renard   First implementat...
48
    
3ab0bee9   Elena.Budnik   aprams with args ...
49
50
	addParam : function(newParamName, isLeaf, needArgs, components) 
	{
9b36ce29   Benjamin Renard   clean up
51
		//if (!isLeaf || needArgs || components)
370af70e   Elena.Budnik   ParamArgs plugin ...
52
53
54
		if ( needArgs )
			this.editParameterArgs(newParamName, components);
		else
3ab0bee9   Elena.Budnik   aprams with args ...
55
56
			this.addParamInEditor(newParamName);
	},
16035364   Benjamin Renard   First commit
57
    
3ab0bee9   Elena.Budnik   aprams with args ...
58
59
	editParameterArgs: function(name, components) 
	{
29dfb596   Benjamin Renard   Rework of ParamAr...
60
61
		var paramObj = amdaModel.RequestParamObject.getEmptyObj(); 
		paramObj.paramid = name;
3ab0bee9   Elena.Budnik   aprams with args ...
62
63
64
65
66
67
68
69
70
71
72
73
74
75
	
		if (components) 
		{
			if (components['index1']) {
				paramObj['dim1-index'] = components['index1'];
				++paramObj['type'];
			}
			
			if (components['index2']) {
				paramObj['dim2-index'] = components['index2'];
				++paramObj['type'];
			}
		}
	
7ac3ce50   Benjamin Renard   First implementat...
76
		var paramArgsPlug = this.getPlugin('derived-param-arguments-plugin');
bb6e93d9   Benjamin Renard   Implement templat...
77
		if (paramArgsPlug) {
690e0a87   Benjamin Renard   Add sum in table ...
78
			var workinRequestParamObject = Ext.create('amdaModel.RequestParamObject', paramObj);
bb6e93d9   Benjamin Renard   Implement templat...
79
80
			paramArgsPlug.show('derived-param-arguments-plugin', workinRequestParamObject);
		}
7ac3ce50   Benjamin Renard   First implementat...
81
82
	},
    
3ab0bee9   Elena.Budnik   aprams with args ...
83
84
85
86
87
88
	setObject : function (object) 
	{
		this.object = object; 
		// load object into form	 
		this.formPanel.getForm().loadRecord(this.object);
	},
16035364   Benjamin Renard   First commit
89
       
3ab0bee9   Elena.Budnik   aprams with args ...
90
91
92
93
94
95
96
97
	/**
	* update this.object from form
	*/
	updateObject : function()
	{    
		// get the basic form
		var basicForm = this.formPanel.getForm();        
		var updateStatus = true;
16035364   Benjamin Renard   First commit
98

3ab0bee9   Elena.Budnik   aprams with args ...
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
		var fieldsWithoutName = basicForm.getFields().items;
		Ext.Array.each(fieldsWithoutName, function(item, index,allItems)
		{
			if(item !== this.fieldName) 
			{ 		     
				if (!item.isValid()) {
					// set update isn't allowed
					updateStatus = false;    
				}
			}
		}, this);
		// if the update is allowed
		if (updateStatus) {
			/// real object update
			// update TimeTable object with the content of form
			basicForm.updateRecord(this.object);	
16035364   Benjamin Renard   First commit
115
		}
3ab0bee9   Elena.Budnik   aprams with args ...
116
117
118
		// return the update status
		return updateStatus;	    
	},
16035364   Benjamin Renard   First commit
119
 
3ab0bee9   Elena.Budnik   aprams with args ...
120
121
	updateConstruct : function(oldval,newval) 
	{
16035364   Benjamin Renard   First commit
122
123
124
125
126
		// update constructionField (Construct parameter) in window parameter
		var expression = this.constructionField.value;
		oldval = oldval.replace(/[(]/g,"\\(");
		oldval = oldval.replace(/[)]/g,"\\)");	
		var reg=new RegExp(oldval, "g");
3ab0bee9   Elena.Budnik   aprams with args ...
127
128
		expression = expression.replace(reg, newval);
		this.constructionField.setValue(expression);
16035364   Benjamin Renard   First commit
129
130
	},
    
8ba47f72   Benjamin Renard   rest actualisatio...
131
132
133
134
        
        /** 
 	 * Generate info for parameter desplay
         */
9b36ce29   Benjamin Renard   clean up
135
        generateParamInfo : function(onSuccess)
8ba47f72   Benjamin Renard   rest actualisatio...
136
137
138
139
140
        {
	   var me = this;
	   var paramModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.param.id);
     
           var obj = {
9b36ce29   Benjamin Renard   clean up
141
142
143
                        paramId : 'ws_'+this.object.get('name'),
                        buildchain:this.object.get('buildchain'),
                        timestep:this.object.get('timestep')
8ba47f72   Benjamin Renard   rest actualisatio...
144
                };
f85f44e4   Benjamin Renard   us okkkkkkkkkk
145
                 loadMask.show();
8ba47f72   Benjamin Renard   rest actualisatio...
146
147
148
                AmdaAction.generateParamInfo(obj, function (result, e) {
	 if (!result || !result.success)
                        {
f85f44e4   Benjamin Renard   us okkkkkkkkkk
149
                            loadMask.hide();
8ba47f72   Benjamin Renard   rest actualisatio...
150
151
152
153
154
155
                                if (result.message)
                                        myDesktopApp.warningMsg(result.message);
                                else
                                        myDesktopApp.warningMsg('Unknown error during parameter compilation');
                                return;
                        }
f85f44e4   Benjamin Renard   us okkkkkkkkkk
156
	loadMask.hide();	
8ba47f72   Benjamin Renard   rest actualisatio...
157
                    paramModule.linkedNode.get('object').set('dim_1', parseInt(result.dimensions.dim_1));
eb0ba55f   Benjamin Renard   reste refreche ar...
158
                    paramModule.linkedNode.get('object').set('dim_2', parseInt(result.dimensions.dim_2));  
9b36ce29   Benjamin Renard   clean up
159
160
161
                    if (onSuccess)
                        onSuccess();
/*                    paramModule.linkedNode.update({scope : me, 
8ba47f72   Benjamin Renard   rest actualisatio...
162
163
164
165
                        failure: function(record, operation) {
                            
                        },
                        callback: function() {
eb0ba55f   Benjamin Renard   reste refreche ar...
166
                                                   }
8ba47f72   Benjamin Renard   rest actualisatio...
167
                    });
9b36ce29   Benjamin Renard   clean up
168
    */              			
8ba47f72   Benjamin Renard   rest actualisatio...
169
170
171
                });
        },

a0b3d64e   Benjamin Renard   Derived parameter...
172
	
3ab0bee9   Elena.Budnik   aprams with args ...
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
	/**
	* save method called by Save button
	*/
	saveProcess : function(toRename)
	{        
		if(this.object.dirty) 
		{
			// Parameter Module
			var paramModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.param.id);            
			// if the name has been modified this is a creation
			if (this.object.isModified('name'))
			{                
				// if object already has an id : it's a 'rename' of an existing TimeTable
				if (this.object.get('id'))
				{
					// the context Node is the parent node of current edited one
					var contextNode = paramModule.linkedNode.parentNode;
					// link a new node to the TimeTableModule
					paramModule.createLinkedNode();
					// set the contextNode
					paramModule.linkedNode.set('contextNode',contextNode);
					// create a new object linked		   		  
					paramModule.createObject(this.object.getJsonValues());
					var paramobj = paramModule.linkedNode.get('object');
					//synchronize objects
					this.object = paramobj;
					if (toRename) paramModule.linkedNode.toRename = true;
9b36ce29   Benjamin Renard   clean up
200
				} 
9b36ce29   Benjamin Renard   clean up
201
202
203
				this.generateParamInfo(function () {
                                                                                    paramModule.linkedNode.set('isParameter', true); 
                                                                                    paramModule.linkedNode.create({scope : this, callback : function() {
9b36ce29   Benjamin Renard   clean up
204
205
                                                                                    }});
                                                                                });   
3ab0bee9   Elena.Budnik   aprams with args ...
206
207
208
			} else 
			{            
				paramModule.linkedNode.set('contextNode',paramModule.contextNode); 
9b36ce29   Benjamin Renard   clean up
209
210
                                                                                this.generateParamInfo(function () {
                                                                                    paramModule.linkedNode.update({scope : this, callback : function() {
9b36ce29   Benjamin Renard   clean up
211
212
                                                                                    }});
                                                                                });   
3ab0bee9   Elena.Budnik   aprams with args ...
213
			}
f85f44e4   Benjamin Renard   us okkkkkkkkkk
214
		}   
3ab0bee9   Elena.Budnik   aprams with args ...
215
	},
16035364   Benjamin Renard   First commit
216

3ab0bee9   Elena.Budnik   aprams with args ...
217
218
219
220
221
222
223
224
225
226
	/**
	* overwrite metod called by Save button
	*/
	overwriteProcess : function(btn)
	{
		if (btn == 'cancel') return; 
			
		this.fieldName.clearInvalid();  
		this.saveProcess(true);        
	},
16035364   Benjamin Renard   First commit
227
    
3ab0bee9   Elena.Budnik   aprams with args ...
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
	/**
	*   Check if brackets are balanced
	*/   
	isBalanced : function(str)
	{  
		str =  (""+str).replace(/[^()\[\]{}]/g, ""); 
		var bracket = {
						"]": "[",
						"}": "{",
						")": "("
					},
			openBrackets = [], 
			isClean = true,
			i = 0,
			len = str.length;
16035364   Benjamin Renard   First commit
243

3ab0bee9   Elena.Budnik   aprams with args ...
244
245
246
247
248
249
250
251
252
253
254
255
256
		for(; isClean && i<len; i++ )
		{                
			if( bracket[ str[ i ] ] ){
				isClean = ( openBrackets.pop() === bracket[ str[ i ] ] );
			} else {
				openBrackets.push(str[i]);
			}
		}
		if (!(isClean && !openBrackets.length)) return 'Brackets are not balanced';
		
		return true; 
	},
	
16035364   Benjamin Renard   First commit
257
258
259
260
	/**
	 * Check if changes were made before closing window 
	 * @return true if changes
	 */	   
3ab0bee9   Elena.Budnik   aprams with args ...
261
262
	fclose : function() 
	{
16035364   Benjamin Renard   First commit
263
264
265
266
		var isDirty = this.formPanel.getForm().isDirty();
		return isDirty;
	},
	
3ab0bee9   Elena.Budnik   aprams with args ...
267
268
	init: function(config) 
	{		
16035364   Benjamin Renard   First commit
269
		this.fieldName = new Ext.form.field.Text({
3ab0bee9   Elena.Budnik   aprams with args ...
270
				labelAlign: 'top', itemId: 'formParamName',
5e6d074f   Elena.Budnik   infobull for para...
271
				fieldLabel: 'Parameter Name',
3ab0bee9   Elena.Budnik   aprams with args ...
272
273
				name : 'name',
				allowBlank : false, //blankText : 'Name is required',
5e6d074f   Elena.Budnik   infobull for para...
274
				emptyText: 'Please only low case!',
3ab0bee9   Elena.Budnik   aprams with args ...
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
				width: 150,
				validateOnChange: false,
				validateOnBlur: false,
				enableKeyEvents: true,
				validFlag: false,
				validator : function() 
				{
					return this.validFlag;
				},
				stripCharsRe: /(^\s+|\s+$)/g,
				listeners : 
				{
					keyUp : function(field, e, opt) 
					{
						this.setValue(this.getValue().toLowerCase());
					}
				}
16035364   Benjamin Renard   First commit
292
		});
3ab0bee9   Elena.Budnik   aprams with args ...
293
	
16035364   Benjamin Renard   First commit
294
295
296
		this.constructionField = new extensions.SelectableTextArea({
			labelAlign: 'top',
			itemId: 'formParamConstructParameter',
5e6d074f   Elena.Budnik   infobull for para...
297
			fieldLabel:'<img amda_clicktip="constructParameter"  src="js/resources/images/16x16/info_mini.png"/>&nbsp;Construct Parameter',
16035364   Benjamin Renard   First commit
298
299
300
301
302
		 	allowBlank : false, blankText : 'Construct Parameter is required',
			name : 'buildchain',
			flex: 0.9,
			validateOnChange: false,
			validateOnBlur: false,
3ab0bee9   Elena.Budnik   aprams with args ...
303
			validator : this.isBalanced,
16035364   Benjamin Renard   First commit
304
305
			listeners :
			{
3ab0bee9   Elena.Budnik   aprams with args ...
306
307
308
309
310
311
312
313
314
315
				render : function(o,op)
				{
					var me = this;
					var meEl = me.bodyEl;
					var dropTarget = Ext.create('Ext.dd.DropTarget', meEl, 
					{
						ddGroup: 'explorerTree',
						notifyEnter : function(ddSource, e, data) {},
						notifyOver  : function(ddSource, e, data)
						{
8497e83c   Elena.Budnik   redmine 5515
316
							if (data.records[0].get('nodeType') == 'localParam' && data.records[0].get('notyet')) 
3ab0bee9   Elena.Budnik   aprams with args ...
317
318
319
320
321
							{
								this.valid = false;
								return this.dropNotAllowed;   
							}
							
8497e83c   Elena.Budnik   redmine 5515
322
323
324
325
326
327
328
							if (((data.records[0].get('nodeType') == 'localParam')   ||
								(data.records[0].get('nodeType') == 'remoteParam') ||
								(data.records[0].get('nodeType') == 'remoteSimuParam') ||
								(data.records[0].get('nodeType') == 'derivedParam') ||
								(data.records[0].get('nodeType')== 'myDataParam') ||
								(data.records[0].get('nodeType') == 'alias')) &&
								(data.records[0].isLeaf() || data.records[0].get('isParameter')) && 
3ab0bee9   Elena.Budnik   aprams with args ...
329
330
331
332
333
334
335
336
337
								!(data.records[0].data.disable))
							{
								this.valid = true;
								return this.dropAllowed;
							}
							this.valid = false;
							return this.dropNotAllowed;
						},
						notifyDrop  : function(ddSource, e, data)
9b36ce29   Benjamin Renard   clean up
338
						{	
3ab0bee9   Elena.Budnik   aprams with args ...
339
340
341
							if (!this.valid)
								return false;
							var nameToSent;
9b36ce29   Benjamin Renard   clean up
342
							var components = null;                                                                                                                                            
8497e83c   Elena.Budnik   redmine 5515
343
							switch (data.records[0].get('nodeType'))
3ab0bee9   Elena.Budnik   aprams with args ...
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
							{
								case 'localParam' :
								case 'remoteParam' :
								case 'remoteSimuParam' :    
									nameToSent = data.records[0].get('id');
									if (data.records[0].get('alias')!= "" )
										var nameToSent = "#"+data.records[0].get('alias');
									var component_info = data.records[0].get('component_info');
									if (component_info && component_info.parentId) 
									{													
										if ( component_info.index1 && component_info.index2 )
										{															 
											nameToSent = component_info.parentId;
											components = [];												
											if (component_info.index1)
												components['index1'] = component_info.index1;
											if (component_info.index2)
												components['index2'] = component_info.index2;
										}	
										if ( data.records[0].get('needsArgs') )
										{															
											nameToSent = component_info.parentId;	
											if (component_info.index1)
											{
												components = [];	
												components['index1'] = component_info.index1;
											}
										}													
									}
									break;
								case 'alias' :
									nameToSent = "#"+data.records[0].get('text');
									break;
								case 'derivedParam' :
									nameToSent = "ws_"+data.records[0].get('text');
									break;
								case 'myDataParam' :
									var name = data.records[0].get('text');
									nameToSent = "wsd_"+name;
									var size = data.records[0].get('size');
									if (size &&  size > 1) 
									{
										nameToSent += "(0)";
										myDesktopApp.warningMsg("parameter "+name+" is array of size: "
												+size+"<br/>Please put index");
									}
									break;
								default :
9b36ce29   Benjamin Renard   clean up
392
                                                                                                                                                              
3ab0bee9   Elena.Budnik   aprams with args ...
393
394
395
396
397
398
399
400
401
402
									return false;
							}
							var paramModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.param.id);
							if (paramModule) {
								paramModule.addParam(nameToSent, data.records[0].get('leaf'), data.records[0].get('needsArgs'), components);
							}
							return true;
						}
					});
				}
16035364   Benjamin Renard   First commit
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
			}
            //TODO: ?validator on formula structure?
//			listener : {
//				valid : function(field) {
//
//				}
//			}
		});
		
		this.formPanel = new Ext.form.Panel({
			id: 'vbox-paramForm',			
			bodyStyle: {background : '#dfe8f6'},
			border: false,
			buttonAlign: 'left',
			region: 'center',
			trackResetOnLoad: true, //reset to the last loaded record
			layout: {
3ab0bee9   Elena.Budnik   aprams with args ...
420
421
422
				type: 'vbox',
				defaultMargins: {top: 10, left:10, bottom:5, right:5},			   
				align: 'stretch'
16035364   Benjamin Renard   First commit
423
424
			},
			defaults: {
3ab0bee9   Elena.Budnik   aprams with args ...
425
				border: false
16035364   Benjamin Renard   First commit
426
427
428
			},
			items: [
					{
3ab0bee9   Elena.Budnik   aprams with args ...
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
						flex: 1,
						xtype: 'container',
						border: false,
						layout: {
							type: 'table',
							columns: 3
						},
						defaultType: 'textfield',
						defaults: {
							labelAlign: 'top'
						},
						items: [
							this.fieldName,
							{
								xtype:'component', width: 20
							},
							{
0f7460c1   Elena.Budnik   redmine 5518
446
								xtype : 'numberfield',
5e6d074f   Elena.Budnik   infobull for para...
447
								itemId: 'formParamTimeStep', fieldLabel: '<img amda_clicktip="resamplingStep" src="js/resources/images/16x16/info_mini.png"/>&nbsp;Time Step (sec)', labelAlign: 'top',
3ab0bee9   Elena.Budnik   aprams with args ...
448
449
								allowBlank : false, blankText : 'Time Step is required',
								name : 'timestep',
0f7460c1   Elena.Budnik   redmine 5518
450
451
452
453
								minValue : 0.001,
								hideTrigger: true,
								width: 150,
								//validateOnChange: false,
3ab0bee9   Elena.Budnik   aprams with args ...
454
455
456
								validateOnBlur: false
							},
							{
3ab0bee9   Elena.Budnik   aprams with args ...
457
458
459
460
461
462
463
464
								itemId: 'formParamUnit', 
								fieldLabel: 'Units',
								name : 'units',
								width: 150
							},
							{
								xtype:'component', width: 20
							},
0f7460c1   Elena.Budnik   redmine 5518
465
							{								
3ab0bee9   Elena.Budnik   aprams with args ...
466
467
468
469
470
471
								itemId: 'formParamYTitle', 
								fieldLabel: 'Y Title for Plot',
								name : 'ytitle',
								width: 150
							},
							{
3ab0bee9   Elena.Budnik   aprams with args ...
472
473
474
475
476
477
478
479
								itemId: 'formParamDescription',
								name: 'description', 
								xtype: 'textarea', fieldLabel:'Description',
								width: 320,  height: 75,
								colspan: 3
							}]                        
					},
					this.constructionField
16035364   Benjamin Renard   First commit
480
481
482
				],		        
				fbar: [
					{
3ab0bee9   Elena.Budnik   aprams with args ...
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
						text: 'Save',
						scope : this,
						handler: function(){
							if (this.updateObject())
							{
								var paramModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.param.id);	
								if (!paramModule)
									return;
								var me = this;
								paramModule.linkedNode.isValidName(this.fieldName.getValue(), function (res) 
								{
									if (!res)
									{
										me.fieldName.validFlag = 'Error during object validation';
										myDesktopApp.errorMsg(me.fieldName.validFlag);
										me.fieldName.validate();
										return;
									}
16035364   Benjamin Renard   First commit
501
								  
3ab0bee9   Elena.Budnik   aprams with args ...
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
									if (!res.valid)
									{
										if (res.error)
										{
											if (res.error.search('subtree') != -1) {  							
												Ext.MessageBox.show({title:'Warning', 
															msg: res.error+'<br/>Do you want to overwrite it?',
															width: 300,
															buttons: Ext.MessageBox.OKCANCEL, 
															fn : me.overwriteProcess,
															icon: Ext.MessageBox.WARNING,
															scope : me
												});
												me.fieldName.validFlag = true;
											}
											else
												me.fieldName.validFlag = res.error;
										}
										else
										{
											me.fieldName.validFlag = 'Invalid object name';
											myDesktopApp.errorMsg(me.fieldName.validFlag);
										}
										me.fieldName.validate();
										return;
									}
									
									me.fieldName.validFlag = true;
									me.fieldName.validate();
9b36ce29   Benjamin Renard   clean up
531
                                                                                                                                                                                    me.saveProcess(false);
3ab0bee9   Elena.Budnik   aprams with args ...
532
533
534
								});							  
							}
						}
16035364   Benjamin Renard   First commit
535
536
					},
					{
3ab0bee9   Elena.Budnik   aprams with args ...
537
538
539
540
541
542
543
544
545
546
547
548
						text: 'Reset',
						scope: this,
						handler: function()
						{
							var paramModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.param.id);			
							paramModule.createLinkedNode();
							paramModule.createObject();
							this.setObject(paramModule.getLinkedNode().get('object'));
							/* reset with keeping old object
							this.formPanel.getForm().reset();
							*/
						}
16035364   Benjamin Renard   First commit
549
					}
3ab0bee9   Elena.Budnik   aprams with args ...
550
				] 	
16035364   Benjamin Renard   First commit
551
552
553
554
555
556
557
		});
				
		var myConf = {
				layout: 'border',
				border: false,
				defaults: { layout: 'fit', border: false },
				items: [
3ab0bee9   Elena.Budnik   aprams with args ...
558
559
560
561
562
					this.formPanel,
					{
						xtype: 'panel', region: 'south',
						title: 'Information',
						collapsible: true,
42863f42   Elena.Budnik   collapseMode: "he...
563
						collapseMode: 'header',
3ab0bee9   Elena.Budnik   aprams with args ...
564
565
566
567
568
569
570
571
						height: 100,
						autoHide: false,
						iconCls: 'icon-information',
						bodyStyle: 'padding:5px',
						loader: {
						autoLoad: true,
						url: helpDir+'myParameterHOWTO'
						}
16035364   Benjamin Renard   First commit
572
				} ],
3ab0bee9   Elena.Budnik   aprams with args ...
573
574
575
				plugins: [ 
						{ptype: 'calculator', myBtns:[], context: 'Parameter' }, 
						{ptype: 'paramArgumentsPlugin', pluginId: 'derived-param-arguments-plugin'}
5e6d074f   Elena.Budnik   infobull for para...
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
				],
				listeners:{
					click: {
						element: 'el',
						fn: function(e,t) { 
							var me = t,
							text = me.getAttribute('amda_clicktip');
							if (text) {
								e.preventDefault();
								AmdaAction.getInfo({name : text}, function(res,e) {					    					   
									if (res.success) myDesktopApp.infoMsg(res.result);
								}); 
							}
						}
					}
				}
16035364   Benjamin Renard   First commit
592
			};
5e6d074f   Elena.Budnik   infobull for para...
593
						
16035364   Benjamin Renard   First commit
594
595
596
			Ext.apply(this, Ext.apply(arguments, myConf));
	}
});