Commit 04a55960b1fd7251309d5837cf043658f61700af

Authored by Nathanael Jourdane
1 parent ef3ac5fb

Add EPN-TAP to Amda explorer context menu.

js/app/controllers/DynamicModule.js
... ... @@ -23,11 +23,11 @@ Ext.define('amdaDesktop.DynamicModule', {
23 23 * @required
24 24 */
25 25 source : '',
26   -
  26 +
27 27 module: null,
28   -
  28 +
29 29 launcher: null,
30   -
  30 +
31 31 constructor : function(id, icon, title, source, useLauncher){
32 32 this.id = id;
33 33 this.icon = icon;
... ... @@ -42,11 +42,11 @@ Ext.define('amdaDesktop.DynamicModule', {
42 42 };
43 43 this.callParent(arguments);
44 44 },
45   -
  45 +
46 46 isReady : function(){
47 47 return (this.module != null);
48 48 },
49   -
  49 +
50 50 get : function(onReady){
51 51 if (!this.isReady())
52 52 {
... ... @@ -64,7 +64,7 @@ Ext.define('amdaDesktop.DynamicModule', {
64 64 onReady(this.module);
65 65 return this.module;
66 66 },
67   -
  67 +
68 68 /**
69 69 * Window Creation method of the Module
70 70 */
... ...
js/app/controllers/EpnTapModule.js
... ... @@ -94,6 +94,45 @@ Ext.define('amdaDesktop.EpnTapModule', {
94 94 *** Service filter events ***
95 95 ****************************/
96 96  
  97 + createWindow: function (target) {
  98 + this.callParent();
  99 + this.onWindowLoaded();
  100 + console.log("selected target:", target);
  101 +
  102 + switch(target) {
  103 + case 'icon-mercury':
  104 + this.targetClassCB.select('planet');
  105 + break;
  106 + case 'icon-venus':
  107 + this.targetClassCB.select('planet');
  108 + break;
  109 + case 'icon-earth':
  110 + this.targetClassCB.select('planet');
  111 + break;
  112 + case 'icon-mars':
  113 + this.targetClassCB.select('planet');
  114 + break;
  115 + case 'icon-jupiter':
  116 + this.targetClassCB.select('planet');
  117 + break;
  118 + case 'icon-saturn':
  119 + this.targetClassCB.select('planet');
  120 + break;
  121 + case 'icon-comet':
  122 + this.targetClassCB.select('comet');
  123 + break;
  124 + case 'icon-sw':
  125 + this.targetClassCB.select('sun'); // ร€ vรฉrifier
  126 + break;
  127 + case 'icon-solarsystem':
  128 + this.targetClassCB.select('sun'); // ร€ vรฉrifier
  129 + break;
  130 + default:
  131 + console.log("Unknown target: " + target);
  132 + break;
  133 + }
  134 + },
  135 +
97 136 /**
98 137 Trigerred after the render of `gridsPanel` (containing `servicesGrid` and `granulesGrid`). Among other things,
99 138 initializes the `productType` combobox and the `servicesGrid` table.
... ... @@ -488,6 +527,7 @@ Ext.define('amdaDesktop.EpnTapModule', {
488 527 }
489 528 }
490 529 Ext.getCmp('epnTapServicesGrid').setDisabled(false);
  530 + Ext.getCmp('epnTapGranulesGrid').setDisabled(false);
491 531 Ext.getCmp('epnTapServicesGrid').getEl().setStyle('cursor', 'default'); // CSS is correctly changed but without visible result.
492 532 },
493 533  
... ... @@ -496,8 +536,9 @@ Ext.define('amdaDesktop.EpnTapModule', {
496 536 processing. The altered elements are resetted in `fillGranules()`.
497 537 */
498 538 wait: function() {
499   - this.servicesGrid.getEl().setStyle('cursor', 'wait');
500   - this.servicesGrid.setDisabled(true); // CSS is correctly changed but without visible result.
  539 + this.servicesGrid.getEl().setStyle('cursor', 'wait'); // CSS is correctly changed but without visible result.
  540 + this.servicesGrid.setDisabled(true);
  541 + this.granulesGrid.setDisabled(true);
501 542 }
502 543  
503 544 });
... ...
js/app/controllers/ExplorerModule.js
1   -/**
  1 +/**
2 2 * Project : AMDA-NG
3 3 * Name : ExplorerModule.js
4   - * @class amdaDesktop.ExplorerModule
  4 + * @class amdaDesktop.ExplorerModule
5 5 * @extends amdaDesktop.AmdaModule
6 6 * @brief Explorer Module controller definition
7 7 * @author CDA
... ... @@ -10,7 +10,7 @@
10 10 Ext.define('amdaDesktop.ExplorerModule', {
11 11  
12 12 extend: 'amdaDesktop.AmdaModule',
13   -
  13 +
14 14 requires : [
15 15 'amdaUI.ExplorerUI',
16 16 'amdaUI.AliasUI',
... ... @@ -34,39 +34,39 @@ Ext.define('amdaDesktop.ExplorerModule', {
34 34 // Object Models
35 35 'amdaModel.Parameter',
36 36 'amdaModel.Search',
37   -
  37 +
38 38 'amdaModel.Download',
39 39 'amdaModel.TimeTable',
40   - 'amdaModel.Catalog',
  40 + 'amdaModel.Catalog',
41 41 'amdaModel.Statistics',
42 42 'amdaModel.FileObject',
43 43 'amdaModel.FileParamObject',
44 44 'amdaModel.FilterInfo'
45 45 ],
46   -
  46 +
47 47 contentId : 'explorerUI',
48   -
  48 +
49 49 filter : null,
50 50 filtersStore : null,
51   -
  51 +
52 52 paramInfoRegistry : {},
53   -
  53 +
54 54 constructor : function(config){
55 55 this.callParent(arguments);
56 56 if (!this.filtersStore) {
57 57 this.filtersStore = Ext.create('Ext.data.Store', {
58   - model: 'amdaModel.FilterList'
59   - });
60   - this.filtersStore.load();
  58 + model: 'amdaModel.FilterList'
  59 + });
  60 + this.filtersStore.load();
61 61 // amdaDesktop.ExplorerModule.filtersStore = this.filtersStore;
62   - }
  62 + }
63 63 },
64   -
  64 +
65 65 createWindow : function() {
66 66 var desktop = this.app.getDesktop();
67   -
  67 +
68 68 var win = desktop.getWindow(this.id);
69   - if (!win) {
  69 + if (!win) {
70 70 win = desktop.createWindow( {
71 71 id : this.id,
72 72 title : this.title,
... ... @@ -95,7 +95,7 @@ Ext.define('amdaDesktop.ExplorerModule', {
95 95 region: 'center'
96 96 },
97 97 {
98   - xtype: 'panel',
  98 + xtype: 'panel',
99 99 id : 'LogPanel',
100 100 region: 'south',
101 101 height : 150,
... ... @@ -104,28 +104,28 @@ Ext.define('amdaDesktop.ExplorerModule', {
104 104 type: 'vbox',
105 105 align : 'stretch',
106 106 autoSize : true
107   - },
  107 + },
108 108 autoScroll : true,
109 109 stateful : true,
110 110 stateId : 'LogPanel',
111 111 buttons : [{
112 112 scope: this,
113 113 text : 'Clear',
114   - handler: function(){
115   - win.items.get('LogPanel').removeAll();
  114 + handler: function(){
  115 + win.items.get('LogPanel').removeAll();
116 116 this.addLogMessage('<b>Log</b>');
117 117 }
118 118 }]
119 119 }
120 120 ]
121 121 });
122   -
123   -
  122 +
  123 +
124 124 }
125   -
  125 +
126 126 win.on({
127 127 activate: {
128   - fn : function()
  128 + fn : function()
129 129 {
130 130 myDesktopApp.getLoadedModule(this.id, true, function (module) {
131 131 // on activation when there's a pinedModule 'null'
... ... @@ -134,21 +134,21 @@ Ext.define(&#39;amdaDesktop.ExplorerModule&#39;, {
134 134 var manager = myDesktopApp.desktop.getDesktopZIndexManager();
135 135 // ordering to send back this window
136 136 manager.sendToBack(win);
137   - }
  137 + }
138 138 });
139   -
  139 +
140 140 },
141 141 scope: this
142   - }
  142 + }
143 143 });
144   -
  144 +
145 145 win.on({
146   - show :
  146 + show :
147 147 {
148 148 fn : function(o)
149 149 {
150 150 //set current filter
151   - this.setCrtFilter();
  151 + this.setCrtFilter();
152 152 //resize the explorer in relation with the desktop size
153 153 if (win.y + win.height > myDesktopApp.desktop.el.getHeight())
154 154 win.setHeight(myDesktopApp.desktop.el.getHeight() - win.y);
... ... @@ -156,21 +156,21 @@ Ext.define(&#39;amdaDesktop.ExplorerModule&#39;, {
156 156 scope : this
157 157 }
158 158 });
159   -
  159 +
160 160 win.addCls('window-active');
161 161 win.show();
162 162 this.addLogMessage('<b>Log</b>');
163 163 return win;
164   -
  164 +
165 165 },
166   -
  166 +
167 167 pinedModule : null,
168   -
  168 +
169 169 /**
170 170 * Getter of pinedModule
171 171 * @return {amdaDesktop.InteractiveModule} The pined module
172 172 */
173   - getPinedModule : function()
  173 + getPinedModule : function()
174 174 {
175 175 // get the pined Module
176 176 return this.pinedModule;
... ... @@ -180,17 +180,17 @@ Ext.define(&#39;amdaDesktop.ExplorerModule&#39;, {
180 180 * Setter of pinedModule
181 181 * @param {amdaDesktop.InteractiveModule} The pined module
182 182 */
183   - setPinedModule : function(amdaModule)
  183 + setPinedModule : function(amdaModule)
184 184 {
185 185 // set the pined Module
186 186 this.pinedModule = amdaModule;
187 187 },
188   -
  188 +
189 189 /**
190 190 * Module Attachment Method
191 191 * @param {amdaDesktop.InteractiveModule} The module to attach
192 192 */
193   - pinMechanism : function(amdaModule)
  193 + pinMechanism : function(amdaModule)
194 194 {
195 195 // if there is an old pined module
196 196 if (this.getPinedModule()!=null) {
... ... @@ -204,8 +204,8 @@ Ext.define(&#39;amdaDesktop.ExplorerModule&#39;, {
204 204 // call color method on pined Module
205 205 myDesktopApp.getLoadedModule(amdaModule).colorHeaderModule();
206 206 },
207   -
208   -
  207 +
  208 +
209 209 addLogMessage : function(message)
210 210 {
211 211 var height = 40;
... ... @@ -219,7 +219,7 @@ Ext.define(&#39;amdaDesktop.ExplorerModule&#39;, {
219 219 var panel = win.items.get('LogPanel');
220 220 panel.add(msg);
221 221 },
222   -
  222 +
223 223 //
224 224 setCrtFilter : function()
225 225 {
... ... @@ -228,17 +228,17 @@ Ext.define(&#39;amdaDesktop.ExplorerModule&#39;, {
228 228 AmdaAction.getCrtFilterResult(function (result, e)
229 229 {
230 230 var t = e.getTransaction();
231   - if (e.status)
232   - {
  231 + if (e.status)
  232 + {
233 233 if (result)
234 234 {
235 235 //apply current filter
236 236 this.filter = result;
237   -
  237 +
238 238 // add saved filter to Explorer List
239   - if (!this.filtersStore.getById(this.filter.id))
  239 + if (!this.filtersStore.getById(this.filter.id))
240 240 this.filtersStore.add({id : this.filter.id, name : this.filter.name});
241   -
  241 +
242 242 //apply filter to the tree
243 243 var desktop = myDesktopApp.getDesktop();
244 244 var win = desktop.getWindow(this.id);
... ... @@ -250,7 +250,7 @@ Ext.define(&#39;amdaDesktop.ExplorerModule&#39;, {
250 250 }
251 251 else
252 252 Ext.Msg.show( {
253   - title : 'Filter',
  253 + title : 'Filter',
254 254 msg : 'Cannot apply filter',
255 255 modal : true,
256 256 icon : Ext.Msg.ERROR,
... ... @@ -261,22 +261,22 @@ Ext.define(&#39;amdaDesktop.ExplorerModule&#39;, {
261 261 {
262 262 // FAILURE
263 263 Ext.Msg.show({title:'Error System', msg: e.message, icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK});
264   - }
  264 + }
265 265 },this);
266 266 },
267   -
  267 +
268 268 resetFilter : function()
269 269 {
270   - AmdaAction.resetFilter(
  270 + AmdaAction.resetFilter(
271 271 function (result, e)
272 272 {
273 273 var t = e.getTransaction();
274   - if (e.status)
275   - {
  274 + if (e.status)
  275 + {
276 276 if (result)
277 277 {
278 278 this.setCrtFilter();
279   -
  279 +
280 280 //update filter win
281 281 var desktop = myDesktopApp.getDesktop();
282 282 var win = desktop.getWindow(myDesktopApp.dynamicModules.filters.id);
... ... @@ -288,7 +288,7 @@ Ext.define(&#39;amdaDesktop.ExplorerModule&#39;, {
288 288 }
289 289 else
290 290 Ext.Msg.show( {
291   - title : 'Filter',
  291 + title : 'Filter',
292 292 msg : 'Cannot reset filter',
293 293 modal : true,
294 294 icon : Ext.Msg.ERROR,
... ... @@ -299,17 +299,17 @@ Ext.define(&#39;amdaDesktop.ExplorerModule&#39;, {
299 299 {
300 300 // FAILURE
301 301 Ext.Msg.show({title:'Error System', msg: e.message, icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK});
302   - }
  302 + }
303 303 },this);
304 304 },
305   -
  305 +
306 306 getParamInfo : function(paramId, onReady) {
307 307 if (this.paramInfoRegistry[paramId]) {
308 308 if (onReady)
309 309 onReady(this.paramInfoRegistry[paramId]);
310 310 return this.paramInfoRegistry[paramId];
311 311 }
312   -
  312 +
313 313 var me = this;
314 314 AmdaAction.getParamInfo({"paramId" : paramId}, function (result, e) {
315 315 var paramInfo = null;
... ... @@ -336,7 +336,7 @@ Ext.define(&#39;amdaDesktop.ExplorerModule&#39;, {
336 336 }
337 337  
338 338 if (onReady)
339   - onReady(paramInfo);
  339 + onReady(paramInfo);
340 340 });
341 341 return null;
342 342 }
... ...
js/app/models/AmdaNode.js
1   -/**
  1 +/**
2 2 * Project : AMDA-NG4
3 3 * Name : AmdaNode.js
4 4 * @class amdaModel.AmdaNode
... ... @@ -14,12 +14,12 @@
14 14 */
15 15 Ext.define('amdaModel.AmdaNode', {
16 16 extend: 'Ext.data.TreeModel',
17   -
  17 +
18 18 requires: ['amdaReader.ExplorerReader'],
19   -
  19 +
20 20 fields: [
21 21 {name: 'leaf', type: 'boolean'},
22   - {name: 'nodeType',type:'string'},
  22 + {name: 'nodeType',type:'string'},
23 23 {name: 'id', type: 'string'},
24 24 {name:'text',type: 'string'},
25 25 {name:'info',type: 'string'},
... ... @@ -29,19 +29,19 @@ Ext.define(&#39;amdaModel.AmdaNode&#39;, {
29 29 {name: 'ownerTree', persist: false},
30 30 {name: 'checked', defaultValue: null, persist: false}
31 31 ],
32   -
  32 +
33 33 statics : {
34 34 NEW_DIR_NAME : 'new Folder',
35 35 MULTI_PREFIX : 'mult'
36 36 },
37   -
  37 +
38 38 /**
39 39 * @cfg proxy used to load nodes
40 40 */
41 41 proxy: {
42 42 type: 'direct',
43 43 // directFn: AmdaAction.getTree,
44   - api :
  44 + api :
45 45 {
46 46 read: AmdaAction.getTree,
47 47 update: AmdaAction.saveTree,
... ... @@ -53,20 +53,20 @@ Ext.define(&#39;amdaModel.AmdaNode&#39;, {
53 53 type: 'explorer'
54 54 }
55 55 },
56   -
  56 +
57 57 /**
58 58 * Abstract getter of complete array of item context menu
59 59 * @return {Ext.Array} the complete array of item context menu
60 60 */
61 61 getAllContextMenuItems: Ext.emptyFn,
62   -
  62 +
63 63 /**
64 64 * Abstract method call on click on item of context menu
65 65 */
66 66 onMenuItemClick: Ext.emptyFn,
67   -
  67 +
68 68 /**
69   - * Abstract Update Data method
  69 + * Abstract Update Data method
70 70 */
71 71 update : Ext.emptyFn,
72 72  
... ... @@ -74,17 +74,17 @@ Ext.define(&#39;amdaModel.AmdaNode&#39;, {
74 74 * Abstract Rename Data method
75 75 */
76 76 rename : Ext.emptyFn,
77   -
  77 +
78 78 /**
79 79 * Abstract Rename D&D Data method
80 80 */
81 81 renameDD : Ext.emptyFn,
82   -
  82 +
83 83 /**
84 84 * Abstract Create Data method
85 85 */
86 86 create : Ext.emptyFn,
87   -
  87 +
88 88 /**
89 89 * filtering method of context menu
90 90 * @param {String} itemKind the kind of right clicked node
... ... @@ -108,7 +108,7 @@ Ext.define(&#39;amdaModel.AmdaNode&#39;, {
108 108 return null;
109 109 }
110 110 },
111   -
  111 +
112 112 getMultiContextMenu : function(){
113 113 var menuitems = this.getMultiContextMenuItems();
114 114 if (menuitems && menuitems.length){
... ... @@ -117,7 +117,7 @@ Ext.define(&#39;amdaModel.AmdaNode&#39;, {
117 117 return null;
118 118 }
119 119 },
120   -
  120 +
121 121 /**
122 122 * get the kind of this node
123 123 * @returns itemKind string
... ... @@ -141,7 +141,7 @@ Ext.define(&#39;amdaModel.AmdaNode&#39;, {
141 141 }
142 142 return itemKind;
143 143 },
144   -
  144 +
145 145 /**
146 146 * Getter on context menu of this node
147 147 * @returns {Ext.menu.Menu} the contextMenu of this node
... ... @@ -154,11 +154,11 @@ Ext.define(&#39;amdaModel.AmdaNode&#39;, {
154 154 // return the context menu for this node
155 155 return menuItems;
156 156 },
157   -
  157 +
158 158 getContextMenuMultiItems : function() {
159 159 return this.getMultiContextMenu();
160 160 },
161   -
  161 +
162 162 /**
163 163 * Method to retrieve the root node corresponding to the nodeType of this node
164 164 * @return {amdaModel.AmdaNode} the root node of category of this node
... ... @@ -169,8 +169,8 @@ Ext.define(&#39;amdaModel.AmdaNode&#39;, {
169 169 if(this.getNodeKind() == amdaUI.ExplorerUI.ITEM_KIND_ROOT) {
170 170 this.set('rootNode',this);
171 171 } else {
172   - // get resources tree panel
173   - var tree = this.myGetOwnerTree();
  172 + // get resources tree panel
  173 + var tree = this.myGetOwnerTree();
174 174 var treeRoot = tree.getRootNode();
175 175 var rootNodeId = this.get('nodeType')+amdaUI.ExplorerUI.ROOT_SUFFIX;
176 176  
... ... @@ -179,7 +179,7 @@ Ext.define(&#39;amdaModel.AmdaNode&#39;, {
179 179 }
180 180 return this.get('rootNode');
181 181 },
182   -
  182 +
183 183 /**
184 184 * getter on ownerTree (use ownerTreeId property)
185 185 * @return {Ext.tree.Panel} the tree which contains this node
... ... @@ -192,4 +192,3 @@ Ext.define(&#39;amdaModel.AmdaNode&#39;, {
192 192 }
193 193  
194 194 });
195   -
... ...
js/app/models/LocalParamNode.js
1   -/**
  1 +/**
2 2 * Project : AMDA-NG4
3 3 * Name : LocalParamNode.js
4 4 * @class amdaModel.LocalParamNode
5 5 * @extends amdaModel.InteractiveNode
6 6 * @brief Basic Model of Node corresponding to a amda parameter
7   - * @author
8   - * @version $Id: LocalParamNode.js 2800 2015-02-27 16:23:06Z elena $
  7 + * @author
  8 + * @version $Id: LocalParamNode.js 2800 2015-02-27 16:23:06Z elena $
9 9 */
10 10  
11   -Ext.define('amdaModel.LocalParamNode',
  11 +Ext.define('amdaModel.LocalParamNode',
12 12 {
13 13 extend: 'amdaModel.InteractiveNode',
14   -
  14 +
15 15 statics:
16 16 {
17 17 nodeType: 'localParam'
18 18 },
19   -
20   - fields:
  19 +
  20 + fields:
21 21 [
22 22 {name: 'alias', type:'string', persist: false},
23   - {name: 'isParameter', type: 'boolean', persist: false},
  23 + {name: 'isParameter', type: 'boolean', persist: false},
24 24 {name: 'notyet', type: 'boolean', defaultValue: false, persist: false},
25 25 {name: 'needsArgs', type: 'boolean', persist: false},
26 26 {name: 'isSpectra', type: 'boolean', defaultValue: false, persist: false},
27 27 {name: 'isStack', type: 'boolean', defaultValue: true, persist: false},
28 28 {name: 'globalStart', type: 'string', persist: false},
29 29 {name: 'globalStop', type: 'string', persist: false},
30   - {name: 'timeRestriction', type: 'boolean', persist: false},
  30 + {name: 'timeRestriction', type: 'boolean', persist: false},
31 31 {name: 'rank', type: 'integer', persist: false, defaultValue: null}
32   - ],
33   -
  32 + ],
  33 +
34 34 constructor : function(config)
35   - {
  35 + {
36 36 this.callParent(arguments);
37 37  
38 38 this.set('allowDrop', true);
39 39 this.set('moduleId',myDesktopApp.dynamicModules.param.id);
40 40 this.set('objectDataModel',amdaModel.Parameter.$className);
41   -
  41 +
42 42 // if future missions or 'depending on mission'
43   - if (this.get('globalStart')) {
44   - var now = Ext.Date.format(new Date(), 'Y/m/d');
  43 + if (this.get('globalStart')) {
  44 + var now = Ext.Date.format(new Date(), 'Y/m/d');
45 45 if ( this.get('globalStart') > now )
46 46 this.set('cls','predicted');
47 47 }
48 48 // time restriction on parameters
49   - if (this.get('timeRestriction')) {
  49 + if (this.get('timeRestriction')) {
50 50 // this.set('cls','predicted');
51 51 var id = this.get('id');
52 52 var bracketPos = id.indexOf("(");
... ... @@ -54,36 +54,36 @@ Ext.define(&#39;amdaModel.LocalParamNode&#39;,
54 54 id = Ext.String.insert(id, '_restr', bracketPos);
55 55 }
56 56 else {
57   - id += '_restr';
  57 + id += '_restr';
58 58 }
59 59 this.set('id', id);
60 60 }
61   -
62   - if (this.get('rank')) {
  61 +
  62 + if (this.get('rank')) {
63 63 var rank = this.get('rank');
64 64 if (rank == 1) this.set('iconCls', 'icon-mercury');
65 65 if (rank == 2) this.set('iconCls', 'icon-venus');
66   - if (rank == 5) this.set('iconCls', 'icon-earth');
  66 + if (rank == 5) this.set('iconCls', 'icon-earth');
67 67 if (rank == 6) this.set('iconCls', 'icon-earth');
68 68 if (rank == 7) this.set('iconCls', 'icon-mars');
69   - if (rank == 8) this.set('iconCls', 'icon-jupiter');
  69 + if (rank == 8) this.set('iconCls', 'icon-jupiter');
70 70 if (rank == 9) this.set('iconCls', 'icon-saturn');
71   - if (rank == 93) this.set('iconCls', 'icon-comet');
  71 + if (rank == 93) this.set('iconCls', 'icon-comet');
72 72 if (rank == 3) this.set('iconCls', 'icon-sw');
73 73 if (rank == 4) this.set('iconCls', 'icon-sw');
74 74 if (rank >= 99) this.set('iconCls', 'icon-solarsystem');
75 75 }
76   -
77   - if (this.get('isParameter'))
78   - {
79   - if (this.get('leaf')) this.set('iconCls', 'icon-scalar');
80   - else this.set('iconCls', 'icon-vector');
81   -
  76 +
  77 + if (this.get('isParameter'))
  78 + {
  79 + if (this.get('leaf')) this.set('iconCls', 'icon-scalar');
  80 + else this.set('iconCls', 'icon-vector');
  81 +
82 82 if (this.get('isStack') || this.get('isSpectra')) this.set('iconCls', 'icon-spectra');
83 83 }
84 84 },
85   -
86   - allMenuItems : function()
  85 +
  86 + allMenuItems : function()
87 87 {
88 88 var menuItems =
89 89 [{
... ... @@ -105,8 +105,8 @@ Ext.define(&#39;amdaModel.LocalParamNode&#39;,
105 105 },{
106 106 fnId : 'leaf-createAlias',
107 107 text : 'Create/Edit Alias',
108   - hidden : true
109   - },{
  108 + hidden : true
  109 + },{
110 110 fnId : 'leaf-createDerivedParam',
111 111 text : 'Create Derived Parameter',
112 112 hidden : true
... ... @@ -118,67 +118,77 @@ Ext.define(&#39;amdaModel.LocalParamNode&#39;,
118 118 fnId : 'leaf-downParam',
119 119 text : 'Download Parameter',
120 120 hidden : true
  121 + }, {
  122 + fnId : 'dire-epnTap',
  123 + text : 'Display EPN-TAP services',
  124 + hidden : false
121 125 }];
122 126  
123 127 return menuItems;
124 128 },
125 129  
126   -
127   - onMenuItemClick : function(menu,item,event)
  130 +
  131 + onMenuItemClick : function(menu, item, evt)
128 132 {
129   - switch (item.fnId)
  133 + switch (item.fnId)
130 134 {
131 135 case 'root-collapseAll':
132 136 case 'dire-collapseAll':
133 137 if(this && !this.isLeaf()) {
134 138 this.collapse(true);
135 139 }
136   - break;
  140 + break;
137 141 case 'leaf-plotParam':
138   - case 'para-plotParam':
139   - this.createPlot(this);
  142 + case 'para-plotParam':
  143 + this.createPlot(this);
140 144 break;
141 145 case 'leaf-downParam':
142   - case 'para-downParam':
143   - this.createDownload(this);
  146 + case 'para-downParam':
  147 + this.createDownload(this);
144 148 break;
145 149 case 'leaf-createDerivedParam':
146 150 if (!this.get('notyet'))
147   - this.createLeaf(this);
148   - else
149   - myDesktopApp.warningMsg("Sorry! access to this parameter is restricted");
  151 + this.createLeaf(this);
  152 + else
  153 + myDesktopApp.warningMsg("Sorry! access to this parameter is restricted");
150 154 break;
151   - case 'leaf-createAlias':
  155 + case 'leaf-createAlias':
152 156 if (!this.get('notyet'))
153   - this.createAlias(this);
  157 + this.createAlias(this);
154 158 else
155 159 myDesktopApp.warningMsg("Sorry! access to this parameter is restricted");
156   -
157 160 break;
  161 + case 'dire-epnTap':
  162 + this.displayEpnTap();
158 163 default:
159 164 break;
160   -
161 165 }
162 166 },
163   -
164   -
165   - createLeaf: function(node)
166   - {
167   -
  167 +
  168 + displayEpnTap: function() {
  169 + var target = this.get('iconCls');
  170 + myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.epntap.id, true, function (module) {
  171 + module.createWindow(target);
  172 + });
  173 + },
  174 +
  175 + createLeaf: function(node)
  176 + {
  177 +
168 178 // instanciate a Parameter object with the current data in his buidchain
169 179 var param = Ext.create(this.get('objectDataModel'));//, { buildchain: node.get('alias') ? "#"+node.get('alias') : node.get('id') });
170 180 // instanciate a DerivedParamNode with this param object
171   - var newNode = Ext.create(amdaModel.DerivedParamNode.$className, {leaf : true, object : param});
172   -
  181 + var newNode = Ext.create(amdaModel.DerivedParamNode.$className, {leaf : true, object : param});
  182 +
173 183 // edit newNode into Parameter Module with node as contextNode
174 184 newNode.editInModule();
175   -
  185 +
176 186 var module = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.param.id, true, function(module) {
177 187 var paramName;
178 188 var components = null;
179 189 if (node.get('alias')!= "" )
180 190 paramName = "#"+node.get('alias');
181   - else
  191 + else
182 192 paramName = node.get('id');
183 193 var component_info = node.get('component_info');
184 194 if (component_info && component_info.parentId) {
... ... @@ -190,15 +200,15 @@ Ext.define(&#39;amdaModel.LocalParamNode&#39;,
190 200 if (component_info.index2)
191 201 components['index2'] = component_info.index2;
192 202 }
193   -
194   - module.addParam(paramName,true,node.get('needsArgs'),components);
  203 +
  204 + module.addParam(paramName,true,node.get('needsArgs'),components);
195 205 });
196   -
  206 +
197 207 },
198 208  
199   - createAlias: function(node)
  209 + createAlias: function(node)
200 210 {
201   - var win = myDesktopApp.desktop.getWindow('alias-win');
  211 + var win = myDesktopApp.desktop.getWindow('alias-win');
202 212 if (!node.get('needsArgs') && node.get('leaf'))
203 213 {
204 214 if(!win)
... ... @@ -212,41 +222,41 @@ Ext.define(&#39;amdaModel.LocalParamNode&#39;,
212 222 height : 200,
213 223 layout : 'border',
214 224 maximizable : false,
215   - items :
  225 + items :
216 226 [{
217 227 xtype : 'alias',
218 228 region : 'center',
219   - margins :
  229 + margins :
220 230 {
221 231 top: 0,
222 232 right: 5,
223 233 bottom: 5,
224 234 left: 5
225   - },
  235 + },
226 236 paramNode : node,
227 237 id : 'aliasUI'
228 238 }]
229   - });
  239 + });
230 240 }
231   - else
  241 + else
232 242 {
233 243 //Set data into Alias Widget
234 244 win.items.items[0].paramNode = node;
235   - win.items.items[0].setAlias(node);
236   - }
237   - win.show();
  245 + win.items.items[0].setAlias(node);
  246 + }
  247 + win.show();
238 248 }
239   - else
  249 + else
240 250 {
241 251 var message = 'Sorry, parameter ' + node.get('id') + ' cannot have alias';
242   - Ext.Msg.alert('Impossible Create Alias', message);
  252 + Ext.Msg.alert('Impossible Create Alias', message);
243 253 if (win) win.close();
244 254 }
245 255 },
246   -
  256 +
247 257 isParameter : function()
248 258 {
249 259 return this.get('isParameter');
250 260 }
251   -
  261 +
252 262 });
... ...
js/app/models/RemoteParamNode.js
1   -/**
  1 +/**
2 2 * Project : AMDA-NG4
3 3 * Name : RemoteParamNode.js
4 4 * @class amdaModel.RemoteParamNode
5 5 * @extends amdaModel.LocalParamNode
6   - * @brief
7   - * @author
  6 + * @brief
  7 + * @author
8 8 * @version $Id: RemoteParamNode.js 2544 2014-10-03 10:21:56Z elena $
9 9 */
10 10  
11 11 Ext.define('amdaModel.RemoteParamNode', {
12 12  
13 13 extend: 'amdaModel.LocalParamNode',
14   -
  14 +
15 15 statics:{
16 16 nodeType: 'remoteParam'
17 17 },
18   -
  18 +
19 19 fields: [
20 20 {name: 'isRemoteDataSet', type:'boolean', persist: false, defaultValue: false},
21   - {name: 'isSimulation', type:'boolean', defaultValue: false}
  21 + {name: 'isSimulation', type:'boolean', defaultValue: false}
22 22 ],
23   -
24   - constructor : function(config){
25   - this.callParent(arguments);
26   - //TODO only for INTEROPER TREE
  23 +
  24 + constructor : function(config){
  25 + this.callParent(arguments);
  26 + //TODO only for INTEROPER TREE
27 27 if (!this.get('leaf')) this.set('allowDrag', false);
28 28 if (this.get('isParameter')) this.set('allowDrag',true);
29   - if (this.get('leaf') && this.get('isSpectra')) this.set('iconCls', 'icon-spectra');
  29 + if (this.get('leaf') && this.get('isSpectra')) this.set('iconCls', 'icon-spectra');
30 30 if (this.get('disable')) {
31 31 this.set('cls', 'icon-disabled');
32 32 this.set('allowDrag', false);
33 33 }
34 34 },
35   -
36   -
  35 +
  36 +
37 37 allMenuItems : function() {
38 38 var menuItems =
39 39 [{
... ... @@ -62,7 +62,7 @@ Ext.define(&#39;amdaModel.RemoteParamNode&#39;, {
62 62 },{
63 63 fnId : 'leaf-createAlias',
64 64 text : 'Create/Edit Alias'
65   - }, {
  65 + }, {
66 66 fnId : 'leaf-createDerivedParam',
67 67 text : 'Create Derived Parameter'
68 68 },{
... ... @@ -80,7 +80,7 @@ Ext.define(&#39;amdaModel.RemoteParamNode&#39;, {
80 80  
81 81 return menuItems;
82 82 } ,
83   -
  83 +
84 84 onMenuItemClick : function(menu,item,event) {
85 85  
86 86 if (item) {
... ... @@ -93,62 +93,62 @@ Ext.define(&#39;amdaModel.RemoteParamNode&#39;, {
93 93 }
94 94 break;
95 95 case 'leaf-createDerivedParam':
96   - this.createLeaf(this);
  96 + this.createLeaf(this);
97 97 break;
98   - case 'leaf-createAlias':
99   - this.createAlias(this);
  98 + case 'leaf-createAlias':
  99 + this.createAlias(this);
100 100 break;
101 101 case 'leaf-deleteNode':
102 102 case 'dire-deleteNode' :
103 103 this.deleteData();
104 104 break;
105 105 case 'dire-addData':
106   - case 'root-addData':
107   - this.addData();
  106 + case 'root-addData':
  107 + this.addData();
108 108 break;
109 109 case 'leaf-plotParam':
110   - case 'para-plotParam':
111   - this.createPlot(this);
  110 + case 'para-plotParam':
  111 + this.createPlot(this);
112 112 break;
113 113 case 'leaf-downParam':
114   - case 'para-downParam':
115   - this.createDownload(this);
116   - break;
117   - default:
  114 + case 'para-downParam':
  115 + this.createDownload(this);
  116 + break;
  117 + default:
118 118 break;
119 119 }
120 120 }
121 121 },
122   -
  122 +
123 123 deleteData : function() {
124 124 // var parent = this.parentNode;
125   - AmdaAction.deleteFromTree({nodeType: this.get('nodeType'), id : this.get('id')}, function(res,e){
126   - //TODO if () not error ??
  125 + AmdaAction.deleteFromTree({nodeType: this.get('nodeType'), id : this.get('id')}, function(res,e){
  126 + //TODO if () not error ??
127 127 this.remove();
128   - this.destroy();
129   - },this);
  128 + this.destroy();
  129 + },this);
130 130 },
131   -
  131 +
132 132 addData : function() {
133   -
  133 +
134 134 if (this.get('disable')) return;
135   -
  135 +
136 136 var me = this;
137 137 myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.interop.id, true, function (module) {
138   - module.createWindow(me.getBaseId());
  138 + module.createWindow(me.getBaseId());
139 139 });
140   - },
141   -
142   -// Depth of Base Root Node = 3 : root, Parameters, Remote Parameters, BaseName
  140 + },
  141 +
  142 +// Depth of Base Root Node = 3 : root, Parameters, Remote Parameters, BaseName
143 143 getBaseId : function() {
144   -
  144 +
145 145 if (this.getDepth() < 3) return 'root';
146   -
  146 +
147 147 var node = this;
148 148 while (node.getDepth() > 3) {
149 149 node = node.parentNode;
150 150 }
151 151 return node.get('id');
152 152 }
153   -
  153 +
154 154 });
... ...
js/app/views/EpnTapUI.js
... ... @@ -108,7 +108,7 @@ selected.
108 108 */
109 109 Ext.create('Ext.data.Store', {
110 110 storeId:'granulesStore',
111   - fields:['num', 'dataproduct_type', 'target_name', 'time_min', 'time_max', 'access_format', 'granule_uid', 'access_estsize', 'access_url', 'thumbnail_url']
  111 + fields:['num', 'dataproduct_type', 'target_name', 'time_min', 'time_max', 'access_format', 'granule_uid', 'access_estsize', 'access_url', 'thumbnail_url'],
112 112 });
113 113  
114 114 /**
... ... @@ -122,6 +122,9 @@ Ext.define(&#39;amdaUI.EpnTapUI&#39;, {
122 122 alias: 'widget.panelEpnTap',
123 123 requires: ['amdaUI.IntervalUI'],
124 124  
  125 + width: 800,
  126 + height: 600,
  127 +
125 128 /**
126 129 Method constructor, which basically call the `init()` method to create the EpnTap panel.
127 130 */
... ... @@ -139,7 +142,7 @@ Ext.define(&#39;amdaUI.EpnTapUI&#39;, {
139 142 them private (ie. to avoid `EpnTapUI.createServicesGrid();`, which doesn't make sense).
140 143 */
141 144 init: function(config) {
142   - var mod = config.module;
  145 + var mod = Ext.create('amdaDesktop.EpnTapModule');
143 146  
144 147 /************
145 148 *** Grids ***
... ... @@ -167,6 +170,10 @@ Ext.define(&#39;amdaUI.EpnTapUI&#39;, {
167 170 title: 'Services',
168 171 store: Ext.data.StoreManager.lookup('servicesStore'),
169 172 flex: 1,
  173 + // layout: 'fit',
  174 + // scroll: 'vertical',
  175 + // autoScroll: 'auto',
  176 + // height: 800,
170 177 columns: [
171 178 {text: 'Name', dataIndex: 'id', flex: 3},
172 179 {text: 'Results', dataIndex: 'nbResults', flex: 2}
... ... @@ -256,6 +263,10 @@ Ext.define(&#39;amdaUI.EpnTapUI&#39;, {
256 263 title: 'Granules',
257 264 store: Ext.data.StoreManager.lookup('granulesStore'),
258 265 flex: 5,
  266 + // layout: 'fit',
  267 + // scroll: 'vertical',
  268 + // autoScroll: 'auto',
  269 + // height: 800,
259 270 columns: [
260 271 { text: 'Num', dataIndex: 'num', flex: 1, renderer: txtRender },
261 272 { text: 'Type', dataIndex: 'dataproduct_type', flex: 2, renderer: dptRender },
... ... @@ -300,7 +311,7 @@ Ext.define(&#39;amdaUI.EpnTapUI&#39;, {
300 311 var self = this;
301 312 return new Ext.panel.Panel({
302 313 id: 'epnTapGridsPanel',
303   - region: 'center',
  314 + // region: 'center',
304 315 // height: 350,
305 316 layout: { type: 'hbox', pack: 'start', align: 'stretch' },
306 317 items: [
... ... @@ -573,8 +584,8 @@ Ext.define(&#39;amdaUI.EpnTapUI&#39;, {
573 584 var myConf = {
574 585 items: [
575 586 createServiceFilterPanel(),
576   - createGridsPanel(),
577   - createInfoPanel()
  587 + createGridsPanel()
  588 + // createInfoPanel()
578 589 ]
579 590 };
580 591 Ext.apply(this, Ext.apply(arguments, myConf));
... ...
js/app/views/ExplorerUI.js
... ... @@ -2,40 +2,40 @@ Ext.Ms/**
2 2 * Project  : AMDA-NG4
3 3 * Name : ExplorerUI.js
4 4 * Description : Explorer Module UI definition (View)
5   - * @class amdaUI.ExplorerUI
6   - * @extends Ext.tab.Panel
  5 + * @class amdaUI.ExplorerUI
  6 + * @extends Ext.tab.Panel
7 7 * @brief Explorer View
8 8 * @author CDA
9   - * @version $Id: ExplorerUI.js 2544 2014-10-03 10:21:56Z elena $
  9 + * @version $Id: ExplorerUI.js 2544 2014-10-03 10:21:56Z elena $
10 10 */
11 11  
12 12  
13 13 Ext.define('amdaUI.TreeToolColumn', {
14 14 extend: 'Ext.tree.Column',
15 15 alias: 'widget.treetoolcolumn',
16   -
  16 +
17 17 /**
18 18 * Add more tools here. These will be on the prototype for all TreeToolColumns
19 19 */
20 20 tools: {
21 21 'info': 'js/resources/images/16x16/info_mini.png'
22 22 },
23   -
24   - initComponent: function()
  23 +
  24 + initComponent: function()
25 25 {
26 26 var me = this;
27 27 me.addEvents( 'toolclick' );
28 28 me.callParent();
29 29 me.on('toolclick', me.toolHandler, me);
30 30 },
31   -
  31 +
32 32 renderer: function(value, metaData, record, rowIdx, colIdx, store, view)
33 33 {
34 34 var toolCol = view.getHeaderAtIndex(colIdx);
35   -
  35 +
36 36 if (!toolCol.toolIsVisible(record))
37 37 return value;
38   -
  38 +
39 39 var toolId = 'tool-' + rowIdx + '-' + colIdx,
40 40 toolImg = toolCol.tools[toolCol.tool],
41 41 imgHtml = Ext.DomHelper.markup({
... ... @@ -45,13 +45,13 @@ Ext.define(&#39;amdaUI.TreeToolColumn&#39;, {
45 45 src : toolImg,
46 46 style : 'cursor:hand;'
47 47 });
48   -
  48 +
49 49 return value + ' ' + imgHtml;
50 50 },
51   -
52   - processEvent: function(type, view, cell, recordIndex, cellIndex, e)
  51 +
  52 + processEvent: function(type, view, cell, recordIndex, cellIndex, e)
53 53 {
54   - if(type === "click" && e.target.tagName === "IMG")
  54 + if(type === "click" && e.target.tagName === "IMG")
55 55 {
56 56 var tooltype = e.target.getAttribute("tooltype");
57 57 if(tooltype)
... ... @@ -59,14 +59,14 @@ Ext.define(&#39;amdaUI.TreeToolColumn&#39;, {
59 59 }
60 60 return this.fireEvent.apply(this, arguments);
61 61 },
62   -
  62 +
63 63 /**
64 64 * Override this when you add columns to the tree... see example below
65 65 */
66 66 // toolHandler: function() {
67 67 // alert("override this");
68 68 // },
69   -
  69 +
70 70 toolIsVisible : function(record) {
71 71 return false;
72 72 }
... ... @@ -78,8 +78,8 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
78 78 extend: 'Ext.tab.Panel',
79 79 alias : 'widget.panelExplorer',
80 80  
81   - statics:
82   - {
  81 + statics:
  82 + {
83 83 RESRC_TAB : {
84 84 TREE_ID:'resourcesTree',
85 85 TREE_TYPE:'resources'
... ... @@ -92,7 +92,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
92 92 TREE_ID:'jobsTree',
93 93 TREE_TYPE:'jobs'
94 94 },
95   -
  95 +
96 96 CAT_SUFFIX: '-treeBase',
97 97 ROOT_SUFFIX: '-treeRootNode',
98 98 SUB_ROOT_SUFFIX : 'RootNode',
... ... @@ -104,9 +104,9 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
104 104 },
105 105  
106 106 initComponent : function (config) {
107   -
  107 +
108 108 var explorerModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.explorer.id);
109   -
  109 +
110 110 var myConf = {
111 111 split : true,
112 112 width : '100%',
... ... @@ -117,7 +117,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
117 117 defaults : {
118 118 // applied to each contained panel
119 119 containerScroll : true
120   - },
  120 + },
121 121 stateful: true,
122 122 // stateId: 'tp1',
123 123 stateEvents: ['tabchange'],
... ... @@ -131,13 +131,13 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
131 131 },
132 132 // activeTab: 0,
133 133 items: [
134   - this.initTree(amdaUI.ExplorerUI.RESRC_TAB.TREE_TYPE),
  134 + this.initTree(amdaUI.ExplorerUI.RESRC_TAB.TREE_TYPE),
135 135 this.initTree(amdaUI.ExplorerUI.OPE_TAB.TREE_TYPE),
136   - this.initTree(amdaUI.ExplorerUI.JOB_TAB.TREE_TYPE)
  136 + this.initTree(amdaUI.ExplorerUI.JOB_TAB.TREE_TYPE)
137 137 ],
138   - tbar : [
139   - {
140   - xtype : 'combo',
  138 + tbar : [
  139 + {
  140 + xtype : 'combo',
141 141 fieldLabel: 'Filter',
142 142 labelWidth: 25,
143 143 width: 140,
... ... @@ -147,13 +147,13 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
147 147 valueField: 'id',
148 148 listeners : {
149 149 scope : this,
150   - select: function(combo, records) {
151   - AmdaAction.setCrtFilterId({id : records[0].get('id')},
  150 + select: function(combo, records) {
  151 + AmdaAction.setCrtFilterId({id : records[0].get('id')},
152 152 function (result, e)
153 153 {
154 154 var t = e.getTransaction();
155   - if (e.status)
156   - {
  155 + if (e.status)
  156 + {
157 157 if (result)
158 158 {
159 159 var explorerModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.explorer.id);
... ... @@ -162,7 +162,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
162 162 }
163 163 else
164 164 Ext.Msg.show( {
165   - title : 'Filter',
  165 + title : 'Filter',
166 166 msg : 'Cannot apply filter',
167 167 modal : true,
168 168 icon : Ext.Msg.ERROR,
... ... @@ -173,10 +173,10 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
173 173 {
174 174 // FAILURE
175 175 Ext.Msg.show({title:'Error System', msg: e.message, icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK});
176   - }
177   - },this);
178   - }
179   - }
  176 + }
  177 + },this);
  178 + }
  179 + }
180 180 },
181 181 {
182 182 text: '',
... ... @@ -187,7 +187,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
187 187 module.createWindow();
188 188 });
189 189 }
190   - },
  190 + },
191 191 {
192 192 text: '',
193 193 iconCls : 'icon-remover',
... ... @@ -200,39 +200,39 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
200 200 {
201 201 xtype: 'displayfield',
202 202 fieldLabel: 'SortBy',
203   - width: 40
  203 + width: 40
204 204 },
205 205 {
206   - text: 'Name',
207   - scope : this,
  206 + text: 'Name',
  207 + scope : this,
208 208 tooltip: { text: 'Sort out Local Data by Mission name', align: 'bl-tl' },
209 209 pressed: true,
210   - enableToggle : true,
  210 + enableToggle : true,
211 211 toggleGroup: 'sorting',
212 212 handler: function(){
213 213 var tree = Ext.getCmp(amdaUI.ExplorerUI.RESRC_TAB.TREE_ID);
214 214 tree.getStore().sort([
215   - { sorterFn: function(o1, o2){
  215 + { sorterFn: function(o1, o2){
216 216 if (o1.get('nodeType') !== 'localParam')
217   - return;
218   -
  217 + return;
  218 +
219 219 return o1.get('text').toUpperCase() < o2.get('text').toUpperCase() ? -1 : 1;
220   - } } ]);
221   - this.updateFilter();
  220 + } } ]);
  221 + this.updateFilter();
222 222 }
223 223 },
224 224 {
225   - text: 'Target',
226   - scope : this,
227   - tooltip: { text: 'Sort Out Local Data by Mission main target', align: 'bl-tl' },
228   - enableToggle : true,
  225 + text: 'Target',
  226 + scope : this,
  227 + tooltip: { text: 'Sort Out Local Data by Mission main target', align: 'bl-tl' },
  228 + enableToggle : true,
229 229 toggleGroup: 'sorting',
230   - handler: function(){
  230 + handler: function(){
231 231 var tree = Ext.getCmp(amdaUI.ExplorerUI.RESRC_TAB.TREE_ID);
232   - tree.getStore().sort([{ property : 'rank' }]);
  232 + tree.getStore().sort([{ property : 'rank' }]);
233 233 this.updateFilter();
234   - }
235   - }
  234 + }
  235 + }
236 236 ]
237 237 };
238 238 Ext.apply (this , Ext.apply (arguments, myConf));
... ... @@ -240,39 +240,39 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
240 240 },
241 241  
242 242 initTree : function(treeType){
243   -
244   - switch (treeType) {
245   - case amdaUI.ExplorerUI.RESRC_TAB.TREE_TYPE:
  243 +
  244 + switch (treeType) {
  245 + case amdaUI.ExplorerUI.RESRC_TAB.TREE_TYPE:
246 246 treeId = amdaUI.ExplorerUI.RESRC_TAB.TREE_ID;
247 247 break;
248   - case amdaUI.ExplorerUI.OPE_TAB.TREE_TYPE:
  248 + case amdaUI.ExplorerUI.OPE_TAB.TREE_TYPE:
249 249 treeId = amdaUI.ExplorerUI.OPE_TAB.TREE_ID;
250 250 break;
251   - case amdaUI.ExplorerUI.JOB_TAB.TREE_TYPE:
  251 + case amdaUI.ExplorerUI.JOB_TAB.TREE_TYPE:
252 252 treeId = amdaUI.ExplorerUI.JOB_TAB.TREE_ID;
253 253 break;
254   - default:
  254 + default:
255 255 treeId = amdaUI.ExplorerUI.RESRC_TAB.TREE_ID;
256 256 break;
257   - }
  257 + }
258 258  
259 259 var store = Ext.create('Ext.data.TreeStore', {
260 260 root: {
261 261 expanded: true,
262   - nodeType : treeType
  262 + nodeType : treeType
263 263 },
264 264 model: 'amdaModel.AmdaNode',
265   - sorters:[{ property:'leaf', direction: 'DES' },
266   - { sorterFn: function(o1, o2){
  265 + sorters:[{ property:'leaf', direction: 'DES' },
  266 + { sorterFn: function(o1, o2){
267 267 if (o1.get('nodeType') !== 'localParam')
268   - return;
269   -
  268 + return;
  269 +
270 270 return o1.get('text').toUpperCase() < o2.get('text').toUpperCase() ? -1 : 1;
271 271 } }],
272 272 listeners: {
273 273 beforeload: function(store, operation){
274 274 store.proxy.extraParams = {
275   - nodeType: operation.node.get('nodeType')
  275 + nodeType: operation.node.get('nodeType')
276 276 };
277 277 }
278 278 }
... ... @@ -281,7 +281,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
281 281  
282 282 var menu = new Ext.menu.Menu();
283 283  
284   - var tree = Ext.create('Ext.tree.Panel', {
  284 + var tree = Ext.create('Ext.tree.Panel', {
285 285 id : treeId,
286 286 title: treeType,
287 287 store: store,
... ... @@ -294,35 +294,35 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
294 294 ignoreRightMouseSelection: true,
295 295 mode: 'MULTI'
296 296 }),
297   -
298   - viewConfig:
  297 +
  298 + viewConfig:
299 299 {
300   - plugins:
301   - {
  300 + plugins:
  301 + {
302 302 ptype: 'treeviewdragdrop',
303 303 enableDrag:true,
304 304 enableDrop:true,
305 305 //TODO - BRE - Wait a fix for drag&drop issue
306 306 ddGroup:'explorerTree',
307 307 pluginId : 'ddplugin',
308   - isValidDropPoint : function (node, position, dragZone, e, data)
309   - {
  308 + isValidDropPoint : function (node, position, dragZone, e, data)
  309 + {
310 310 if (!node || !data.item) {
311 311 return false;
312 312 }
313   -
  313 +
314 314 var view = this.view,
315 315 targetNode = view.getRecord(node),
316 316 draggedRecords = data.records,
317 317 dataLength = draggedRecords.length,
318 318 ln = draggedRecords.length,
319 319 i, record;
320   -
  320 +
321 321 // No drop position, or dragged records: invalid drop point
322 322 if (!(targetNode && position && dataLength)) {
323 323 return false;
324 324 }
325   -
  325 +
326 326 // If the targetNode is within the folder we are dragging
327 327 for (i = 0; i < ln; i++) {
328 328 record = draggedRecords[i];
... ... @@ -330,7 +330,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
330 330 return false;
331 331 }
332 332 }
333   -
  333 +
334 334 // Respect the allowDrop field on Tree nodes
335 335 if (position === 'append' && targetNode.get('allowDrop') === false) {
336 336 return false;
... ... @@ -338,62 +338,62 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
338 338 else if (position != 'append' && targetNode.parentNode.get('allowDrop') === false) {
339 339 return false;
340 340 }
341   -
  341 +
342 342 // If the target record is in the dragged dataset, then invalid drop
343 343 if (Ext.Array.contains(draggedRecords, targetNode)) {
344 344 return false;
345 345 }
346   -
347   - //
  346 +
  347 + //
348 348 if (dataLength > 1)
349 349 return false;
350 350 var draggedRecord = draggedRecords[0];
351 351  
352   - //
  352 + //
353 353 switch (targetNode.data.nodeType)
354 354 {
355 355 case 'localParam' :
356 356 case 'remoteParam' :
357   - case 'remoteSimuParam' :
358   - case 'myData' :
  357 + case 'remoteSimuParam' :
  358 + case 'myData' :
359 359 return false;
360 360 default :
361 361 if (draggedRecord.data.id == targetNode.data.nodeType+'-treeRootNode')
362 362 return false;
363 363 if ((position == 'before') && (targetNode.data.id == targetNode.data.nodeType+'-treeRootNode'))
364 364 return false;
365   - return (draggedRecord.data.nodeType == targetNode.data.nodeType);
  365 + return (draggedRecord.data.nodeType == targetNode.data.nodeType);
366 366 }
367 367 return false;
368 368 },
369   - onViewRender : function(view)
370   - {
  369 + onViewRender : function(view)
  370 + {
371 371 var me = this;
372   -
  372 +
373 373 view.on('itemupdate', function(record,index,node,opts)
374   - {
  374 + {
375 375 var forceHide = false;
376 376 var crtRec = record.parentNode;
377 377 while (crtRec && !forceHide)
378 378 {
379 379 if (crtRec.get('filtered'))
380 380 forceHide = crtRec.get('filtered');
381   - crtRec = crtRec.parentNode;
  381 + crtRec = crtRec.parentNode;
382 382 }
383 383 tree.setNodesVisibility(record,forceHide);
384 384 tree.applyDisableToNode(record);
385 385 });
386   -
  386 +
387 387 view.on('itemadd', function(records,index,node,opts)
388 388 {
389 389 Ext.each(records,function (rec)
390 390 {
391   - tree.applyFilterToNode(rec);
  391 + tree.applyFilterToNode(rec);
392 392 tree.applyDisableToNode(rec);
393   - });
394   -
  393 + });
  394 +
395 395 });
396   -
  396 +
397 397 view.on('afteritemexpand', function(record,index,node,opts)
398 398 {
399 399 var forceHide = false;
... ... @@ -403,13 +403,13 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
403 403 if (crtRec.get('filtered'))
404 404 forceHide = crtRec.get('filtered');
405 405 crtRec = crtRec.parentNode;
406   -
  406 +
407 407 }
408 408 tree.setNodesVisibility(record,forceHide);
409 409 tree.applyDisableToNode(record);
410 410 });
411 411  
412   - if (me.enableDrag)
  412 + if (me.enableDrag)
413 413 {
414 414 me.dragZone = Ext.create('Ext.tree.ViewDragZone', {
415 415 view: view,
... ... @@ -420,7 +420,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
420 420 });
421 421 }
422 422  
423   - if (me.enableDrop)
  423 + if (me.enableDrop)
424 424 {
425 425 me.dropZone = Ext.create('Ext.tree.ViewDropZone', {
426 426 view: view,
... ... @@ -433,10 +433,10 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
433 433 dropHighlight: me.nodeHighlightOnDrop,
434 434 isValidDropPoint : me.isValidDropPoint
435 435 });
436   - }
437   - }
  436 + }
  437 + }
438 438 },
439   - listeners :
  439 + listeners :
440 440 {
441 441 beforedrop : function(node, data, overModel, dropPosition)
442 442 {
... ... @@ -448,10 +448,10 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
448 448 parentId = overModel.parentNode.get('id');
449 449 else
450 450 parentId = overModel.get('id');
451   -
452   - if(!overModel.isExpanded() && overModel.isExpandable()) {
453   - myDesktopApp.warningMsg('Please open the folder before node adding');
454   - return false;
  451 +
  452 + if(!overModel.isExpanded() && overModel.isExpandable()) {
  453 + myDesktopApp.warningMsg('Please open the folder before node adding');
  454 + return false;
455 455 }
456 456 break;
457 457 case 'before' :
... ... @@ -459,7 +459,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
459 459 parentId = overModel.parentNode.get('id');
460 460 break;
461 461 }
462   -
  462 +
463 463 Ext.each(data.records, function(rec)
464 464 {
465 465 rec.renameDD(parentId,function(result)
... ... @@ -474,7 +474,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
474 474 buttons : Ext.Msg.OK,
475 475 icon : Ext.MessageBox.WARNING
476 476 });
477   -
  477 +
478 478 return false;
479 479 }
480 480 }
... ... @@ -486,55 +486,55 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
486 486 buttons : Ext.Msg.OK,
487 487 icon : Ext.MessageBox.WARNING
488 488 });
489   -
  489 +
490 490 return false;
491 491 }
492   -
  492 +
493 493 return true;
494 494 });
495   - });
  495 + });
496 496 }
497 497 },
498 498 },
499 499 listeners: {
500   -
501   - itemmouseenter: function(view, record, item){
502   - if(record.get('isParameter')){
  500 +
  501 + itemmouseenter: function(view, record, item){
  502 + if(record.get('isParameter')){
503 503 var el = Ext.get(item),
504 504 td = el.down('td > div');
505   - td.setStyle('cursor', 'crosshair');
  505 + td.setStyle('cursor', 'crosshair');
506 506 }
507 507 else
508 508 {
509 509 var el = Ext.get(item),
510 510 td = el.down('td > div');
511   - td.setStyle('cursor', 'pointer');
  511 + td.setStyle('cursor', 'pointer');
512 512 }
513 513 },
514 514 itemcontextmenu: function(view, rec, item, index, e){
515 515 // block other events
516 516 e.stopEvent();
517   -
  517 +
518 518 // unlock selection
519 519 view.ownerCt.getSelectionModel().setLocked(false);
520   -
  520 +
521 521 view.ownerCt.getSelectionModel().select(rec,true);
522   -
  522 +
523 523 // clear menu items
524 524 menu.removeAll();
525 525 var menuItems;
526   -
  526 +
527 527 // if it's a single selection
528 528 if (view.ownerCt.getSelectionModel().selected.length === 1) {
529 529 // get items menu corresponding to right clicked record
530 530 menuItems = rec.getContextMenuItems(this);
531   -
  531 +
532 532 } else if (view.ownerCt.getSelectionModel().selected.length > 1) {
533 533 // get items menu corresponding to right clicked record
534 534 menuItems = rec.getContextMenuMultiItems(this);
535   -
  535 +
536 536 }
537   -
  537 +
538 538 // if there's at least one item menu
539 539 if (menuItems && menuItems.length){
540 540 // add the items
... ... @@ -548,43 +548,43 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
548 548 menu.removeListener('click',onRecordClick,this);
549 549 };
550 550 menu.addListener('click',onRecordClick,rec);
551   -
  551 +
552 552 // then show menu
553 553 menu.showAt(e.getXY());
554   - }
  554 + }
555 555 },
556   -
  556 +
557 557 itemdblclick: function(view, record, item, index, event){
558 558 event.stopEvent();
559   -
560   - // first check if it is for SAVE-START-STOP plugin...
561   - if (Ext.PluginManager.getCount() > 0 &&
562   - record.get('nodeType') == amdaModel.TimeTableNode.nodeType && record.isLeaf()) {
  559 +
  560 + // first check if it is for SAVE-START-STOP plugin...
  561 + if (Ext.PluginManager.getCount() > 0 &&
  562 + record.get('nodeType') == amdaModel.TimeTableNode.nodeType && record.isLeaf()) {
563 563 var zmgr = myDesktopApp.desktop.getDesktopZIndexManager();
564 564 var winActive = zmgr.getActive();
565 565 var winId = winActive.getId();
566 566 if (winId == 'explorer-win') {
567 567 zmgr.eachTopDown(function(win) {
568 568 var id = win.getId();
569   - if (id !== 'explorer-win') {
  569 + if (id !== 'explorer-win') {
570 570 winId = id;
571 571 return false;
572   - }
573   - });
574   - }
575   - }
576   -
  572 + }
  573 + });
  574 + }
  575 + }
  576 +
577 577 // var targetModuleName = myDesktopApp.getModule('explorer-win').getPinedModule();
578   - if (record.get('nodeType') == 'remoteParam' && !record.isLeaf()
  578 + if (record.get('nodeType') == 'remoteParam' && !record.isLeaf()
579 579 && !record.get('isParameter')) {
580 580 myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.interop.id, true, function (module) {
581 581 module.createWindow(record.getBaseId());
582   - });
583   -
  582 + });
  583 +
584 584 }
585   -
  585 +
586 586 if (record.isLeaf() || record.data.isParameter)
587   - switch (record.get('nodeType'))
  587 + switch (record.get('nodeType'))
588 588 {
589 589 case 'myData' :
590 590 case 'myDataParam' :
... ... @@ -592,24 +592,24 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
592 592 case 'timeTable' :
593 593 case 'sharedtimeTable' :
594 594 case 'sharedcatalog' :
595   - case 'catalog' :
  595 + case 'catalog' :
596 596 case 'request' :
597 597 case 'condition' :
598 598 record.editLeaf();
599 599 break;
600 600 case 'localParam' :
601 601 case 'remoteParam':
602   - case 'remoteSimuParam':
603   - record.createAlias(record);
  602 + case 'remoteSimuParam':
  603 + record.createAlias(record);
604 604 break;
605   - case 'bkgWorks' :
606   - if (!record.get('object')) {
  605 + case 'bkgWorks' :
  606 + if (!record.get('object')) {
607 607 AmdaAction.getObject(record.get('id'), record.get('nodeType'), record.getObjectCallback, record);
608 608 }
609 609 else {
610 610 if (record.get('status') == 'done') {
611 611 var isInteractive = false;
612   - var isNewTab = true;
  612 + var isNewTab = true;
613 613 record.editNode(isNewTab, isInteractive);
614 614 }
615 615 else {
... ... @@ -618,15 +618,15 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
618 618 }
619 619 break;
620 620 }
621   -
  621 +
622 622 },
623 623 beforeselect: function(view,node,index,options){
624   - // if there's at least one node already selected
625   - if(view.selected.length
  624 + // if there's at least one node already selected
  625 + if(view.selected.length
626 626 //AND (the node which is beeing selected has a different nodeType than the first selected node OR the first selected node isn't a leaf
627 627 && ( node.get('nodeType')!== view.selected.items[0].get('nodeType') || !view.selected.items[0].isLeaf())
628 628 // OR the node which is beeing selected has no nodeType OR it isn't a leaf OR
629   - || !node.get('nodeType') || !node.isLeaf()
  629 + || !node.get('nodeType') || !node.isLeaf()
630 630 ){
631 631 // clear old selection
632 632 view.deselectAll();
... ... @@ -641,48 +641,48 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
641 641 }
642 642 }
643 643 },
644   - afterrender: function(comp){
645   - var view = comp.getView();
  644 + afterrender: function(comp){
  645 + var view = comp.getView();
646 646 view.tip = Ext.create('Ext.tip.ToolTip', {
647 647 // The overall target element.
648 648 target: view.el,
649 649 // Each grid row causes its own seperate show and hide.
650   - delegate: view.itemSelector,
  650 + delegate: view.itemSelector,
651 651 dismissDelay : 0,
652 652 // showDelay: 100,
653 653 // anchor: 'left',
654 654 // Moving within the row should not hide the tip.
655   - trackMouse: true,
656   - autoRender: true,
  655 + trackMouse: true,
  656 + autoRender: true,
657 657 listeners: {
658 658 // Change content dynamically depending on which element triggered the show.
659 659 beforeshow: function updateTipBody(tip) {
660 660 if (view.getRecord(tip.triggerElement)) {
661 661 var info = view.getRecord(tip.triggerElement).get('info');
662   - if (!info || info == '') {
663   - tip.addCls('hide');
  662 + if (!info || info == '') {
  663 + tip.addCls('hide');
  664 + }
  665 + else {
  666 + tip.removeCls('hide');
  667 + tip.update(info);
664 668 }
665   - else {
666   - tip.removeCls('hide');
667   - tip.update(info);
668   - }
669 669 }
670 670 }
671 671 }
672 672 });
673 673 },
674 674 // if remote base is empty - open interoperability module
675   - itemexpand: function(node) {
676   - if ( node.get('nodeType') == amdaModel.RemoteParamNode.nodeType
  675 + itemexpand: function(node) {
  676 + if ( node.get('nodeType') == amdaModel.RemoteParamNode.nodeType
677 677 && node.getDepth() == 3 && !node.hasChildNodes()) {
678   - node.addData();
  678 + node.addData();
679 679 }
680 680 },
681 681 scope: this
682 682 },
683 683 hideHeaders: true,
684 684 // must define a column with a field to enable editor
685   - columns: [{
  685 + columns: [{
686 686 xtype : 'treetoolcolumn',
687 687 text : 'Name',
688 688 flex : 1,
... ... @@ -701,25 +701,25 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
701 701 }
702 702 },
703 703 toolIsVisible : function(record) {
704   -
  704 +
705 705 switch (record.get('nodeType'))
706 706 {
707 707 case 'localParam' :
708 708 case 'remoteParam' :
709 709 case 'remoteSimuParam' :
710   -
  710 +
711 711 return record.get('help') != '';
712 712 }
713 713 return false;
714 714 },
715   - field: {
  715 + field: {
716 716 validFlag: false,
717 717 validator : function(value) {
718 718 // get explorerModule
719 719 var explModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.explorer.id);
720 720 var explUI = explModule.getUiContent();
721 721 var activeTreePanel = explUI.getActiveTab();
722   -
  722 +
723 723 var editedNode = activeTreePanel.getSelectionModel().selected.items[0];
724 724 if (editedNode) {
725 725 if (!editedNode.get('id') && value === amdaModel.AmdaNode.NEW_DIR_NAME){
... ... @@ -737,7 +737,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
737 737 var explModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.explorer.id);
738 738 var explUI = explModule.getUiContent();
739 739 var activeTreePanel = explUI.getActiveTab();
740   -
  740 +
741 741 var editedNode = activeTreePanel.getSelectionModel().selected.items[0];
742 742 if (editedNode) {
743 743 editedNode.isValidName(newValue, function (res) {
... ... @@ -747,7 +747,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
747 747 field.validate();
748 748 return;
749 749 }
750   -
  750 +
751 751 if (!res.valid)
752 752 {
753 753 if (res.error)
... ... @@ -763,7 +763,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
763 763 return;
764 764 }
765 765 }
766   -
  766 +
767 767 field.validFlag = true;
768 768 field.validate();
769 769 });
... ... @@ -779,19 +779,19 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
779 779 listeners: {
780 780 'canceledit' : function(editor, context) {
781 781 if (editor && editor.startValue===amdaModel.AmdaNode.NEW_DIR_NAME) {
782   - context.record.remove(true);
  782 + context.record.remove(true);
783 783 }
784 784 }
785   -
  785 +
786 786 }})],
787   -
  787 +
788 788 setNodesVisibility : function(node,forceHide)
789 789 {
790 790 var isFiltered = node.get('filtered');
791   -
  791 +
792 792 for (var i = 0; i < node.childNodes.length; i++)
793 793 this.setNodesVisibility(node.childNodes[i],forceHide || isFiltered);
794   -
  794 +
795 795 this.setNodeVisibility(node,!(forceHide || isFiltered));
796 796 },
797 797  
... ... @@ -811,14 +811,14 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
811 811 viewNode.hide();
812 812 }
813 813 },
814   -
  814 +
815 815 applyFilterToNode : function(node)
816 816 {
817 817 if (!node)
818 818 return;
819   -
  819 +
820 820 var filter = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.explorer.id).filter;
821   -
  821 +
822 822 switch (node.get('nodeType'))
823 823 {
824 824 case 'localParam' :
... ... @@ -836,7 +836,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
836 836 }
837 837 var isFiltered = true;
838 838 for (var i = 0; i < filter['param'].length; i++)
839   - {
  839 + {
840 840 s = filter['param'][i].split(';');
841 841 if (node.get('id') == s[pos])
842 842 {
... ... @@ -847,30 +847,30 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
847 847 node.set('filtered',isFiltered);
848 848 break;
849 849 case 'remoteSimuParam' :
850   -
851   - if (!filter || !filter['simu'] )
852   - {
  850 +
  851 + if (!filter || !filter['simu'] )
  852 + {
853 853 //no filter applied
854 854 node.set('filtered',false);
855 855 return;
856 856 }
857   -
  857 +
858 858 var pos = node.get('depth') - 3; //depth from remote param root node
859   -
  859 +
860 860 if (pos < 0 || pos > 5)
861 861 {
862 862 node.set('filtered',false);
863 863 return;
864 864 }
865   -
  865 +
866 866 var isFiltered = true;
867   -
  867 +
868 868 for (var i = 0; i < filter['simu'].length; i++)
869   - {
  869 + {
870 870 s = filter['simu'][i].split(';');
871   -
  871 +
872 872 if (node.get('id') == s[pos])
873   - {
  873 + {
874 874 isFiltered = false;
875 875 break;
876 876 }
... ... @@ -890,7 +890,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
890 890 crtParam = crtParam.replace(/_/g,':');
891 891 var isFiltered = true;
892 892 for (var i = 0; i < this.localParamFilter.result.length; i++)
893   - {
  893 + {
894 894 s = this.localParamFilter.result[i].split(';');
895 895 console.log(s[2]);
896 896 if (crtParam == s[2])
... ... @@ -905,7 +905,7 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
905 905 return;
906 906 }
907 907 },
908   -
  908 +
909 909 applyFilterToNodes : function(node)
910 910 {
911 911 node.eachChild(function (child){
... ... @@ -913,12 +913,12 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
913 913 });
914 914 tree.applyFilterToNode(node);
915 915 },
916   -
  916 +
917 917 applyDisableToNode : function(node)
918 918 {
919 919 var crtNode = node;
920 920 var disable = false;
921   -
  921 +
922 922 do
923 923 {
924 924 if (crtNode.get('disable'))
... ... @@ -928,8 +928,8 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
928 928 }
929 929 crtNode = crtNode.parentNode;
930 930 } while (crtNode);
931   -
932   -
  931 +
  932 +
933 933 var viewNode = Ext.fly(tree.getView().getNode(node));
934 934 if (disable)
935 935 {
... ... @@ -938,76 +938,76 @@ Ext.define(&#39;amdaUI.ExplorerUI&#39;, {
938 938 }
939 939 }
940 940 });
941   -
  941 +
942 942 tree.addEvents('edition');
943   -
944   -
945   -
  943 +
  944 +
  945 +
946 946 return tree;
947 947 },
948   -
  948 +
949 949 updateFilter : function()
950   - {
  950 + {
951 951 var filter = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.explorer.id).filter;
952   -
  952 +
953 953 var keys = [];
954 954 for (var f in filter) {
955 955 if (hasOwnProperty.call(filter, f))
956 956 keys.push(f);
957 957 }
958   -
  958 +
959 959 var tree = this.query('#'+amdaUI.ExplorerUI.RESRC_TAB.TREE_ID)[0];
960 960 tree.getView().refresh();
961   -
  961 +
962 962 for (var i = 0; i < keys.length; i++)
963 963 {
964 964 if (keys[i] == "_empty_")
965 965 continue;
966   -
  966 +
967 967 switch (keys[i])
968 968 {
969 969 case 'param' :
970   -
  970 +
971 971 //apply filter to local datasets
972   - var localNode = tree.getRootNode().findChild('id','myLocalData-treeRootNode',true);
973   - tree.applyFilterToNodes(localNode);
  972 + var localNode = tree.getRootNode().findChild('id','myLocalData-treeRootNode',true);
  973 + tree.applyFilterToNodes(localNode);
974 974 tree.setNodesVisibility(localNode,false);
975 975 tree.applyDisableToNode(localNode);
976   -
  976 +
977 977 //apply filter to aliases
978   - var aliasNode = tree.getRootNode().findChild('id','alias-treeRootNode',true);
979   - tree.applyFilterToNodes(aliasNode);
  978 + var aliasNode = tree.getRootNode().findChild('id','alias-treeRootNode',true);
  979 + tree.applyFilterToNodes(aliasNode);
980 980 tree.setNodesVisibility(aliasNode,false);
981 981 tree.applyDisableToNode(aliasNode);
982 982 break;
983   -
  983 +
984 984 case 'simu' :
985 985 //apply filter to simulation datasets (in remote data)
986   - var remoteNode = tree.getRootNode().findChild('id','myRemoteSimuData-treeRootNode',true);
987   - tree.applyFilterToNodes(remoteNode);
  986 + var remoteNode = tree.getRootNode().findChild('id','myRemoteSimuData-treeRootNode',true);
  987 + tree.applyFilterToNodes(remoteNode);
988 988 tree.setNodesVisibility(remoteNode,false);
989 989 tree.applyDisableToNode(remoteNode);
990 990 break;
991 991 }
992 992 }
993   -
  993 +
994 994 this.dockedItems.getAt(1).items.items[0].select(filter['name']);
995 995 }
996 996  
997   -});
998   -
  997 +});
  998 +
999 999 Ext.define( 'MyTreeEditor', {
1000 1000 extend: 'Ext.grid.plugin.CellEditing',
1001 1001 alias: 'editing.treeeditor',
1002 1002  
1003 1003 // initialization method of plugin
1004   - init: function(cmp) {
  1004 + init: function(cmp) {
1005 1005 var me = this;
1006 1006 me.hostCmp = cmp;
1007 1007 // on parent event
1008 1008 me.hostCmp.on({
1009 1009 // on edition event
1010   - edition : {
  1010 + edition : {
1011 1011 delay: 50,
1012 1012 fn : function(view, record, item, index, e){
1013 1013 view.getHeaderAtIndex(0).field.validFlag = 'Not modified';
... ... @@ -1019,7 +1019,7 @@ Ext.define( &#39;MyTreeEditor&#39;, {
1019 1019 });
1020 1020 me.callParent(arguments);
1021 1021 },
1022   -
  1022 +
1023 1023 /**
1024 1024 * Cancel any active editing.
1025 1025 */
... ... @@ -1037,16 +1037,16 @@ Ext.define( &#39;MyTreeEditor&#39;, {
1037 1037 this.fireEvent('canceledit', activeEd, me.context);
1038 1038 }
1039 1039 },
1040   -
  1040 +
1041 1041 /**
1042 1042 * overwrite the initEditTriggers to disable edition on click/dblclick
1043   - * and to add custom
  1043 + * and to add custom
1044 1044 */
1045 1045 initEditTriggers: function() {
1046 1046  
1047 1047 var me = this,
1048 1048 view = me.view;
1049   -
  1049 +
1050 1050 me.on({
1051 1051 edit: function(editor,event){
1052 1052 // if there is a modification
... ... @@ -1061,7 +1061,7 @@ Ext.define( &#39;MyTreeEditor&#39;, {
1061 1061 // in case of directory
1062 1062 if (!rec.leaf){
1063 1063 // set folder's ID returned by server
1064   - rec.id = result.id;
  1064 + rec.id = result.id;
1065 1065 }
1066 1066 } else { // in case of transaction error
1067 1067 // reset originalValue
... ...
js/app/views/InteropUI.js
... ... @@ -107,8 +107,7 @@ Ext.define(&#39;amdaUI.InteropUI&#39;, {
107 107 return {
108 108 xtype : 'panelEpnTap',
109 109 id : 'epnTapTab',
110   - title : 'EPN-TAP',
111   - module: Ext.create('amdaDesktop.EpnTapModule')
  110 + title : 'EPN-TAP'
112 111 };
113 112 },
114 113  
... ...