/** * 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 */ Ext.define('amdaModel.PlotNode', { extend: 'amdaModel.ExecutableNode', statics: { nodeType: 'request' }, constructor : function(config){ this.callParent(arguments); this.set('moduleId',myDesktopApp.dynamicModules.plot.id); this.set('objectDataModel','amdaPlotObj.PlotRequestObject'); 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-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) { 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 'deleteMulti': this.deleteMulti(); break; default: break; } }, //Override editInModule editInModule : function (contextNode, onReady) { // set the contextNode of this node this.set('contextNode',contextNode); var me = this; myDesktopApp.getLoadedModule(this.get('moduleId'),true, function (module) { module.editPlot(me); }); }, //Override rename rename: function(value,callBackFn) { var me = this; 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, function(result) { callBackFn(result); myDesktopApp.getLoadedModule(me.get('moduleId'),true, function (module) { module.syncAfterRename(me); }); }); } });