Commit 44c334bed62b9a60a6537f2b991471fbc73dc1ac
1 parent
1ff0a9df
Exists in
master
and in
111 other branches
When lauched from the amda tree, epntap module is now launched as an interop module tab.
Showing
6 changed files
with
48 additions
and
62 deletions
Show diff stats
js/app/controllers/EpnTapModule.js
@@ -69,35 +69,11 @@ Ext.define('amdaDesktop.EpnTapModule', { | @@ -69,35 +69,11 @@ Ext.define('amdaDesktop.EpnTapModule', { | ||
69 | ****************************/ | 69 | ****************************/ |
70 | 70 | ||
71 | /** | 71 | /** |
72 | - Trigerred after the a click on the "Display EPN-TAP service" item from the contextual menu in the tree view. | ||
73 | - */ | ||
74 | - createWindow: function (icon_id) { | ||
75 | - this.callParent(); | ||
76 | - Ext.getCmp('epntap-win').modal = true; | ||
77 | - Ext.getCmp('epntap-win').setSize(800, 600); | ||
78 | - var icons_dic = { | ||
79 | - 'icon-mercury': ['ts', 'planet', 'mercury'], | ||
80 | - 'icon-venus': ['ts', 'planet', 'venus'], | ||
81 | - 'icon-earth': ['ts', 'planet', 'earth'], | ||
82 | - 'icon-mars': ['ts', 'planet', 'mars'], | ||
83 | - 'icon-jupiter': ['ts', 'planet', 'jupiter'], | ||
84 | - 'icon-saturn': ['ts', 'planet', 'saturn'], | ||
85 | - 'icon-comet': ['ts', 'comet', 'comet'], | ||
86 | - 'icon-sw': ['ts', 'interplanetary_medium', 'all'], | ||
87 | - 'icon-solarsystem': ['ts', 'interplanetary_medium', 'all'] | ||
88 | - } | ||
89 | - | ||
90 | - var target = icons_dic[icon_id]; | ||
91 | - // console.log("target: ", target); | ||
92 | - this.initWindow(target); | ||
93 | - }, | ||
94 | - | ||
95 | - /** | ||
96 | Trigerred after the render of `gridsPanel` (containing `servicesGrid` and `granulesGrid`). Among other things, | 72 | Trigerred after the render of `gridsPanel` (containing `servicesGrid` and `granulesGrid`). Among other things, |
97 | initializes the `productType` combobox and the `servicesGrid` table. | 73 | initializes the `productType` combobox and the `servicesGrid` table. |
98 | - `target`: an array of 3 values: [dataproduct_type, target_class, target_name]; or null. | 74 | - `target`: an array of 3 values: [dataproduct_type, target_class, target_name]; or null. |
99 | */ | 75 | */ |
100 | - initWindow: function(target) { | 76 | + initWindow: function(icon_id) { |
101 | Ext.getCmp('epnTapGranulesGrid').getStore().removeAll(); | 77 | Ext.getCmp('epnTapGranulesGrid').getStore().removeAll(); |
102 | Ext.data.StoreManager.lookup('servicesStore').on('add', function() { this.updateNbResults(); }, this); | 78 | Ext.data.StoreManager.lookup('servicesStore').on('add', function() { this.updateNbResults(); }, this); |
103 | Ext.data.StoreManager.lookup('servicesStore').load(); | 79 | Ext.data.StoreManager.lookup('servicesStore').load(); |
@@ -119,28 +95,30 @@ Ext.define('amdaDesktop.EpnTapModule', { | @@ -119,28 +95,30 @@ Ext.define('amdaDesktop.EpnTapModule', { | ||
119 | this.epnTapPanel = this.productTypeCB.findParentByType('panelEpnTap'); | 95 | this.epnTapPanel = this.productTypeCB.findParentByType('panelEpnTap'); |
120 | 96 | ||
121 | // If the EPN-TAP module is launched from the AMDA tree | 97 | // If the EPN-TAP module is launched from the AMDA tree |
122 | - if(target) { | ||
123 | - // --- Select product types --- | ||
124 | - if (! target[0] in this.productTypeCB.getStore()) { | ||
125 | - this.display_message("Sorry, product type " + target[0] + " is not found in available services."); | ||
126 | - return; | 98 | + if(icon_id) { |
99 | + var icons_dic = { | ||
100 | + 'icon-mercury': ['ts', 'planet', 'mercury'], | ||
101 | + 'icon-venus': ['ts', 'planet', 'venus'], | ||
102 | + 'icon-earth': ['ts', 'planet', 'earth'], | ||
103 | + 'icon-mars': ['ts', 'planet', 'mars'], | ||
104 | + 'icon-jupiter': ['ts', 'planet', 'jupiter'], | ||
105 | + 'icon-saturn': ['ts', 'planet', 'saturn'], | ||
106 | + 'icon-comet': ['ts', 'comet', 'comet'], | ||
107 | + 'icon-sw': ['ts', 'interplanetary_medium', 'all'], | ||
108 | + 'icon-solarsystem': ['ts', 'interplanetary_medium', 'all'] | ||
127 | } | 109 | } |
128 | - this.productTypeCB.select(target[0]); | ||
129 | - this.onProductTypeCBChanged(); // Fill target class CB | 110 | + var target = icons_dic[icon_id]; |
130 | 111 | ||
131 | - // --- Select target class --- | ||
132 | - if (! target[1] in this.targetClassCB.getStore()) { | ||
133 | - this.display_message("Sorry, target class " + this.pretify(target[1]) + " is not found in available services."); | ||
134 | - return; | ||
135 | - } | ||
136 | - this.targetClassCB.select(target[1]); | ||
137 | - this.onTargetClassCBChanged(); | 112 | + this.productTypeCB.enable(); |
113 | + this.targetClassCB.enable(); | ||
114 | + this.targetNameCB.enable(); | ||
138 | 115 | ||
139 | - // --- Select target name --- | ||
140 | - if (! target[2] in this.targetNameCB.getStore()) { | ||
141 | - this.display_message("Sorry, target name " + this.pretify(target[2]) + " is not found in available services."); | ||
142 | - return; | ||
143 | - } | 116 | + this.productTypeCB.getStore().add({'id': target[0], 'name': target[0]}); |
117 | + this.targetClassCB.getStore().add({'id': target[1], 'name': target[1]}); | ||
118 | + this.targetNameCB.getStore().add({'id': target[2], 'name': target[2]}); | ||
119 | + | ||
120 | + this.productTypeCB.select(target[0]); | ||
121 | + this.targetClassCB.select(target[1]); | ||
144 | this.targetNameCB.select(target[2]); | 122 | this.targetNameCB.select(target[2]); |
145 | this.onTargetNameCBChanged(); | 123 | this.onTargetNameCBChanged(); |
146 | 124 | ||
@@ -193,7 +171,6 @@ Ext.define('amdaDesktop.EpnTapModule', { | @@ -193,7 +171,6 @@ Ext.define('amdaDesktop.EpnTapModule', { | ||
193 | } | 171 | } |
194 | this.targetNameCB.getStore().add({'id': 'all', 'name': 'All target names'}); | 172 | this.targetNameCB.getStore().add({'id': 'all', 'name': 'All target names'}); |
195 | this.targetNameCB.select('all'); | 173 | this.targetNameCB.select('all'); |
196 | - this.updateNbResults(); | ||
197 | }, | 174 | }, |
198 | 175 | ||
199 | /** | 176 | /** |
@@ -225,7 +202,6 @@ Ext.define('amdaDesktop.EpnTapModule', { | @@ -225,7 +202,6 @@ Ext.define('amdaDesktop.EpnTapModule', { | ||
225 | this.targetNameCB.enable(); | 202 | this.targetNameCB.enable(); |
226 | } | 203 | } |
227 | } | 204 | } |
228 | - this.updateNbResults(); | ||
229 | }, | 205 | }, |
230 | 206 | ||
231 | /** | 207 | /** |
@@ -235,7 +211,6 @@ Ext.define('amdaDesktop.EpnTapModule', { | @@ -235,7 +211,6 @@ Ext.define('amdaDesktop.EpnTapModule', { | ||
235 | */ | 211 | */ |
236 | onTargetNameCBChanged: function() { | 212 | onTargetNameCBChanged: function() { |
237 | Ext.getCmp('epnTapGranulesGrid').getStore().removeAll(); | 213 | Ext.getCmp('epnTapGranulesGrid').getStore().removeAll(); |
238 | - this.updateNbResults(); | ||
239 | }, | 214 | }, |
240 | 215 | ||
241 | /** | 216 | /** |
@@ -409,8 +384,6 @@ Ext.define('amdaDesktop.EpnTapModule', { | @@ -409,8 +384,6 @@ Ext.define('amdaDesktop.EpnTapModule', { | ||
409 | var timeMax = metadataStore.max('time_max'); | 384 | var timeMax = metadataStore.max('time_max'); |
410 | timeSelector.setLimits(timeMin, timeMax); | 385 | timeSelector.setLimits(timeMin, timeMax); |
411 | timeSelector.setInterval(timeMin, timeMax); | 386 | timeSelector.setInterval(timeMin, timeMax); |
412 | - // console.log("Done services"); | ||
413 | - // loadMask.hide(); | ||
414 | }, | 387 | }, |
415 | 388 | ||
416 | /** | 389 | /** |
@@ -473,8 +446,6 @@ Ext.define('amdaDesktop.EpnTapModule', { | @@ -473,8 +446,6 @@ Ext.define('amdaDesktop.EpnTapModule', { | ||
473 | Ext.getCmp('epnTapServicesGrid').setDisabled(false); | 446 | Ext.getCmp('epnTapServicesGrid').setDisabled(false); |
474 | Ext.getCmp('epnTapGranulesGrid').setDisabled(false); | 447 | Ext.getCmp('epnTapGranulesGrid').setDisabled(false); |
475 | Ext.getCmp('epnTapServicesGrid').getEl().setStyle('cursor', 'default'); // CSS is correctly changed but without visible result. | 448 | Ext.getCmp('epnTapServicesGrid').getEl().setStyle('cursor', 'default'); // CSS is correctly changed but without visible result. |
476 | - // console.log("Done granules"); | ||
477 | - // loadMask.hide(); | ||
478 | }, | 449 | }, |
479 | 450 | ||
480 | /** | 451 | /** |
js/app/controllers/InteropModule.js
@@ -425,7 +425,7 @@ Ext.define('amdaDesktop.InteropModule', { | @@ -425,7 +425,7 @@ Ext.define('amdaDesktop.InteropModule', { | ||
425 | var desktop = this.app.getDesktop(); | 425 | var desktop = this.app.getDesktop(); |
426 | var win = desktop.getWindow(this.id); | 426 | var win = desktop.getWindow(this.id); |
427 | 427 | ||
428 | - activeTab = 1; | 428 | + activeTab = (config && 'activeTab' in config) ? config['activeTab'] : 1; |
429 | 429 | ||
430 | if(!win) | 430 | if(!win) |
431 | { | 431 | { |
@@ -446,6 +446,7 @@ Ext.define('amdaDesktop.InteropModule', { | @@ -446,6 +446,7 @@ Ext.define('amdaDesktop.InteropModule', { | ||
446 | stateEvents: ['move','show','resize'], | 446 | stateEvents: ['move','show','resize'], |
447 | items : [ | 447 | items : [ |
448 | { | 448 | { |
449 | + epntapTarget: (config && 'epntapTarget' in config) ? config['epntapTarget'] : false, | ||
449 | xtype: 'panelInterop', | 450 | xtype: 'panelInterop', |
450 | clientsStore : this.sampclientsStore, | 451 | clientsStore : this.sampclientsStore, |
451 | activeTab : activeTab, | 452 | activeTab : activeTab, |
js/app/models/LocalParamNode.js
@@ -167,8 +167,8 @@ Ext.define('amdaModel.LocalParamNode', | @@ -167,8 +167,8 @@ Ext.define('amdaModel.LocalParamNode', | ||
167 | 167 | ||
168 | displayEpnTap: function() { | 168 | displayEpnTap: function() { |
169 | var target = this.get('iconCls'); | 169 | var target = this.get('iconCls'); |
170 | - myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.epntap.id, true, function (module) { | ||
171 | - module.createWindow(target); | 170 | + myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.interop.id, true, function (module) { |
171 | + module.createWindow({'activeTab': 2, 'epntapTarget': target}); | ||
172 | }); | 172 | }); |
173 | }, | 173 | }, |
174 | 174 |
js/app/views/EpnTapUI.js
@@ -185,7 +185,7 @@ selected. | @@ -185,7 +185,7 @@ selected. | ||
185 | */ | 185 | */ |
186 | Ext.create('Ext.data.Store', { | 186 | Ext.create('Ext.data.Store', { |
187 | storeId:'granulesStore', | 187 | storeId:'granulesStore', |
188 | - fields:['num', 'dataproduct_type', 'target_name', 'time_min', 'time_max', 'access_format', 'granule_uid', 'access_estsize', 'access_url', 'thumbnail_url'], | 188 | + fields:['num', 'dataproduct_type', 'target_name', 'time_min', 'time_max', 'access_format', 'granule_uid', 'access_estsize', 'access_url', 'thumbnail_url'] |
189 | }); | 189 | }); |
190 | 190 | ||
191 | /** | 191 | /** |
@@ -460,7 +460,7 @@ Ext.define('amdaUI.EpnTapUI', { | @@ -460,7 +460,7 @@ Ext.define('amdaUI.EpnTapUI', { | ||
460 | createGranulesGrid() | 460 | createGranulesGrid() |
461 | ], | 461 | ], |
462 | listeners: { | 462 | listeners: { |
463 | - afterrender: function() { mod.initWindow(); } | 463 | + afterrender: function() { mod.initWindow(config.target); } |
464 | }, | 464 | }, |
465 | renderTo: Ext.getBody() | 465 | renderTo: Ext.getBody() |
466 | }); | 466 | }); |
@@ -488,7 +488,10 @@ Ext.define('amdaUI.EpnTapUI', { | @@ -488,7 +488,10 @@ Ext.define('amdaUI.EpnTapUI', { | ||
488 | name: 'productType', | 488 | name: 'productType', |
489 | editable: false, | 489 | editable: false, |
490 | listeners: { | 490 | listeners: { |
491 | - 'select': function(combo) { mod.onProductTypeCBChanged(combo.value); } | 491 | + 'select': function(combo) { |
492 | + mod.onProductTypeCBChanged(combo.value); | ||
493 | + mod.updateNbResults(); | ||
494 | + } | ||
492 | } | 495 | } |
493 | }); | 496 | }); |
494 | }; | 497 | }; |
@@ -511,7 +514,10 @@ Ext.define('amdaUI.EpnTapUI', { | @@ -511,7 +514,10 @@ Ext.define('amdaUI.EpnTapUI', { | ||
511 | name: 'targetClass', | 514 | name: 'targetClass', |
512 | editable: false, | 515 | editable: false, |
513 | listeners: { | 516 | listeners: { |
514 | - 'select': function(combo) { mod.onTargetClassCBChanged(combo.value); } | 517 | + 'select': function(combo) { |
518 | + mod.onTargetClassCBChanged(combo.value); | ||
519 | + mod.updateNbResults(); | ||
520 | + } | ||
515 | } | 521 | } |
516 | }); | 522 | }); |
517 | }; | 523 | }; |
@@ -538,7 +544,10 @@ Ext.define('amdaUI.EpnTapUI', { | @@ -538,7 +544,10 @@ Ext.define('amdaUI.EpnTapUI', { | ||
538 | minChars: 2, | 544 | minChars: 2, |
539 | forceSelection: true, | 545 | forceSelection: true, |
540 | listeners: { | 546 | listeners: { |
541 | - 'select': function(combo) { mod.onTargetNameCBChanged(combo.value); } | 547 | + 'select': function(combo) { |
548 | + mod.onTargetNameCBChanged(combo.value); | ||
549 | + mod.updateNbResults(); | ||
550 | + } | ||
542 | } | 551 | } |
543 | }); | 552 | }); |
544 | }; | 553 | }; |
@@ -735,6 +744,10 @@ Ext.define('amdaUI.EpnTapUI', { | @@ -735,6 +744,10 @@ Ext.define('amdaUI.EpnTapUI', { | ||
735 | ], | 744 | ], |
736 | listeners: { | 745 | listeners: { |
737 | 'beforerender': function(me) { | 746 | 'beforerender': function(me) { |
747 | + // if (!loadMask.isMasked()) { | ||
748 | + // loadMask.show(true); | ||
749 | + // } | ||
750 | + | ||
738 | if(Ext.getCmp('epntap-win') != null) { | 751 | if(Ext.getCmp('epntap-win') != null) { |
739 | Ext.getCmp('epntap-win').setPosition(100, 100); | 752 | Ext.getCmp('epntap-win').setPosition(100, 100); |
740 | } | 753 | } |
js/app/views/InteropUI.js
@@ -103,11 +103,12 @@ Ext.define('amdaUI.InteropUI', { | @@ -103,11 +103,12 @@ Ext.define('amdaUI.InteropUI', { | ||
103 | }; | 103 | }; |
104 | }, | 104 | }, |
105 | 105 | ||
106 | - getEpnTapTab: function() { | 106 | + getEpnTapTab: function(target) { |
107 | return { | 107 | return { |
108 | xtype : 'panelEpnTap', | 108 | xtype : 'panelEpnTap', |
109 | id : 'epnTapTab', | 109 | id : 'epnTapTab', |
110 | - title : 'EPN-TAP' | 110 | + title : 'EPN-TAP', |
111 | + target: target | ||
111 | }; | 112 | }; |
112 | }, | 113 | }, |
113 | 114 | ||
@@ -129,7 +130,7 @@ Ext.define('amdaUI.InteropUI', { | @@ -129,7 +130,7 @@ Ext.define('amdaUI.InteropUI', { | ||
129 | items: [ | 130 | items: [ |
130 | this.getSampTab(config.clientsStore), | 131 | this.getSampTab(config.clientsStore), |
131 | { xtype: 'paramsMgrPanel', baseId: config.baseId, layout: 'hbox'}, | 132 | { xtype: 'paramsMgrPanel', baseId: config.baseId, layout: 'hbox'}, |
132 | - this.getEpnTapTab() | 133 | + this.getEpnTapTab(config.epntapTarget) |
133 | ] | 134 | ] |
134 | }; | 135 | }; |
135 | 136 |