Commit d648a5c0dd3ea97c0118d359bbb6fd56de994569

Authored by Benjamin Renard
1 parent ebbb3638

Insert plot tab in current request

js/app/models/PlotObjects/PlotRequestObject.js
@@ -73,8 +73,17 @@ Ext.define('amdaPlotObj.PlotRequestObject', { @@ -73,8 +73,17 @@ Ext.define('amdaPlotObj.PlotRequestObject', {
73 73
74 createNewTab: function() { 74 createNewTab: function() {
75 this.set('last-tab-id', this.get('last-tab-id') + 1); 75 this.set('last-tab-id', this.get('last-tab-id') + 1);
76 - var recs = this.tabs().add({id : this.get('last-tab-id')});  
77 - recs[0].setDefaultValues(); 76 + var data = {id: this.get('last-tab-id')};
  77 + var applyDefault = true;
  78 + if ((arguments.length > 0) && arguments[0]) {
  79 + data = arguments[0];
  80 + data['id'] = this.get('last-tab-id');
  81 + applyDefault = false;
  82 + }
  83 + var recs = this.tabs().add(data);
  84 + if (applyDefault) {
  85 + recs[0].setDefaultValues();
  86 + }
78 this.dirty = true; 87 this.dirty = true;
79 return recs[0]; 88 return recs[0];
80 }, 89 },
js/app/models/PlotTabNode.js
@@ -65,11 +65,11 @@ Ext.define('amdaModel.PlotTabNode', { @@ -65,11 +65,11 @@ Ext.define('amdaModel.PlotTabNode', {
65 switch (fnId) { 65 switch (fnId) {
66 66
67 case 'openTab': 67 case 'openTab':
68 - console.log('openTab'); 68 + this.insertPlotTabRequest(true);
69 break; 69 break;
70 70
71 case 'insertTab': 71 case 'insertTab':
72 - console.log('insertTab'); 72 + this.insertPlotTabRequest(false);
73 break; 73 break;
74 74
75 case 'renameTab': 75 case 'renameTab':
@@ -80,11 +80,61 @@ Ext.define('amdaModel.PlotTabNode', { @@ -80,11 +80,61 @@ Ext.define('amdaModel.PlotTabNode', {
80 } 80 }
81 }, 81 },
82 82
  83 + insertPlotTabRequest : function(inNewRequest) {
  84 + var me = this;
  85 + amdaModel.InteractiveNode.preloadNodes(this.parentNode.getRootNode(), function() {
  86 + AmdaAction.getObject(me.parentNode.get('id'), me.parentNode.get('nodeType'), function (result,remoteEvent) {
  87 + var paramObj = Ext.create(me.parentNode.get('objectDataModel'), result);
  88 + var tabData = null;
  89 + paramObj.tabs().each(function(tab) {
  90 + if (tab.get('id') == me.get('tabid')) {
  91 + tabData = tab.getJsonValues();
  92 + }
  93 + });
  94 + if (tabData != null) {
  95 + if (inNewRequest) {
  96 + tabData['id'] = 1;
  97 + paramObj.set('id','');
  98 + paramObj.set('name', '');
  99 + paramObj.set('folderId', '');
  100 + paramObj.set('active-tab-id', 1);
  101 + paramObj.set('last-tab-id', 1);
  102 + paramObj.set('last-plotted-tab', 1);
  103 + paramObj.loadTabs([tabData]);
  104 + myDesktopApp.getLoadedModule(me.get('moduleId'), true, function (module) {
  105 + module.setContextNode(me.parentNode.getRootNode());
  106 + module.createWindow(function () {
  107 + var uiContent = module.getUiContent();
  108 + if (uiContent != null) {
  109 + uiContent.resetProcess(paramObj.getJsonValues());
  110 + }
  111 + });
  112 + });
  113 + }
  114 + else {
  115 + myDesktopApp.getLoadedModule(me.get('moduleId'), true, function (module) {
  116 + module.createWindow(function () {
  117 + var uiContent = module.getUiContent();
  118 + if (uiContent != null) {
  119 + var tabObj = new amdaPlotObj.PlotTabObject(tabData);
  120 + uiContent.insertPlotTab(tabData);
  121 + }
  122 + });
  123 + });
  124 + }
  125 + }
  126 + }, me);
  127 + });
  128 + },
  129 +
83 editPlotTab : function() { 130 editPlotTab : function() {
84 var me = this; 131 var me = this;
85 this.parentNode.editLeaf(function () { 132 this.parentNode.editLeaf(function () {
86 myDesktopApp.getLoadedModule(me.get('moduleId'), true, function (module) { 133 myDesktopApp.getLoadedModule(me.get('moduleId'), true, function (module) {
87 - module.forceTabSelection(me.get('tabid')); 134 + var uiContent = module.getUiContent();
  135 + if (uiContent != null) {
  136 + uiContent.forceActiveTab(me.get('tabid'));
  137 + }
88 }); 138 });
89 }); 139 });
90 } 140 }
js/app/views/PlotUI.js
@@ -84,7 +84,11 @@ Ext.define('amdaUI.PlotUI', { @@ -84,7 +84,11 @@ Ext.define('amdaUI.PlotUI', {
84 resetProcess : function(){ 84 resetProcess : function(){
85 var plotModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.plot.id); 85 var plotModule = myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.plot.id);
86 plotModule.createLinkedNode(); 86 plotModule.createLinkedNode();
87 - plotModule.createObject(); 87 + var obj = null;
  88 + if ((arguments.length > 0) && (arguments[0] != null)) {
  89 + obj = arguments[0];
  90 + }
  91 + plotModule.createObject(obj);
88 this.setObject(plotModule.linkedNode.get('object')); 92 this.setObject(plotModule.linkedNode.get('object'));
89 }, 93 },
90 94
@@ -181,6 +185,11 @@ Ext.define('amdaUI.PlotUI', { @@ -181,6 +185,11 @@ Ext.define('amdaUI.PlotUI', {
181 } 185 }
182 } 186 }
183 }, 187 },
  188 +
  189 + insertPlotTab : function(tabData) {
  190 + var newTab = this.object.createNewTab(tabData);
  191 + this.plotTabs.addPlotTab(newTab,true);
  192 + },
184 193
185 updateLinkedToMultiPlotMode : function(isLinkedToMultiPlotMode) { 194 updateLinkedToMultiPlotMode : function(isLinkedToMultiPlotMode) {
186 this.timeSelector.setVisible(isLinkedToMultiPlotMode); 195 this.timeSelector.setVisible(isLinkedToMultiPlotMode);