六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 29|回复: 0

dtree 显示右键菜单

[复制链接]

升级  40%

4

主题

4

主题

4

主题

童生

Rank: 1

积分
20
 楼主| 发表于 2013-1-29 10:57:15 | 显示全部楼层 |阅读模式
由于本人水平有限,欢迎提出宝贵意见。


<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page language="java"
import="ldap.util.jspBean.*,com.opensymphony.xwork2.ActionContext,java.util.*"%>
<%@page import="ldap.domain.User"%>
<%@page import="ldap.util.UserStatics"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ page isELIgnored="false"%>

<%  

  response.setHeader("Cache-Control","no-cache");  
  response.setHeader("Pragma","no-cache");  
  response.setDateHeader("Expires",0);  
  %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>

<head>
<title></title>
<link href="${pageContext.request.contextPath }/css/common.css"
rel="StyleSheet" type="text/css" />

<link rel="StyleSheet"
href="${pageContext.request.contextPath }/dtree/dtree.css"
type="text/css" />
<script type="text/javascript"
src="${pageContext.request.contextPath }/dtree/dtree.js"></script>
<script type="text/javascript"
src="${pageContext.request.contextPath }/dtree/jquery-1.1.3.js"></script>
<script type="text/javascript"
src="${pageContext.request.contextPath }/dtree/jquery.contextmenu.js"></script>


<link rel="stylesheet" type="text/css"
href="${pageContext.request.contextPath}/ext-3.2.0/resources/css/ext-all.css" />
<script type="text/javascript"
src="${pageContext.request.contextPath}/ext-3.2.0/adapter/ext/ext-base.js"></script>
<script type="text/javascript"
src="${pageContext.request.contextPath}/ext-3.2.0/ext-all.js"></script>
<link rel="stylesheet" type="text/css"
href="${pageContext.request.contextPath}/css/forms.css" />


<script language="JavaScript1.2" type="text/javascript">
<%
  //System.out.println("dd:"+request.getSession(false));
  
  if(request.getSession(true).getAttribute(UserStatics.USRKEY)==null){
  
  
  %>
   alert('用户已经退出!');
   window.top.location.href="/userMSys/login.jsp";
  <%}%>  
  
   

      function opTab(){

        var mnu = document.getElementById("menubar")

        var arrdiv = document.getElementById("arrow")

        var arrtxt = document.getElementById("arr")

        if((mnu.style.display != "block") || (mnu.style.display == "")){

          mnu.style.display = "block"
         
          window.parent.document.getElementById("cnt").cols="250,*";
         
          arrdiv.style.pixelLeft = mnu.style.width.substring(0 , mnu.style.width.length - 2)

          arrtxt.innerText = "3";

        } else
        {
          window.parent.document.getElementById("cnt").cols="20,*";
          mnu.style.display = "none"
          arrtxt.innerText = "4";
          arrdiv.style.pixelLeft =0;
        }

        event.cancelBubble = true;

      }

    </script>

<style type="text/css">
#menubar {
position: absolute;
top: 0px;
left: 0px;
display: none;
font-family: Verdana, Helvetica, Arial;
font-weight: 700;
font-size: 10px;
cursor: hand;
z-index: 5;
background-image: url();
background-repeat: repeat-y;
filter: progid :   DXImageTransform.Microsoft.gradient (   enabled =  
'true', gradientType =   '1', startColorstr =   '#FFFFFF', endColorstr
=   '#FFFFFF' );
}

.pulltab {
position: absolute;
top: 0px;
left: 0px;
height: 100%;
width: 12px;
padding-left: 1px;
cursor: hand;
color: #000000;
font-family: Webdings;
font-weight: bold;
font-size: 10px;
z-index: 10;
background-image: url();
background-repeat: repeat-y;
filter: progid :   DXImageTransform.Microsoft.gradient (   enabled =  
'true', gradientType =   '1', startColorstr =   '#DDDDDD', endColorstr
=   '#AAAAAA' );
}

.inner {
height: 100%;
width: 100%;
}
</style>







<script>   
function ScreenSaver(settings){   
    this.settings = settings;   
  
    this.nTimeout = this.settings.timeout;   
               
    document.body.screenSaver = this;   
    // link in to body events   
    document.body.onmousemove = ScreenSaver.prototype.onevent;   
    document.body.onmousedown = ScreenSaver.prototype.onevent;   
    document.body.onkeydown = ScreenSaver.prototype.onevent;   
    document.body.onkeypress = ScreenSaver.prototype.onevent;   
      
    var pThis = this;   
    var f = function(){pThis.timeout();}   
    this.timerID = window.setTimeout(f, this.nTimeout);   
}   
ScreenSaver.prototype.timeout = function(){   
    if ( !this.saver ){   
    //超时后的操作
    alert("操作超时 !");
        window.parent.location.href = '/userMSys/login.jsp';
    }   
}   
ScreenSaver.prototype.signal = function(){   
    if ( this.saver ){   
        this.saver.stop();   
    }   
      
    window.clearTimeout(this.timerID);   
      
    var pThis = this;   
    var f = function(){pThis.timeout();}   
    this.timerID = window.setTimeout(f, this.nTimeout);   
}   
  
ScreenSaver.prototype.onevent = function(e){   
    this.screenSaver.signal();   
}   
  
  
var saver;   
function initScreenSaver(){   
    //blort;   
    saver = new ScreenSaver({timeout:1500000});   //超时时间:1s = 1000, 25min = 1500000
    //如果25分钟内不操作,则超时退出登录
}   
function window.onload(){   
   initScreenSaver();   
}
  
</script>  



<script type="text/javascript"><!--

  var pid;
  var id;
  var op;

    dTree.prototype.isParentNode = function(nodeID) {
    var isParentNode = false;
var n=0;

    pid=this.aNodes[nodeID].pid+"";
    id=this.aNodes[nodeID].id+"";


    isParentNode = true;
    if(id==2||id==3){
    return false

    }


//    if(id.length >= 7)//用户菜单显
////    {

        //           document.getElementById("add").style.visibility='hidden';
                   /*
                   document.getElementById("edit").style.visibility='hidden';
                   document.getElementById("delete").style.visibility='visible';  
                   document.getElementById("refresh").style.visibility='hidden';
                   document.getElementById("gp").style.visibility='hidden';
                   document.getElementById("usr").style.visibility='visible';
                   */
                  
        //           isParentNode = false;   
   
//    }else{
     document.getElementById("add").style.visibility='visible';
                  
                   document.getElementById("edit").style.visibility='visible';
                   document.getElementById("delete").style.visibility='visible';  
                   document.getElementById("refresh").style.visibility='visible';
                   document.getElementById("gp").style.visibility='visible';
                   document.getElementById("usr").style.visibility='visible';
                   document.getElementById("usrALL").style.visibility='visible';
   
//   }


            /*
    if(id.length==8)//用户菜单显
    {

   
                   document.getElementById("add").style.visibility='hidden';
                   document.getElementById("edit").style.visibility='hidden';
                   document.getElementById("delete").style.visibility='visible';  
                   document.getElementById("refresh").style.visibility='hidden';
                   document.getElementById("gp").style.visibility='hidden';
                   document.getElementById("usr").style.visibility='visible';
                   document.getElementById("editUserGp").style.visibility='visible';
                  
                   document.getElementById("jqueryDtreeMenu").height ="10px;";
                  
                  
                    op = 1;
   
    }
     else  if(id.length<8&&parseInt(id)%1000==0)//显示右键ou
    {

                 
                   document.getElementById("add").style.visibility='visible';
                   document.getElementById("edit").style.visibility='visible';
                   document.getElementById("delete").style.visibility='visible';  
                   document.getElementById("refresh").style.visibility='visible';
                   document.getElementById("gp").style.visibility='hidden';
                    document.getElementById("usr").style.visibility='hidden';
                     document.getElementById("editUserGp").style.visibility='hidden';
                    op = 2;
   
    }
    else if(id.trim()=="1"||id.trim()==1) //右键example
{ //增加ou


           document.getElementById("add").style.visibility='visible';
                   document.getElementById("edit").style.visibility='visible';
                   document.getElementById("delete").style.visibility='visible';  
                   document.getElementById("refresh").style.visibility='visible';
                   document.getElementById("gp").style.visibility='hidden';
                   document.getElementById("usr").style.visibility='hidden';
                   document.getElementById("editUserGp").style.visibility='hidden';
   
         op = 4;
   
    }
    else  {    //右键组
               
          document.getElementById("add").style.visibility='visible';
                 document.getElementById("edit").style.visibility='visible';
                 document.getElementById("delete").style.visibility='visible';  
                 document.getElementById("refresh").style.visibility='visible';
                 document.getElementById("gp").style.visibility='visible';
                 document.getElementById("usr").style.visibility='hidden';
          document.getElementById("editUserGp").style.visibility='hidden';
       op = 3;
   
    }


*/
//if (pid=="1"||pid=="0")
//{


//}else
//{

//}

return  true;//isParentNode;
};
var jqueryDtree = new dTree('jqueryDtree');
jqueryDtree.config.target = "mainFrame";
jqueryDtree.config.folderLinks=true;
jqueryDtree.add(0,-1,' ');
jqueryDtree.add(1,0,'loccaldomain','/userMSys/message.jsp','','','/userMSys/dtree/img/GenericDirectory_small.png','/userMSys/dtree/img/GenericDirectory_small.png');
<%User user=(User)session.getAttribute(UserStatics.USRKEY);
if(user!=null){
int rigth=user.getRight();
if(rigth==1){
%>
jqueryDtree.add(2,0,"<s:text name='password.policy'/>",'/userMSys/policy/form.action','','','/userMSys/dtree/img/GenericDirectory_small.png','/userMSys/dtree/img/GenericDirectory_small.png');
jqueryDtree.add(3,0,"<s:text name='system'/>",'/userMSys/appAction.action','','','/userMSys/dtree/img/GenericDirectory_small.png','/userMSys/dtree/img/GenericDirectory_small.png');

<%
}

}
%>



<%//start
List<JspBean> beanList = (List<JspBean>)
    ActionContext.getContext().getValueStack().findValue("topOu");
%>
<%
if(null != beanList && beanList.size() > 0){
for(JspBean bean : beanList){
%>
jqueryDtree.add(<%=bean.getId() %>,<%=bean.getPid() %>,'<%=bean.getName() %>',
'showChildren.action?ouId=<%=bean.getId() %>',
'','','/userMSys/dtree/img/folder.gif','/userMSys/dtree/img/folderopen.gif');
<%
}
}
%>
    $().ready(function() {

      $('a').contextMenu('jqueryDtreeMenu', {
onContextMenu: function(e) {
  var nodeId = $(e.target).attr('id').substr(jqueryDtree.obj.length+1);
  
// alert("nodeId:"+ $(e.target).attr('id'));
// alert(this.aNodes[nodeId].pid)
  
          if(jqueryDtree.isParentNode(nodeId))
  {
  return true;
  }else return false;
        },
        bindings: {

          'add': function(t) {
         
          if(pid==0){
parent.frames["mainFrame"].location="/userMSys/create_ou.action";
}else{
parent.frames["mainFrame"].location="/userMSys/create_childou.action?id="+id;
}
          },
          'edit': function(t) {

parent.frames["mainFrame"].location="/userMSys/getOuAction.action?id="+id;

   },         
          'delete': function(t) {

            Ext.onReady(function(){
  Ext.Msg.confirm("","<s:text name='menu_tip'/>",function(btn){   
                    if(btn=='yes'){   
                        //发送删除请求   
                      /* Ext.lib.Ajax.request('get','/userMSys/de11lAction.action?id='+id,{   
                               success:function(form,action){   
                                parent.frames["leftFrame"].location="/userMSys/list/doMain.action"
                                alert(action.result);
                                var t = action.result.msg;
                                    alert(t);
                               },
                               failure:function(form,action){
                                    Ext.Msg.alert('错误','无法删除信息,请检查是否有内容!');   
                               }   
                            }  
                           
                        ); */  
                        
                         Ext.Ajax.request({   
url:'/userMSys/delAction.action?id='+id+'&pid='+pid,   
scope:this,   
sync:true,
success:function(response,options){
var json= Ext.util.JSON.decode(response.responseText);
                                 var res=json.success;
                             
                             if(res){
                             parent.frames["leftFrame"].location="/userMSys/list/doMain.action";
                             }else{
                             Ext.Msg.alert("<s:text name='menu_error'/>", "<s:text name='menu_info'/>");
                             }
},
failure: function(resp,opts) {
                           var respText = Ext.util.JSON.decode(resp.responseText)
                           
}
});
                    }   
                })  
               
               
               
});
            

          },     
   
          'gp': function(t) {
parent.frames["mainFrame"].location="/userMSys/cnjsp.action?id="+id+"&pid="+pid;
          },
          'usr': function(t) {
        //alert("增加用户");
          parent.frames["mainFrame"].location="/userMSys/nuser/createUserForm.action?ouId="+id;
          },
          'usrALL': function(t) {
            //  批量增加
              
            if(pid==0){
  parent.frames["mainFrame"].location="/userMSys/jsp/user2/addByFile.jsp?ouId="+id;
  }else{
  parent.frames["mainFrame"].location="/userMSys/user/interFileUpload.action?ouId="+id;

  
  }
            },
         
          'refresh': function(t) {
            parent.frames["leftFrame"].location="/userMSys/list/doMain.action";
          }
  
        }

      });
  
    });

  --></script>


</head>

<body bgcolor="#F0FFFF" >
<!--<div id="arrow" class="pulltab" >
<table class="inner">
<tr>
<td id="arr" valign="middle">
4
</td>
</tr>
</table>
</div>

<div id="menubar"
style="HEIGHT: expression(document.body.offsetHeight); WIDTH: 223px">   -->
<div class="dtree">

<!--<p>
<a href="javascript: jqueryDtree.openAll();">
<font color="blue">open
all</font> </a> |
<a href="javascript: jqueryDtree.closeAll();">
<font color="blue">close all</font> </a>
</p>
--><script type="text/javascript">
document.write(jqueryDtree);
</script>
</div>

<div class="contextMenu" id="jqueryDtreeMenu">


<ul>

<li id="add" class="comm">
<img src="${pageContext.request.contextPath }/dtree/create.gif" />
<s:text name='menu_create'/>
</li>
<li id="edit" class="comm">
<img src="${pageContext.request.contextPath }/dtree/edit.gif" />
<s:text name='menu_edit'/>
</li>
<li id="delete" class="comm">
<img src="${pageContext.request.contextPath }/dtree/delete.gif" />
<s:text name='menu_del'/>
</li>
<li id="gp" class="comm">
<img src="${pageContext.request.contextPath }/dtree/groupACL.png" />
<s:text name='menu_group'/>
</li>
<li id="usr" class="comm">
<img src="${pageContext.request.contextPath }/dtree/userACL.png" />
<s:text name='menu_user'/>
</li>
<li id="usrALL" class="comm">
<img src="${pageContext.request.contextPath }/dtree/userACL.png" />
<s:text name='menu_users'/>
</li>
<li id="refresh" class="comm">
<img
src="${pageContext.request.contextPath }/dtree/updateentry.gif" />
<s:text name='menu_load'/>
</li>
</ul>

</div>



<!--</div>-->

</body>
<script type="text/javascript">
function dos()
{

  var mnu = document.getElementById("menubar")

        var arrdiv = document.getElementById("arrow")

        var arrtxt = document.getElementById("arr")


          mnu.style.display = "block"
         
        //  window.parent.document.getElementById("cnt").cols="250,*";
         
          arrdiv.style.pixelLeft = mnu.style.width.substring(0 , mnu.style.width.length - 2)

          arrtxt.innerText = "3";

   
}

//dos();
</script>
</html>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表