Commit 57e1521439f07489cd942130a113a585eb7422a8
1 parent
495fc7a3
Exists in
master
and in
95 other branches
Fix addParameter + remove plot
Showing
8 changed files
with
83 additions
and
39 deletions
Show diff stats
js/app/controllers/PlotModule.js
... | ... | @@ -208,5 +208,20 @@ Ext.define('amdaDesktop.PlotModule', { |
208 | 208 | getWindowResult: function(winResultId){ |
209 | 209 | if (!this.plotResultWindowsManager.get(winResultId)) return null; |
210 | 210 | return this.plotResultWindowsManager.get(winResultId); |
211 | + }, | |
212 | + | |
213 | + addParameter : function(paramNode) { | |
214 | + var me = this; | |
215 | + var desktop = this.app.getDesktop(); | |
216 | + var win = desktop.getWindow(this.id); | |
217 | + if (win) { | |
218 | + me.getUiContent().addParameter(paramNode, false); | |
219 | + win.show(); | |
220 | + } | |
221 | + else { | |
222 | + this.createWindow(function () { | |
223 | + me.getUiContent().addParameter(paramNode, true); | |
224 | + }); | |
225 | + } | |
211 | 226 | } |
212 | 227 | }); | ... | ... |
js/app/models/InteractiveNode.js
... | ... | @@ -454,16 +454,7 @@ Ext.define('amdaModel.InteractiveNode', { |
454 | 454 | { |
455 | 455 | if (node.get('disable')) return; |
456 | 456 | myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.plot.id, true, function (module) { |
457 | - if (!myDesktopApp.desktop.getWindow(myDesktopApp.dynamicModules.plot.id)) { | |
458 | - var request = Ext.create(amdaPlotObj.PlotRequestObject.$className); | |
459 | - var newNode = Ext.create(amdaModel.PlotNode.$className, { object : request }); | |
460 | - // edit newNode into Plot Module with node as contextNode | |
461 | - newNode.editInModule(); | |
462 | - if((node.get('globalStart') != null) && (node.get('globalStop') != null) && node.get('globalStart') != 'depending on mission' && node.get('isParameter')) { | |
463 | - module.getUiContent().setTimeFromData(node.getTimeFromNode(node)); | |
464 | - } | |
465 | - } | |
466 | - module.getUiContent().addParameter(node); | |
457 | + module.addParameter(node); | |
467 | 458 | }); |
468 | 459 | }, |
469 | 460 | ... | ... |
js/app/models/MultiplotNode.js
js/app/models/PlotObjects/MultiplotRequestObject.js
... | ... | @@ -54,7 +54,10 @@ Ext.define('amdaPlotObj.MultiplotRequestObject', { |
54 | 54 | return this.plots().getAt(this.plots().count()-1); |
55 | 55 | }, |
56 | 56 | |
57 | - removePlotById: function(id) { | |
57 | + removePlotByInternalId: function(internalId) { | |
58 | + var plotNode = this.plots().data.getByKey(internalId); | |
59 | + if (plotNode) | |
60 | + this.plots().remove(plotNode); | |
58 | 61 | }, |
59 | 62 | |
60 | 63 | addPlot: function(plotNode) { | ... | ... |
js/app/models/PlotObjects/PlotRequestObject.js
js/app/views/PlotComponents/PlotTabContent.js
... | ... | @@ -30,6 +30,11 @@ Ext.define('amdaPlotComp.PlotTabContent', { |
30 | 30 | this.init(config); |
31 | 31 | this.callParent(arguments); |
32 | 32 | }, |
33 | + | |
34 | + setTime : function(startDate, stopDate) { | |
35 | + this.timeSelector.intervalSel.setInterval(startDate, stopDate); | |
36 | + | |
37 | + }, | |
33 | 38 | |
34 | 39 | updateTimeObject : function() { |
35 | 40 | var timeSource = this.timeSelector.getActiveTimeSource(); |
... | ... | @@ -39,7 +44,11 @@ Ext.define('amdaPlotComp.PlotTabContent', { |
39 | 44 | if (timeSource === amdaModel.AmdaTimeObject.inputTimeSrc[0]) |
40 | 45 | this.plotNode.get('object').set('timeTables',this.timeSelector.TTGrid.getStore().data.items); |
41 | 46 | }, |
42 | - | |
47 | + | |
48 | + doPlot : function() { | |
49 | + this.plotNode.execute(); | |
50 | + }, | |
51 | + | |
43 | 52 | init : function(config) { |
44 | 53 | var me = this; |
45 | 54 | me.plotNode = config.plotNode; | ... | ... |
js/app/views/PlotComponents/PlotTabPanel.js
... | ... | @@ -43,6 +43,7 @@ Ext.define('amdaPlotComp.PlotTabPanel', { |
43 | 43 | var me = this; |
44 | 44 | var tabComp = this.add({ |
45 | 45 | title: (plotNode.get('text') != '') ? plotNode.get('text') : 'Plot '+tabNumber, |
46 | + isRendered: false, | |
46 | 47 | closable: true, |
47 | 48 | layout: 'fit', |
48 | 49 | bodyStyle: 'background: none', |
... | ... | @@ -63,8 +64,8 @@ Ext.define('amdaPlotComp.PlotTabPanel', { |
63 | 64 | return true; |
64 | 65 | }, |
65 | 66 | close: function( tab, eOpts ) { |
66 | - if (tab.items.getAt(0).object) | |
67 | - this.object.removeTabById(tab.items.getAt(0).object.get('id')); | |
67 | + if (tab.items.getAt(0).plotNode) | |
68 | + this.multiplot_object.removePlotByInternalId(tab.items.getAt(0).plotNode.internalId); | |
68 | 69 | }, |
69 | 70 | destroy: function(tab, eOpts) { |
70 | 71 | this.updatePlotTabs(); |
... | ... | @@ -80,7 +81,22 @@ Ext.define('amdaPlotComp.PlotTabPanel', { |
80 | 81 | |
81 | 82 | updatePlotTabs: function() |
82 | 83 | { |
83 | - // ToDo - BRE | |
84 | + for (i = 0; i < this.items.getCount(); ++i) | |
85 | + { | |
86 | + var tabItem = this.items.getAt(i); | |
87 | + var tabContent = tabItem.items.getAt(0); | |
88 | + var plotNode = tabContent.plotNode; | |
89 | + var title = (plotNode.get('text') != '') ? plotNode.get('text') : 'Plot '+(i + 1); | |
90 | + tabItem.setTitle(title); | |
91 | + if (!this.getActiveTab()) | |
92 | + this.setActiveTab(tabItem); | |
93 | + } | |
94 | + }, | |
95 | + | |
96 | + getCurrentPlotTabContent : function() { | |
97 | + if (this.getActiveTab()) | |
98 | + return this.getActiveTab().child(); | |
99 | + return null; | |
84 | 100 | }, |
85 | 101 | |
86 | 102 | updateTimeObject : function() { | ... | ... |
js/app/views/PlotUI.js
... | ... | @@ -93,22 +93,33 @@ Ext.define('amdaUI.PlotUI', { |
93 | 93 | amdaModel.DownloadNode.editInModule(); |
94 | 94 | }, |
95 | 95 | |
96 | - addParameter : function(node){ | |
97 | - var crtTree = this.plotTabs.getTreeFromPlotTab(this.plotTabs.getActiveTab()); | |
98 | - crtTree.dropRecord(node,null,'append'); | |
99 | - }, | |
96 | + addParameter : function(node, updateTime){ | |
97 | + var crtTree = this.plotTabs.getTreeFromPlotTab(this.plotTabs.getActiveTab()); | |
98 | + if (crtTree) { | |
99 | + crtTree.dropRecord(node,null,'append'); | |
100 | + if (updateTime) { | |
101 | + if((node.get('globalStart') != null) && (node.get('globalStop') != null) && node.get('globalStart') != 'depending on mission' && node.get('isParameter')) { | |
102 | + this.setTimeFromData(node.getTimeFromNode(node)); | |
103 | + } | |
104 | + } | |
105 | + } | |
106 | + }, | |
100 | 107 | |
101 | 108 | /** |
102 | 109 | * plot method called by 'Do Plot' button to launch the plot process |
103 | 110 | */ |
104 | - doPlot : function(){ | |
111 | + doPlot : function(){ | |
112 | + var plotTab = this.plotTabs.getCurrentPlotTabContent() | |
113 | + if (plotTab) | |
114 | + plotTab.doPlot(); | |
105 | 115 | |
106 | - this.updateObject(); | |
116 | + /*this.updateObject(); | |
107 | 117 | this.object.set('last-plotted-tab', this.plotTabs.getSelectedTabId()); |
108 | 118 | var plotModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.plot.id); |
109 | 119 | if (plotModule) |
110 | - plotModule.linkedNode.execute(); | |
111 | - }, | |
120 | + plotModule.linkedNode.execute();*/ | |
121 | + | |
122 | + }, | |
112 | 123 | |
113 | 124 | /** |
114 | 125 | * Check if changes were made before closing window |
... | ... | @@ -142,23 +153,19 @@ Ext.define('amdaUI.PlotUI', { |
142 | 153 | crtTimeSelector.addTT(newTTName,newTTid); |
143 | 154 | }, |
144 | 155 | |
145 | - /** | |
146 | - * Set Start-Stop from parameter info (Local & MyData) | |
147 | - */ | |
148 | - setTimeFromData : function(obj) { | |
149 | - if (!obj.start || !obj.stop) | |
150 | - return; | |
151 | - var dateStart = new Date(obj.start.replace(/[T|Z]/g,' ').replace(/\-/g,'\/')); | |
152 | - var dateStop = new Date(obj.stop.replace(/[T|Z]/g,' ').replace(/\-/g,'\/')); | |
156 | + /** | |
157 | + * Set Start-Stop from parameter info (Local & MyData) | |
158 | + */ | |
159 | + setTimeFromData : function(obj) { | |
160 | + if (!obj.start || !obj.stop) | |
161 | + return; | |
162 | + var dateStart = new Date(obj.start.replace(/[T|Z]/g,' ').replace(/\-/g,'\/')); | |
163 | + var dateStop = new Date(obj.stop.replace(/[T|Z]/g,' ').replace(/\-/g,'\/')); | |
153 | 164 | |
154 | - for (var i = 0; i < this.plotTabs.items.getCount(); ++i) { | |
155 | - var plotTab = this.plotTabs.items.getAt(i).items.getAt(0); | |
156 | - plotTab.items.getAt(1).intervalSel.setInterval(dateStart, dateStop); | |
157 | - //TBD plotTab.updateTimeObject(); | |
158 | - } | |
159 | - | |
160 | - this.timeSelector.intervalSel.setInterval(dateStart, dateStop); | |
161 | - }, | |
165 | + var plotTab = this.plotTabs.getCurrentPlotTabContent(); | |
166 | + if (plotTab) | |
167 | + plotTab.setTime(dateStart, dateStop); | |
168 | + }, | |
162 | 169 | |
163 | 170 | forceActiveTab : function(tabId) { |
164 | 171 | for (var i = 0; i < this.plotTabs.items.getCount(); ++i) { | ... | ... |