/** * Project : AMDA-NG4 * Name : RemoteParamNode.js * @class amdaModel.RemoteParamNode * @extends amdaModel.LocalParamNode * @author elena */ Ext.define('amdaModel.RemoteParamNode', { extend: 'amdaModel.LocalParamNode', statics:{ nodeType: 'remoteParam' }, fields: [{name: 'isRemoteDataSet', type:'boolean', persist: false, defaultValue: true}, {name: 'isSimulation', type:'boolean', defaultValue: false}], constructor : function(config){ this.callParent(arguments); //TODO only for INTEROPER TREE if (!this.get('leaf')) this.set('allowDrag', false); if (this.get('isParameter')) this.set('allowDrag',true); if (this.get('leaf') && this.get('isSpectra')) this.set('iconCls', 'icon-spectra'); if (this.get('disable')) { this.set('cls', 'icon-disabled'); this.set('allowDrag', false); } }, allMenuItems : function() { var menuItems = [{ fnId : 'dire-addData', text : 'Add Data' },{ fnId : 'root-addData', text : 'Add Data' },{ fnId : 'dire-deleteNode', text : 'Delete Data' },{ fnId : 'root-collapseAll', text : 'Close All' }, { fnId : 'dire-collapseAll', text : 'Close All' }, { fnId : 'para-plotParam', text : 'Plot Parameter', hidden : true }, { fnId : 'para-downParam', text : 'Download Parameter', hidden : true },{ fnId : 'leaf-createAlias', text : 'Create/Edit Alias' }, { fnId : 'leaf-createDerivedParam', text : 'Create Derived Parameter' },{ fnId : 'leaf-deleteNode', text : 'Delete Parameter' },{ fnId : 'leaf-plotParam', text : 'Plot Parameter', hidden : true }, { fnId : 'leaf-downParam', text : 'Download Parameter', hidden : true }]; return menuItems; }, onMenuItemClick : function(menu,item,event) { if (item) { switch (item.fnId) { case 'root-collapseAll': case 'dire-collapseAll': case 'miss-collapseAll': if(this && !this.isLeaf()) { this.collapse(true); } break; case 'leaf-createDerivedParam': this.createLeaf(this); break; case 'leaf-createAlias': this.createAlias(this); break; case 'leaf-deleteNode': case 'dire-deleteNode' : this.deleteData(); break; case 'dire-addData': case 'root-addData': this.addData(); break; case 'leaf-plotParam': case 'para-plotParam': this.createPlot(this); break; case 'leaf-downParam': case 'para-downParam': this.createDownload(this); break; default: break; } } }, deleteData : function() { // var parent = this.parentNode; AmdaAction.deleteFromTree({nodeType: this.get('nodeType'), id : this.get('id')}, function(res,e){ //TODO if () not error ?? this.remove(); this.destroy(); },this); }, addData : function() { if (this.get('disable')) return; var me = this; myDesktopApp.getLoadedModule(myDesktopApp.dynamicModules.interop.id, true, function (module) { module.createWindow(me.getBaseId()); }); }, // Depth of Base Root Node = 3 : root, Parameters, Remote Parameters, BaseName getBaseId : function() { if (this.getDepth() < 3) return 'root'; var node = this; while (node.getDepth() > 3) { node = node.parentNode; } return node.get('id'); } });