Blame view

js/app/views/CatalogUI.js 18.3 KB
f792a3de   elena   catalog ihm
1
2
3
4
5
6
7
8
9
10
11
12
/**
 * Project       AMDA-NG
 * Name          CatalogUI.js
 * @class 	 amdaUI.catalogUI
 * @extends      Ext.container.Container
 * @brief	 Catalog Module UI definition (View)
 * @author 	 elena
 */

Ext.define('amdaUI.CatalogUI', {
	extend: 'Ext.container.Container',
	alias: 'widget.panelCatalog',
f9c8b272   elena   edit catalog
13
14
15
16
17
	
	requires: [
		'Ext.grid.plugin.BufferedRenderer'
	],
	
d18b535d   elena   catalog draft + c...
18
	isCatalog : true,
f792a3de   elena   catalog ihm
19
	
f9c8b272   elena   edit catalog
20
	
70aabdee   elena   catalog draft
21
22
23
	constructor: function(config) 
	{
		this.init(config);
f9c8b272   elena   edit catalog
24
25
		this.callParent(arguments);
		this.toReconfigure = true;
70aabdee   elena   catalog draft
26
		if (this.object) this.loadObject();	         
f792a3de   elena   catalog ihm
27
28
	},
	
f9c8b272   elena   edit catalog
29
30
31
32
33
34
	setObject : function (object, toReconfigure) 
	{	
		if (toReconfigure) 
			this.toReconfigure = true;
		// set object	        
		this.object = object;		 
048b4d77   elena   catalogs +
35
36
37
		// load object into view
		this.loadObject();
	},
f792a3de   elena   catalog ihm
38
	
d18b535d   elena   catalog draft + c...
39
40
41
	/**
	 * set params description into this.object
	 */
70aabdee   elena   catalog draft
42
43
44
45
46
47
48
49
	setParamInfo : function(parameters) 
	{
		var params = [];
		Ext.Array.each(parameters, function(item, index) {
			params[index] = item;	     	  
		}, this);
		
		this.object.set('parameters', params);	  
f792a3de   elena   catalog ihm
50
51
52
53
	},
	
	/**
	 * update this.object from form
d18b535d   elena   catalog draft + c...
54
	 */	
70aabdee   elena   catalog draft
55
56
	updateObject : function()
	{  
d18b535d   elena   catalog draft + c...
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
	// get the basic form	
	  var basicForm = this.formPanel.getForm();        
	  var updateStatus = true;

	  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);	
	  }
	  // return the update status  
	   return updateStatus;	    
	},
f792a3de   elena   catalog ihm
79
	
d18b535d   elena   catalog draft + c...
80
	
70aabdee   elena   catalog draft
81
82
	updateCount : function() 
	{
d18b535d   elena   catalog draft + c...
83
84
85
86
		this.object.set('nbIntervals',this.TTGrid.getStore().getTotalCount());		
		this.formPanel.getForm().findField('nbIntervals').setValue(this.object.get('nbIntervals'));
	},
	
f9c8b272   elena   edit catalog
87
88
89
	 
	
	onAfterInit:   function(result, e) {
d18b535d   elena   catalog draft + c...
90
		
70aabdee   elena   catalog draft
91
		var me = this;
d18b535d   elena   catalog draft + c...
92
		
f9c8b272   elena   edit catalog
93
94
95
96
97
98
99
100
101
102
103
		if (!result || !result.success)
		{
			if (result.message)
				myDesktopApp.errorMsg(result.message);
			else
				myDesktopApp.errorMsg('Unknown error during catalog cache initialisation');
			return;
		}
			 
		if (me.toReconfigure) 
		{          	
70aabdee   elena   catalog draft
104
105
106
107
			var fields = [], columns = [], i = 3, width, index;

			var fieldsConfig =  [{ name : 'start' },{ name : 'stop' },{ name: 'cacheId', type : 'int'},
				{ name: 'isNew', type : 'boolean', defaultValue: false },
f9c8b272   elena   edit catalog
108
				{ name: 'isModified', type : 'boolean', defaultValue: false}
70aabdee   elena   catalog draft
109
110
111
112
			];
			
			for (var j = 0; j < 5; j++) fields[j] =  Ext.create('Ext.data.Field', fieldsConfig[j]);
				
f9c8b272   elena   edit catalog
113
			columns[0] = Ext.create('Ext.grid.column.RowNumberer');
d18b535d   elena   catalog draft + c...
114

70aabdee   elena   catalog draft
115
			columns[1] = Ext.create('Ext.grid.column.Column', { text: 'Start Time', sortable : false,  dataIndex: 'start',  
f9c8b272   elena   edit catalog
116
						width : 120, menuDisabled: true, editor : { xtype:'datefield', allowBlank:false, hideTrigger: true,  format : 'Y-m-d\\TH:i:s'}});
70aabdee   elena   catalog draft
117
			columns[2] = Ext.create('Ext.grid.column.Column', { text: 'Stop Time', sortable : false,  dataIndex: 'stop',  
f9c8b272   elena   edit catalog
118
						width : 120, menuDisabled: true, editor : { xtype:'datefield', allowBlank:false, hideTrigger: true,  format : 'Y-m-d\\TH:i:s'}});
70aabdee   elena   catalog draft
119
120
		
			Ext.Array.each(result.parameters, function(obj) 
c865df36   Elena.Budnik   dateTime datatype...
121
122
			{			 
				index = 'param'+(i-1).toString();
70aabdee   elena   catalog draft
123
				fields[i+2] = Ext.create('Ext.data.Field',{ name : index });
c865df36   Elena.Budnik   dateTime datatype...
124
125
126
127
128
129
130
131
132
133
				
				if (obj.type == 1) // dateTime
				{
					columns[i] = Ext.create('Ext.grid.column.Column', { text: obj.name, sortable : false,  dataIndex: index,  
						width : 120, menuDisabled: true, editor : { xtype:'datefield', allowBlank:false, hideTrigger: true,  format : 'Y-m-d\\TH:i:s'}});
				}
				else
				{					 
					width = 50. *  parseInt(obj.size);				
					columns[i] = Ext.create('Ext.grid.column.Column', { text: obj.name, sortable : false,  dataIndex: index,  
f9c8b272   elena   edit catalog
134
						width : width, menuDisabled: true, editor: 'textfield' });
c865df36   Elena.Budnik   dateTime datatype...
135
				}
70aabdee   elena   catalog draft
136
137
				i++;
			});
f9c8b272   elena   edit catalog
138
139
140
				
				
		
70aabdee   elena   catalog draft
141
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
168
169
170
171
172
173
			var store = Ext.create('Ext.data.Store', {
				fields: fields,
				autoDestroy: false,
				pageSize : 200,
				buffered : true, 
				purgePageCount: 0,
				remoteSort: true,
				proxy: {
					type: 'direct',
					api :
					{
						read   :  AmdaAction.readTTCacheIntervals
					},
					// remplir automatiquement tt, sharedtt , catalog, shared catalog
					extraParams : {'typeTT' : 'catalog'},
					reader:
					{
						type: 'json',
						root: 'intervals',
						totalProperty : 'totalCount'
					}
				},
				listeners: {
					scope : me,
					load: function(store,records) {        
						// myDesktopApp.EventManager.fireEvent('refresh');
						me.TTGrid.getView().refresh();
						me.TTGrid.getSelectionModel().refresh();
						me.updateCount();
						//Statistical plugin
						//   	this.fireEvent("refresh");
					}
				}
f9c8b272   elena   edit catalog
174
175
			});			
			
70aabdee   elena   catalog draft
176
			me.TTGrid.reconfigure(store, columns);
f9c8b272   elena   edit catalog
177
178
		}		
		me.TTGrid.getSelectionModel().deselectAll();
70aabdee   elena   catalog draft
179
180
181
182
183
184
185
	//         	        	
	//         	// clear filters
	//         	me.TTGrid.getStore().clearFilter(true);
	//         
	//     		//clear sort
	//         	me.TTGrid.getStore().sorters.clear();
	//         	//me.TTGrid.getStore().sorters = new Ext.util.MixedCollection();
f9c8b272   elena   edit catalog
186
	         	
70aabdee   elena   catalog draft
187
			//set cache token to the Catalog object
f9c8b272   elena   edit catalog
188
189
190
191
		me.object.set('cacheToken', result.token);
		me.setParamInfo(result.parameters);
		
		me.TTGrid.getStore().load();
70aabdee   elena   catalog draft
192
			
f9c8b272   elena   edit catalog
193
194
195
196
197
198
199
200
201
202
203
204
205
		me.status = result.status;
	},
	
	/**
	 * load object catalog into this view
	 */
	loadObject : function()
	{ 	  
		// load object into form
		this.formPanel.getForm().loadRecord(this.object);
	
		this.status = null;
		
70aabdee   elena   catalog draft
206
		if (this.object.get('fromPlugin'))
901ba3f3   Elena.Budnik   upload catalog
207
		{			
70aabdee   elena   catalog draft
208
209
210
			if (this.object.get('objFormat') && this.object.get('objFormat') != '')
			{
				//From uploaded file
901ba3f3   Elena.Budnik   upload catalog
211
				AmdaAction.initTTCacheFromUploadedFile(this.object.get('objName'), this.object.get('objFormat'), this.isCatalog, this.onAfterInit, this);
70aabdee   elena   catalog draft
212
213
214
			}
			else
			{
f9c8b272   elena   edit catalog
215
216
				//From tmp object (ie Statistics result)		    
				AmdaAction.initTTCacheFromTmpObject(this.object.get('folderId'), this.object.get('objName'), this.isCatalog, this.onAfterInit, this);
70aabdee   elena   catalog draft
217
218
219
220
			}
		}
		else
		{
169f14d2   Benjamin Renard   Add shared object...
221
			var typeTT = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id).linkedNode.data.nodeType;
70aabdee   elena   catalog draft
222
			if (this.object.get('id') == '')
f9c8b272   elena   edit catalog
223
224
			{														  				
				  
70aabdee   elena   catalog draft
225
226
227
228
			}	
			else
			{
				//From existing TT file
169f14d2   Benjamin Renard   Add shared object...
229
				AmdaAction.initTTCacheFromTT(this.object.get('id'), typeTT, this.onAfterInit, this);
70aabdee   elena   catalog draft
230
231
			}
		}
d18b535d   elena   catalog draft + c...
232
	},
70aabdee   elena   catalog draft
233
	
d18b535d   elena   catalog draft + c...
234
	checkIntervalsStatusForSave : function(onStatusOk) {
70aabdee   elena   catalog draft
235
		onStatusOk();
d18b535d   elena   catalog draft + c...
236
237
238
239
240
	},
	
	/*	    
	 * save method called by Save button
	 */
70aabdee   elena   catalog draft
241
242
	saveProcess : function(toRename)
	{
f9c8b272   elena   edit catalog
243
244
245
		var module = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id);
		//  store / columns are the same - not needed to reconfigure grid
		this.toReconfigure = false;
d18b535d   elena   catalog draft + c...
246
            // if the name has been modified this is a creation
70aabdee   elena   catalog draft
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
		if (this.fclose()) 
	      {         
			if (this.object.isModified('name') || this.object.get('fromPlugin')) {				
				// if object already has an id : it's a 'rename' of an existing  
				if (this.object.get('id')){
					// the context Node is the parent node of current edited one
					var contextNode = module.linkedNode.parentNode;
					// link a new node to the TimeTableModule
					module.createLinkedNode();
					// set the contextNode
					module.linkedNode.set('contextNode',contextNode);
					// create a new object linked
					module.createObject(this.object.getJsonValues());
					
					var obj = module.linkedNode.get('object');                                                    
					// synchronisation of objects
					this.object = obj;
					if (toRename) module.linkedNode.toRename = true;
				} 
c5984b95   elena   dblclk catalog
266
				module.linkedNode.create(/*{callback : function() {module.linkedNode.update();}, scope : this}*/);
70aabdee   elena   catalog draft
267
			} else {
f9c8b272   elena   edit catalog
268
				//update				
70aabdee   elena   catalog draft
269
270
				module.linkedNode.update();
			}
f9c8b272   elena   edit catalog
271
		   	
70aabdee   elena   catalog draft
272
		}
f792a3de   elena   catalog ihm
273
274
	},
	
d18b535d   elena   catalog draft + c...
275
	/**
f9c8b272   elena   edit catalog
276
277
278
279
280
281
282
283
284
285
286
287
	 * overwrite metod called by Save button
	 */
	overwriteProcess : function(btn)
	{	
		if (btn == 'cancel') return;
               
		this.fieldName.clearInvalid();
		this.saveProcess(true);		
		
	},
	
	/**
d18b535d   elena   catalog draft + c...
288
289
290
	 * Check if changes were made before closing window 
	 * @return true if changes
	 */	
70aabdee   elena   catalog draft
291
292
	fclose : function() 
	{
d18b535d   elena   catalog draft + c...
293
294
295
296
		if (this.status == null)
			return false;
		
		var isDirty = this.formPanel.getForm().isDirty() || (this.status.isModified) || (this.status.nbModified > 0) || (this.status.nbNew > 0);
70aabdee   elena   catalog draft
297
	return isDirty;
d18b535d   elena   catalog draft + c...
298
	},
f9c8b272   elena   edit catalog
299
 	    
70aabdee   elena   catalog draft
300
301
302
	init : function (config) 
	{	  
		this.object =   config.object;
f792a3de   elena   catalog ihm
303
	  
70aabdee   elena   catalog draft
304
305
306
307
308
309
310
311
312
313
314
315
316
		this.fieldName = new Ext.form.field.Text({
			fieldLabel: 'Name',
			allowBlank : false,
			stripCharsRe: /(^\s+|\s+$)/g,
			emptyText: 'Please no spaces!',
			name: 'name',
			validateOnChange: false,
			validateOnBlur: false,
			validFlag: false,
				validator : function() {
					return this.validFlag;
				}
		});
f9c8b272   elena   edit catalog
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
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
		
		var cellEditing = Ext.create('Ext.grid.plugin.CellEditing',{
//			clicksToEdit: 2,
			onEditComplete : function(ed, value, startValue) {
				var me = this,
				activeColumn = me.getActiveColumn(),
				context = me.context,
				record;

				if (activeColumn) {
					record = context.record;

					me.setActiveEditor(null);
					me.setActiveColumn(null);
					me.setActiveRecord(null);
				
					context.value = value;
					if (!me.validateEdit()) {
						me.editing = false;
						return;
					}

					// Only update the record if the new value is different than the
					// startValue. When the view refreshes its el will gain focus
					if (!record.isEqual(value, startValue)) {
					var obj = {};					
					 
					obj['cacheId']  = record.get('cacheId');
					obj['isCatalog'] = true;
					obj[activeColumn.dataIndex] = value;								  
					
					//Interval is modified on the server side
					me.editing = true;
					
					AmdaAction.modifyTTCacheInterval(obj, function (result, e) {
						
						var module = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id);
						if (module)
							module.getUiContent().status = result.status;
						context.grid.getSelectionModel().deselectAll();
						context.store.reload({
							callback : function(records, options, success) {
								context.view.bufferedRenderer.scrollTo(context.rowIdx, true, function() {
									me.fireEvent('edit', me, context);
									me.editing = false;
								}, me);	    	            
							}
						});
						}, this);
					}
					else
					me.editing = false;
				}
			}	
		});
d18b535d   elena   catalog draft + c...
372

70aabdee   elena   catalog draft
373
374
375
376
		this.TTGrid =  Ext.create('Ext.grid.Panel', { 
			height: 530,
			columns: [ ],
			frame: true,
f9c8b272   elena   edit catalog
377
378
379
			columnLines: true,
		//	selType: 'cellmodel',
			plugins: [ cellEditing, { ptype : 'bufferedrenderer'} ],
70aabdee   elena   catalog draft
380
381
382
383
384
385
			dockedItems: [{
				xtype: 'toolbar', 
				items: [{
				iconCls: 'icon-add',
				scope: this,
				handler: function(){
f9c8b272   elena   edit catalog
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
					 
					cellEditing.cancelEdit();
					var store = this.TTGrid.getStore();
					 
					var selection = this.TTGrid.getView().getSelectionModel().getSelection()[0];
					var row = 0;
					if (selection)
						row = store.indexOf(selection) + 1;
					this.TTGrid.getSelectionModel().deselectAll();
                        
					var me = this;
					AmdaAction.addTTCacheInterval({'index' : row, 'isCatalog' : true}, function (result, e) {
	                        	this.status = result.status;
	                        	this.TTGrid.getStore().reload({
	                        		callback : function(records, options, success) {
	                        			me.TTGrid.getView().bufferedRenderer.scrollTo(row, false, function() {
	                        				me.TTGrid.getView().select(row);
	                        				cellEditing.startEditByPosition({row: row, column: 1});	
	                        			}, me);	
	                        		}
	                        	});
	                        }, this);
70aabdee   elena   catalog draft
408
409
410
411
412
413
414
415
416
417
				}
				},{
				iconCls: 'icon-delete',
				disabled: true,
				itemId: 'delete',
				scope: this,
				handler:  function(){
					var selection = this.TTGrid.getView().getSelectionModel().getSelection()[0];
					if (selection) 
					{
f9c8b272   elena   edit catalog
418
						var rowId = selection.get('cacheId');						
70aabdee   elena   catalog draft
419
420
421
422
423
424
425
426
427
428
						this.TTGrid.getSelectionModel().deselectAll();
						AmdaAction.removeTTCacheIntervalFromId(rowId, this.isCatalog, function (result, e) {
							this.status = result.status;
							this.TTGrid.getStore().reload();
						}, this);
					}
				}
				}]
			}]
		});
f792a3de   elena   catalog ihm
429
 
f13f0bd4   Elena.Budnik   New Catalog creation
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
		this.formPanel =  Ext.create('Ext.form.Panel', 
		{ 
			region : 'center',
			layout:  'hbox', 
			bodyStyle: {background : '#dfe8f6'},
			defaults: { border : false, align: 'stretch', bodyStyle: {background : '#dfe8f6'},  padding: '3'},
			fieldDefaults: { labelWidth: 80, labelAlign : 'top' },
			items: [ 
			{            
				xtype: 'form',		            
				flex: 1,
				buttonAlign: 'left',
	//		    title : 'Information',		   
				layout: {type: 'vbox', pack: 'start', align: 'stretch'},
				items : [
					this.fieldName,
					{
						xtype: 'fieldcontainer',
						layout: 'hbox',		      
						items: [
							{
								xtype:'datefield', fieldLabel:'Creation date',
								name: 'created', disabled: true, 
								hideTrigger: true, format: 'Y/m/d H:i:s'
							},			  
							{ xtype: 'splitter' },			 			 
							{ xtype:'textfield', fieldLabel: 'Intervals', name: 'nbIntervals', disabled: true}
						]                                                                       
					},
					{
						xtype: 'textarea',
						name: 'description',
						fieldLabel: 'Description',
						height: 200
					},
					{
						xtype: 'component',
						height: 180
					}], 
					dockedItems:[
					{
						xtype: 'toolbar',
						dock: 'bottom', 
						ui: 'footer',
						items: [
						{
							type: 'button',
							text: 'Create New Catalog',
							scope : this,
							handler: function () 
							{ 											
								var module = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id);	
										
								if (!module) return;
								var obj = module.linkedNode.get('object');
								
								if (obj && obj.get('id') == '' && !obj.get('fromPlugin')) {
									var me = this
									Ext.Msg.prompt('Define Parameters', 'Please enter parameters number:', function(btn, text){
										if (btn == 'ok'){
											AmdaAction.initTTCache(me.isCatalog, text, me.onAfterInit, me); 
										}
									}, this);
								}	
							}
						}]
					},
					{  
						xtype: 'toolbar',
						dock: 'bottom', 
						ui: 'footer',
						items: [
						{
							type: 'button',
							text: 'Save',
							scope : this,
							handler: function () 
							{
								if (this.updateObject())
								{
									var basicForm = this.formPanel.getForm();      
									// if there's at least one record in the store of TTGrid
									if (this.TTGrid.getStore().getTotalCount() > 0) 
									{
										// update TimeTable object which the content of form
										basicForm.updateRecord(this.object);
d18b535d   elena   catalog draft + c...
516

f13f0bd4   Elena.Budnik   New Catalog creation
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
										var me = this;
										this.checkIntervalsStatusForSave(function () 
										{
											//Name validation
											var module = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id);	
											
											if (!module) return;
											module.linkedNode.isValidName(me.fieldName.getValue(), function (res) 
											{
												if (!res)
												{
													me.fieldName.validFlag = 'Error during object validation';
													myDesktopApp.errorMsg(me.fieldName.validFlag);
													me.fieldName.validate();
													return;
												}
												
												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();
												me.saveProcess(false);
											});
										});                            
									} 
									else 
									{
f13f0bd4   Elena.Budnik   New Catalog creation
570
571
572
573
574
575
576
										Ext.Msg.alert('No intervals', 'Your time table is invalid, <br>you must have at least one interval');
									}
								}
							} 
						},
						{
							type: 'button',
08eee02f   Elena.Budnik   reset catalogUI
577
578
							text: 'Reset',
							scope : this,
c865df36   Elena.Budnik   dateTime datatype...
579
							disabled: true,
08eee02f   Elena.Budnik   reset catalogUI
580
581
582
583
584
585
586
							handler: function()
							{
// 								var module = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.catalog.id);			
// 								module.createLinkedNode();
// 								module.createObject();
// 								this.setObject(module.getLinkedNode().get('object'), true);                           
							} 
f13f0bd4   Elena.Budnik   New Catalog creation
587
588
589
590
591
592
593
594
595
596
597
598
599
						},	
						{   
							type: 'button',
							text: 'Share',
							disabled: true 
						},
						{   
							type: 'button',
							text: 'Visualize',
							scope: this,
							handler: function() 
							{
								var me = this;
9d412dda   elena   catalog tmp and r...
600
					
f13f0bd4   Elena.Budnik   New Catalog creation
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
								myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.visu.id, true, function (module) 
								{	 	 							
									//temporary linked node - as  Visu module is 'pseudo' interactive - no 'save', no 'execute'
									var temporaryNode = Ext.create('amdaModel.CatalogNode', {
										leaf : true 
									}); 
									
									if (temporaryNode) temporaryNode.set('object',me.object); 
									module.setLinkedNode(temporaryNode);
									
									module.createWindow(); 					 					 
								});     
							}
						}]					
					}]
				},
				{
					xtype: 'form',               
					bodyStyle: {background : '#dfe8f6'},
					//padding: '3',
					flex: 2,
					items : [
						this.TTGrid
					] 
				}]  
			}); 
f792a3de   elena   catalog ihm
627
	 
f13f0bd4   Elena.Budnik   New Catalog creation
628
629
630
631
		this.TTGrid.getSelectionModel().on('selectionchange', function(selModel,selections)
		{
			this.TTGrid.down('#delete').setDisabled(selections.length === 0); 
		}, this); 
f792a3de   elena   catalog ihm
632
	
f13f0bd4   Elena.Budnik   New Catalog creation
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
		var myConf = 
		{
			layout: 'border',
			items: [		   
				this.formPanel, 		     
				{
					xtype: 'panel', 
					region: 'south',
					title: 'Information',
					collapsible: true,
					height: 100,
					autoHide: false,
					bodyStyle: 'padding:5px',
					iconCls:  'icon-information',
					loader: 
					{
						autoLoad: true,
						url: helpDir+'catalogHOWTO'
					} 
				}
			] 
		};
f792a3de   elena   catalog ihm
655
	    
f13f0bd4   Elena.Budnik   New Catalog creation
656
657
		Ext.apply (this, Ext.apply(arguments, myConf));	
	}
f792a3de   elena   catalog ihm
658
659
	 
});