Commit 04a55960b1fd7251309d5837cf043658f61700af
1 parent
ef3ac5fb
Exists in
master
and in
112 other branches
Add EPN-TAP to Amda explorer context menu.
Showing
9 changed files
with
495 additions
and
435 deletions
Show diff stats
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('amdaDesktop.ExplorerModule', { |
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('amdaDesktop.ExplorerModule', { |
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('amdaDesktop.ExplorerModule', { |
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('amdaDesktop.ExplorerModule', { |
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('amdaDesktop.ExplorerModule', { |
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('amdaDesktop.ExplorerModule', { |
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('amdaDesktop.ExplorerModule', { |
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('amdaDesktop.ExplorerModule', { |
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('amdaDesktop.ExplorerModule', { |
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('amdaDesktop.ExplorerModule', { |
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('amdaDesktop.ExplorerModule', { |
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('amdaModel.AmdaNode', { |
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('amdaModel.AmdaNode', { |
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('amdaModel.AmdaNode', { |
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('amdaModel.AmdaNode', { |
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('amdaModel.AmdaNode', { |
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('amdaModel.AmdaNode', { |
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('amdaModel.AmdaNode', { |
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('amdaModel.AmdaNode', { |
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('amdaModel.AmdaNode', { |
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('amdaModel.AmdaNode', { |
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('amdaModel.LocalParamNode', |
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('amdaModel.LocalParamNode', |
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('amdaModel.LocalParamNode', |
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('amdaModel.LocalParamNode', |
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('amdaModel.LocalParamNode', |
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('amdaModel.RemoteParamNode', { |
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('amdaModel.RemoteParamNode', { |
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('amdaModel.RemoteParamNode', { |
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('amdaUI.EpnTapUI', { |
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('amdaUI.EpnTapUI', { |
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('amdaUI.EpnTapUI', { |
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('amdaUI.EpnTapUI', { |
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('amdaUI.EpnTapUI', { |
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('amdaUI.EpnTapUI', { |
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('amdaUI.TreeToolColumn', { |
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('amdaUI.TreeToolColumn', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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('amdaUI.ExplorerUI', { |
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( 'MyTreeEditor', { |
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( 'MyTreeEditor', { |
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( 'MyTreeEditor', { |
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