EXT 右键菜单

xiaoxiao2022-06-13  42

/*****************右键按钮定义*********************/         var treeRightMenu = new Ext.menu.Menu({         id: 'theContextMenu',         items:[{                 id:'policy_apply',                 text:'策略应用',                 iconCls:'connected_user'             },'-',             {                 id:'veiw-all',                 text:'查看',                 iconCls:'bogus',                 menu:[                     {                         id:'veiwNode',                         text:'详情',                         iconCls:'view'                     },'-',{                         id:'veiwUser',                         text:'用户组',                         iconCls:'un_connected_user'                     }                 ]             },                          {                 id:'addNode',                 text:'添加',                 iconCls:'add',                 menu:[                     {                         id:'addPerson',                         text:'添加成员',                         iconCls:'user-add'                     },                     {                         id:'addGroup',                         text:'添加部门',                         iconCls:'add-group'                     }                 ]             },'-',{                 id:'delNode',                 text:'删除',                 iconCls:'remove'             },{                 id:'modifNode',                 text:'修改',                 iconCls:'edit'             }             ]         });         //树形菜单面板         var westPanel = new Ext.tree.TreePanel({             title:'组织结构图',             id:'tree-menu',             treeRightMenu:treeRightMenu, //声明右键菜单             animate:true,             region:'west',             width:300,             split: true,//添加分割线是否可以改变该panel的大小             minSize: 160,//设置拖动的最小拖动值             maxSize: 300,//设置拖动的最大拖动值             collapsible:true,//是否让panel能自动缩放             collapseMode:'mini',//在分割线处出现按钮             //contentEl:'tree-menu-div',             autoScroll:true,             enableDD:true,//是否支持拖拽效果             containerScroll: true,//是否支持滚动条             rootVisible:true,//是否显示跟节点             loader:new Ext.tree.TreeLoader({                  dataUrl:'tree/tree_json.php'              }),             tools:[{                 id:'refresh',                 handler:function(){                     var tree = Ext.getCmp('tree-menu');                     tree.root.reload();                     tree.expandAll();                 }             }]         });         //菜单根节点         var root = new Ext.tree.AsyncTreeNode({             text:'根节点',             icon:'images/icon/org.gif',             draggable:false,             id:'tree-menu-root'         });         //给tree添加鼠标右键事件         westPanel.on('contextmenu',treeRightKeyAction,this); //****开始绑定右键菜单事件*************         Ext.getCmp('addPerson').on('click',addPersonAction,this);         Ext.getCmp('addGroup').on('click',addGroupAction,this);         Ext.getCmp('delNode').on('click',delNodeAction,this);         Ext.getCmp('modifNode').on('click',modifNodeAction,this);         Ext.getCmp('veiwNode').on('click',veiwNodeAction,this);         Ext.getCmp('veiwUser').on('click',veiwUserAction,this);         Ext.getCmp('policy_apply').on('click',policyApplyAction,this); ; /***************  鼠标右键按钮事件  *************************************/     function treeRightKeyAction(node,e){         e.preventDefault();//阻止浏览器默认行为处理事件         node.select(); //节点选中         treeRightMenu.showAt(e.getXY()); //确定菜单显示位置         var selectedNode = westPanel.getSelectionModel().getSelectedNode();//得到选中的节点         //根据当前选中的节点判断是否屏蔽按钮。         var str_type = selectedNode.attributes.str_type;         //如果为根节点,则策略按钮不可用。         if(selectedNode.attributes.id=='tree-menu-root'){             Ext.getCmp('policy_apply').disable();            }else{             Ext.getCmp('policy_apply').enable();            }         //如果为用户,则用户组按钮不可用。         if(str_type=='person'){             Ext.getCmp('veiwUser').disable();         }else{             Ext.getCmp('veiwUser').enable();             dept_id = selectedNode.attributes.id;         }     }

相关资源:Ext 中的Tree实现不同节点不同的右键菜单
转载请注明原文地址: https://www.6miu.com/read-4936255.html

最新回复(0)