diff --git a/js/app/models/AmdaNode.js b/js/app/models/AmdaNode.js index 8260c84..4fba647 100644 --- a/js/app/models/AmdaNode.js +++ b/js/app/models/AmdaNode.js @@ -128,20 +128,7 @@ Ext.define('amdaModel.AmdaNode', { } // if this node is a leaf and have no child else if (this.isLeaf() || this.get('nodeType' ) == 'derivedParam' ) { - if (this.get('nodeType') == 'plottab') { - itemKind = amdaUI.ExplorerUI.ITEM_KIND_PTAB; - } - else { - itemKind = amdaUI.ExplorerUI.ITEM_KIND_LEAF; - } - } - else if (this.get('nodeType') == 'request') { - if (this.get('tabs') && (this.get('tabs').length > 0)) { - itemKind = amdaUI.ExplorerUI.ITEM_KIND_LEAF; - } - else { - itemKind = amdaUI.ExplorerUI.ITEM_KIND_DIRE; - } + itemKind = amdaUI.ExplorerUI.ITEM_KIND_LEAF; } else if (this.get('isParameter') && this.get('nodeType' ) != 'derivedParam' ) { itemKind = amdaUI.ExplorerUI.ITEM_KIND_PARA; diff --git a/js/app/models/DownloadNode.js b/js/app/models/DownloadNode.js index cda2b1b..72e7932 100644 --- a/js/app/models/DownloadNode.js +++ b/js/app/models/DownloadNode.js @@ -73,7 +73,8 @@ Ext.define('amdaModel.DownloadNode', { var fullObject = obj; } - var i = 0; + var i = 0; + // Todo - BRE - PLOTSAVE fullObject.tabs().each(function (tab) { // only active tab if (tab.get('id') == fullObject.get('last-plotted-tab')) diff --git a/js/app/models/InteractiveNode.js b/js/app/models/InteractiveNode.js index 002dfc9..9e139de 100644 --- a/js/app/models/InteractiveNode.js +++ b/js/app/models/InteractiveNode.js @@ -52,7 +52,7 @@ Ext.define('amdaModel.InteractiveNode', { { node.eachChild(function(n) { - if (!n.isLoaded() && !n.isRealLeaf()) + if (!n.isLoaded() && !n.isLeaf()) { nodesToLoad.push(n); me.preloadTreeNode(n,nodesToLoad,onloaded); @@ -70,7 +70,7 @@ Ext.define('amdaModel.InteractiveNode', { { records.forEach(function (record) { - if (!record.isLoaded() && !record.isRealLeaf()) + if (!record.isLoaded() && !record.isLeaf()) { nodesToLoad.push(record); me.preloadTreeNode(record,nodesToLoad,onloaded); @@ -100,11 +100,6 @@ Ext.define('amdaModel.InteractiveNode', { } }, - isRealLeaf: function() - { - return this.isLeaf(); - }, - /** * this method is overriden into ExecutableNode to return true */ @@ -151,7 +146,7 @@ Ext.define('amdaModel.InteractiveNode', { */ rename: function(value,callBackFn) { - var dataToSend = {id : this.get('id'), old_name: this.modified.text, name: value, parent : this.data.parentId, leaf: this.isRealLeaf(), nodeType: this.get('nodeType')}; + var dataToSend = {id : this.get('id'), old_name: this.modified.text, name: value, parent : this.data.parentId, leaf: this.isLeaf(), nodeType: this.get('nodeType')}; AmdaAction.renameObject(dataToSend, callBackFn); }, @@ -160,7 +155,7 @@ Ext.define('amdaModel.InteractiveNode', { */ renameDD: function(parentId, callBackFn) { - var dataToSend = {id : this.get('id'), old_name: this.get('name'), name: this.get('name'), parent : parentId, leaf: this.isRealLeaf(), nodeType: this.get('nodeType')}; + var dataToSend = {id : this.get('id'), old_name: this.get('name'), name: this.get('name'), parent : parentId, leaf: this.isLeaf(), nodeType: this.get('nodeType')}; AmdaAction.renameObject(dataToSend, callBackFn); }, @@ -171,7 +166,7 @@ Ext.define('amdaModel.InteractiveNode', { */ isValidName : function(name, callBackFn) { - var dataToSend = {name: name, nodeType: this.get('nodeType'), leaf: this.isRealLeaf()}; + var dataToSend = {name: name, nodeType: this.get('nodeType'), leaf: this.isLeaf()}; AmdaAction.validNameObject(dataToSend, callBackFn); }, @@ -530,7 +525,7 @@ Ext.define('amdaModel.InteractiveNode', { deleteNode: function() { // if the target is a directory - if (!this.isRealLeaf()) { + if (!this.isLeaf()) { // determine if this directory is empty before launching the delete confirmation method this.isNotEmptyDir(this.confirmDirectoryDeletion); // else (the target is a leaf) @@ -583,14 +578,14 @@ Ext.define('amdaModel.InteractiveNode', { */ realDelete : function() { - AmdaAction.deleteObject({id: this.get('id'), leaf: this.isRealLeaf(), nodeType: this.get('nodeType')}, function(res,e){ + AmdaAction.deleteObject({id: this.get('id'), leaf: this.isLeaf(), nodeType: this.get('nodeType')}, function(res,e){ //TODO proper errors handling // node deletion in tree if (res) { // if success if (res.id) { //Ext.Msg.show({title:'Warning', msg: 'Requests with parameter '+node.data.text+' are deleted', icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK}); if (this.parentNode) { - if (this.isRealLeaf()){ + if (this.isLeaf()){ var moduleId = this.get('moduleId'); // if really interactive node if (moduleId) { diff --git a/js/app/models/PlotNode.js b/js/app/models/PlotNode.js index dc783e5..b5edde3 100644 --- a/js/app/models/PlotNode.js +++ b/js/app/models/PlotNode.js @@ -10,47 +10,15 @@ Ext.define('amdaModel.PlotNode', { extend: 'amdaModel.ExecutableNode', - fields : [ - {name : 'tabs', type:'auto', defaultValue:false, persist: false} - ], - statics: { nodeType: 'request' }, - requires:[ - 'amdaModel.PlotTabNode' - ], - constructor : function(config){ this.callParent(arguments); this.set('moduleId',myDesktopApp.dynamicModules.plot.id); this.set('objectDataModel','amdaPlotObj.PlotRequestObject'); this.set('nodeType',this.self.nodeType); - if (this.get('leaf')) { - this.updateTabs(this.get('tabs')); - } - }, - - updateTabs : function(tabs) { - if (tabs) { - var oneTab = (tabs.length == 1); - this.set('leaf', oneTab); - this.set('iconCls', oneTab ? 'icon-plot-page' : 'icon-plot-pages'); - this.removeAll(); - if (tabs.length > 1) { - var me = this; - Ext.Array.each(tabs, function(tab) { - var tabNode = new amdaModel.PlotTabNode({text: tab.name, tabid: tab.id}); - me.appendChild(tabNode); - }); - } - this.set('tabs', tabs); - } - }, - - specialUpdate : function(res) { - this.updateTabs(res.tabs); }, allMenuItems : function() { @@ -76,10 +44,6 @@ Ext.define('amdaModel.PlotNode', { }, { fnId : 'leaf-deleteNode', text : 'Delete Request' - }, { - fnId : 'leaf-insertTabs', - text : 'Insert in current Plot Request' - }]; return menuItems; @@ -128,35 +92,8 @@ Ext.define('amdaModel.PlotNode', { case 'deleteMulti': this.deleteMulti(); break; - case 'insertTabs': - this.insertPlotTabsRequest(); default: break; } - }, - - isRealLeaf: function() - { - var isFolder = (!this.isLeaf()) && (this.get('tabs') === false); - return !isFolder; - }, - - insertPlotTabsRequest: function() { - var me = this; - AmdaAction.getObject(me.get('id'), me.get('nodeType'), function (result,remoteEvent) { - var paramObj = Ext.create(me.get('objectDataModel'), result); - myDesktopApp.getLoadedModule(me.get('moduleId'), true, function (module) { - module.createWindow(function () { - var uiContent = module.getUiContent(); - if (uiContent != null) { - paramObj.tabs().each(function (tab) { - var tabData = tab.getJsonValues(); - uiContent.insertPlotTab(tabData); - }); - } - }); - }); - }); } - }); diff --git a/js/app/models/PlotTabNode.js b/js/app/models/PlotTabNode.js deleted file mode 100644 index d81703c..0000000 --- a/js/app/models/PlotTabNode.js +++ /dev/null @@ -1,164 +0,0 @@ -/** - * Project : AMDA-NG4 - * Name : PlotTabNode.js - * @class amdaModel.PlotTabNode - * @extends amdaModel.ExecutableNode - * @brief Basic Model of Node corresponding to a tab of a plot request - * @author Benjamin Renard - */ - -Ext.define('amdaModel.PlotTabNode', { - extend: 'amdaModel.ExecutableNode', - - fields : [ - {name : 'tabid', type:'string', defaultValue:'', persist: false} - ], - - statics: { - nodeType: 'plottab' - }, - - constructor : function(config){ - this.callParent(arguments); - this.set('moduleId',myDesktopApp.dynamicModules.plot.id); - //this.set('objectDataModel','amdaPlotObj.PlotRequestObject'); - this.set('nodeType',this.self.nodeType); - this.set('leaf',true); - this.set('iconCls','icon-plot-page'); - }, - - allMenuItems : function() { - var menuItems = - [ - { - fnId : 'ptab-openTab', - text : 'Open in new Plot Request' - }, { - fnId : 'ptab-insertTab', - text : 'Insert in current Plot Request' - }, { - fnId : 'ptab-renameTab', - text : 'Rename Plot Tab' - }]; - - return menuItems; - }, - - allMenuMultiItems : function() { - var menuMulti = [ - ]; - return menuMulti; - }, - - getAllContextMenuItems: function(){ - return this.allMenuItems(); - }, - - getMultiContextMenuItems: function(){ - return this.allMenuMultiItems(); - }, - - onMenuItemClick : function(menu,item,event) { - - var fnId = Ext.util.Format.substr(item.fnId, 5, item.fnId.length); - - switch (fnId) { - - case 'openTab': - this.insertPlotTabRequest(true); - break; - - case 'insertTab': - this.insertPlotTabRequest(false); - break; - - case 'renameTab': - this.renameTab(); - break; - default: - break; - } - }, - - insertPlotTabRequest : function(inNewRequest) { - var me = this; - amdaModel.InteractiveNode.preloadNodes(this.parentNode.getRootNode(), function() { - AmdaAction.getObject(me.parentNode.get('id'), me.parentNode.get('nodeType'), function (result,remoteEvent) { - var paramObj = Ext.create(me.parentNode.get('objectDataModel'), result); - var tabData = null; - paramObj.tabs().each(function(tab) { - if (tab.get('id') == me.get('tabid')) { - tabData = tab.getJsonValues(); - } - }); - if (tabData != null) { - if (inNewRequest) { - tabData['id'] = 1; - paramObj.set('id',''); - paramObj.set('name', ''); - paramObj.set('folderId', ''); - paramObj.set('active-tab-id', 1); - paramObj.set('last-tab-id', 1); - paramObj.set('last-plotted-tab', 1); - paramObj.loadTabs([tabData]); - myDesktopApp.getLoadedModule(me.get('moduleId'), true, function (module) { - module.setContextNode(me.parentNode.getRootNode()); - module.createWindow(function () { - var uiContent = module.getUiContent(); - if (uiContent != null) { - uiContent.resetProcess(paramObj.getJsonValues()); - } - }); - }); - } - else { - myDesktopApp.getLoadedModule(me.get('moduleId'), true, function (module) { - module.createWindow(function () { - var uiContent = module.getUiContent(); - if (uiContent != null) { - var tabObj = new amdaPlotObj.PlotTabObject(tabData); - uiContent.insertPlotTab(tabData); - } - }); - }); - } - } - }, me); - }); - }, - - editPlotTab : function() { - var me = this; - this.parentNode.editLeaf(function () { - myDesktopApp.getLoadedModule(me.get('moduleId'), true, function (module) { - var uiContent = module.getUiContent(); - if (uiContent != null) { - uiContent.forceActiveTab(me.get('tabid')); - } - }); - }); - }, - - renameTab: function() { - if (this.myGetOwnerTree()) { - var item = this.myGetOwnerTree().getSelectionModel().selected.items[0]; - this.myGetOwnerTree().fireEvent('edition', this.myGetOwnerTree().view, item); - } - }, - - rename: function(value,callBackFn) { - var me = this; - var dataToSend = {id : this.get('tabid'), old_name: this.modified.text, name: value, parent : this.data.parentId, leaf: this.isLeaf(), nodeType: this.get('nodeType')}; - AmdaAction.renameObject(dataToSend, function (result) { - callBackFn(result); - myDesktopApp.getLoadedModule(me.get('moduleId'), true, function (module) { - var uiContent = module.getUiContent(); - if (uiContent != null) { - if ((module.linkedNode != null) && (module.linkedNode.get('id') == dataToSend.parent)) { - uiContent.updatePlotTabName(dataToSend.id, dataToSend.name); - } - } - }); - }); - }, -}); diff --git a/js/app/views/ExplorerUI.js b/js/app/views/ExplorerUI.js index bb81986..ae48d1d 100644 --- a/js/app/views/ExplorerUI.js +++ b/js/app/views/ExplorerUI.js @@ -102,7 +102,6 @@ Ext.define('amdaUI.ExplorerUI', { ITEM_KIND_LEAF : 'leaf', ITEM_KIND_DIRE : 'dire', ITEM_KIND_PARA : 'para', - ITEM_KIND_PTAB : 'ptab', //plot tab ITEM_KIND_MISS : 'miss' }, @@ -354,7 +353,6 @@ Ext.define('amdaUI.ExplorerUI', { case 'remoteParam' : case 'remoteSimuParam' : case 'myData' : - case 'plottab' : return false; default : if (draggedRecord.data.id == targetNode.data.nodeType+'-treeRootNode') @@ -577,7 +575,7 @@ Ext.define('amdaUI.ExplorerUI', { }); } - if (record.isLeaf() || record.data.isParameter || (record.data.tabs && (record.data.tabs.length > 0))) + if (record.isLeaf() || record.data.isParameter) switch (record.get('nodeType')) { case 'myData' : @@ -591,9 +589,6 @@ Ext.define('amdaUI.ExplorerUI', { case 'condition' : record.editLeaf(); break; - case 'plottab' : - record.editPlotTab(); - break; case 'localParam' : case 'remoteParam': case 'remoteSimuParam': @@ -1029,7 +1024,7 @@ Ext.define( 'MyTreeEditor', { event.record.commit(); var rec = event.record.data; // in case of directory - if (!rec.leaf && (rec.nodeType != 'plottab')){ + if (!rec.leaf){ // set folder's ID returned by server rec.id = result.id; } diff --git a/js/resources/css/amda.css b/js/resources/css/amda.css index 5a0ffeb..ceb7d71 100644 --- a/js/resources/css/amda.css +++ b/js/resources/css/amda.css @@ -462,10 +462,6 @@ p + p { background-image:url( ../images/16x16/plot_page.png ) !important; } -.icon-plot-pages { - background-image:url( ../images/16x16/plot_pages.png ) !important; -} - .icon-plot-layout { background-image:url( ../images/16x16/plot_layout.png ) !important; } diff --git a/js/resources/images/16x16/plot_pages.png b/js/resources/images/16x16/plot_pages.png deleted file mode 100644 index 087c12b..0000000 Binary files a/js/resources/images/16x16/plot_pages.png and /dev/null differ -- libgit2 0.21.2