/** * Project : AMDA-NG4 * Name : PlotNode.js * @class amdaModel.PlotNode * @extends amdaModel.ExecutableNode * @brief Basic Model of Node corresponding to a plot request * @author Benjamin Renard * @version $Id: $ * @todo ******************************************************************************* * FT Id : Date : Name - Description ******************************************************************************* * : :21/08/2015: BRE - file creation */ Ext.define('amdaModel.PlotNode', { extend: 'amdaModel.ExecutableNode', requires: [ ], statics: { nodeType: 'request' }, constructor : function(config){ this.callParent(arguments); this.set('moduleId',myDesktopApp.dynamicModules.plot.id); this.set('objectDataModel','amdaPlotObj.PlotRequestObject'); this.set('ownerTreeId',amdaUI.ExplorerUI.OPE_TAB.TREE_ID); this.set('nodeType',this.self.nodeType); }, allMenuItems : function() { var menuItems = [{ fnId : 'root-createDir', text : 'Create Folder' }, { fnId : 'dire-createDir', text : 'Create Folder' }, { fnId : 'dire-renameNode', text : 'Rename Folder' }, { fnId : 'dire-deleteNode', text : 'Delete Folder' }, { fnId : 'leaf-editPlot', text : 'Plot By Request' }, { fnId : 'leaf-editDownload', text : 'Download By Request' }, { fnId : 'leaf-renameNode', text : 'Rename Request' }, { fnId : 'leaf-deleteNode', text : 'Delete Request' }]; return menuItems; }, allMenuMultiItems : function() { var menuMulti = [ { fnId : 'mult-deleteMulti', text : 'Delete selected Requests' } ]; return menuMulti; }, getAllContextMenuItems: function(){ return this.allMenuItems(); }, getMultiContextMenuItems: function(){ return this.allMenuMultiItems(); }, onMenuItemClick : function(menu,item,event) { // fnId parsing : var fnId = Ext.util.Format.substr(item.fnId, 5, item.fnId.length); switch (fnId) { case 'createDir': this.createDir(); break; case 'deleteNode': this.deleteNode(); break; case 'renameNode': this.renameNode(); break; case 'editPlot': this.editLeaf(); break; case 'editDownload': amdaModel.DownloadNode.set('realLinkedNode',this); if (!this.get('object')){ AmdaAction.getObject(this.get('id'), this.get('nodeType'), amdaModel.DownloadNode.getObjectCallback, this); } else { var downObject = amdaModel.DownloadNode.decodeObject(); amdaModel.DownloadNode.set('object',Ext.create('amdaModel.Download',downObject)); amdaModel.DownloadNode.editInModule(); } break; case 'deleteMulti': this.deleteMulti(); break; default: break; } // switch end } });