SearchNode.js 2.85 KB
/** 
 * Project  : AMDA-NG4
 * Name     : SearchNode.js
 * @class   amdaModel.SearchNode
 * @extends amdaModel.InteractiveNode
 * @brief   Basic Model of Node corresponding to a amda condition
 * @author  
 * @version $Id: SearchNode.js 1739 2013-09-09 14:47:10Z myriam $
 * @todo
 *******************************************************************************
 *    FT Id     :   Date   : Name - Description
 *******************************************************************************
 *  :           :23/06/2011: myriam - Migration extjs4
 */

Ext.define('amdaModel.SearchNode', {

    extend: 'amdaModel.ExecutableNode',
   
    statics: {
        nodeType: 'condition'
    },

    constructor : function(config){

        this.callParent(arguments);
        this.set('moduleId',myDesktopApp.dynamicModules.search.id);
        this.set('objectDataModel',amdaModel.Search.$className);
        this.set('ownerTreeId',amdaUI.ExplorerUI.OPE_TAB.TREE_ID);
        this.set('nodeType',amdaModel.SearchNode.nodeType);
        this.set('resultModel',amdaModel.TimeTable.$className);
        
    },
    
    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-editNode',
            text : 'Data Mining 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 'editNode':        	
            this.editLeaf(); 
            break;
    	    
        case 'deleteMulti':
            this.deleteMulti();
     
        default:
            break;
        } // switch end
    }
   
});