⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 explorer.js

📁 cms是开源的框架
💻 JS
📖 第 1 页 / 共 4 页
字号:
     var theParent = tree.nodes[parentName];

    tree.nodes[nodeName] = new node(id, name, nullUUID, theParent, false, isGrey);

     if ((tree.oldNodes != null) && tree.oldNodes[nodeName] != null) {
         tree.nodes[nodeName].open = tree.oldNodes[nodeName].open;
     }
     if(theParent != null) {
         theParent.childs[theParent.childs.length] = tree.nodes[nodeName];
     }
     if (theParent == null) {
         tree.root = tree.nodes[nodeName];
     }
 }

 /**
  *  reset the tree
  */
 function rT() {
     tree.oldNodes = tree.nodes;
     tree.nodes = new Array();
 }

 /**
  *  open a folder via id
  */
 function openFolder(id){
     var pfad="";
     addHist(window.frames[1].frames[1].frames[0].document.forms[0].url.value);
     window.frames[1].frames[1].frames[0].document.forms[0].url.value="";
    if (id!=tree.root.id){
        do{
            var nodeName='_n'+id;
            pfad="/"+tree.nodes[nodeName].name;
            top.window.frames[1].frames[1].frames[0].document.forms[0].url.value = pfad +top.window.frames[1].frames[1].frames[0].document.forms[0].url.value ;
            id   = tree.nodes[nodeName].parent.id;
            test = tree.nodes[nodeName].parent.id;

        }while(id!=tree.root.id);
    }
     top.window.frames[1].frames[1].frames[0].document.forms.urlform.url.value +='/';
     openurl();
 }

 /**
  *  open a folder via id
  */
 function folderOpen(id){

         while(id!=tree.root.id){
         var nodeName='_n'+id;
        if(tree.nodes[nodeName]){
                if(tree.nodes[nodeName].childs.length>0)tree.nodes[nodeName].open=true;

                id = tree.nodes[nodeName].parent.id;
            }else return;
        }

 }

function openurl(){
	top.window.frames[1].frames[1].frames[1].document.open();
	top.window.frames[1].frames[1].frames[1].document.writeln("<html>");
	top.window.frames[1].frames[1].frames[1].document.writeln("<HEAD><META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=" + top.frames.head.encoding + "\"></HEAD>");
	top.window.frames[1].frames[1].frames[1].document.writeln("<body><center><br><br><br><br><font face=Helvetica size=2>"+vr.langloading+"</center></body></html>");
	top.window.frames[1].frames[1].frames[1].document.close();
    folder=top.window.frames[1].frames[1].frames[0].document.forms.urlform.url.value;
    selectedpage="";
    if(top.window.frames[1].frames[1].frames[0].document.forms.urlform.pageSelect){
    	selectedpage=top.window.frames[1].frames[1].frames[0].document.forms.urlform.pageSelect.value;
    }
    top.window.frames[1].frames[1].frames[1].document.location="explorer_files.html?folder="+folder+"&check="+vi.checksum+"&selPage="+selectedpage;

}


 /**
  *  specifications of a node
  */
 function node(id, name, type, parent, open, isGrey){
    this.id=id;
    this.name=name;
    this.type=type;
    this.parent=parent;
    this.open=open;
    this.childs=new Array();
    this.isGrey=isGrey;
 }

 function dfsToggle(id, node) {
    if (id == node.id) {
        node.open = !node.open;
        tree.dfsToggleFound = true;
        return;
    }

    for (var loop1=0; loop1<node.childs.length; loop1++) {

        dfsToggle(id, node.childs[loop1]);
        if (tree.dfsToggleFound) return;
    }
 }

function toggleNode(doc, id, windowed) {

    tree.dfsToggleFound = false;
    dfsToggle(id, tree.root);
    showTree(doc,windowed);
}

/**
 *  write <img> tag
 */
function showPic(doc, pic) {
    doc.write("<img src='" + pic + "' height=16 width=16 border=0 vspace=0 hspace=0 align=left>");
}

/**
 *  write linked <img> tag, used for open-able folders/crosses in the tree frame
 */
function showPicLink(doc, pic, id,windowed) {
    if(windowed==0) doc.write("<a href=javascript:top.toggleNode(document,'"+ id +"',"+windowed+")><img src='"+ pic +"' height=16 width=16 border=0 vspace=0 hspace=0 align=left></a>");
    if(windowed>0) doc.write("<a href=javascript:window.opener.toggleNode(document,'"+ id +"',"+windowed+")><img src='"+ pic +"' height=16 width=16 border=0 vspace=0 hspace=0 align=left></a>");
}


function dfsTree(doc, node, depth, last, shape,windowed) {
    var loop1;

    if (node.parent==null) {
        showPic(doc, tree.icon[9].src); // rootdir
    } else {
        for (loop1=0; loop1<depth-1; loop1++) {
            if (shape[loop1+1] == 1) {
                showPic(doc, tree.icon[10].src); //vert.line
            } else {
                showPic(doc, tree.icon[0].src); //nothing
            }
        }

        if (last) {
            if (node.childs.length > 0) {
                if (node.open) {
                    //wenn actdir ein child vom knopf ist
                    showPicLink(doc, tree.icon[5].src, node.id,windowed); //corner to close
                } else {
                    showPicLink(doc, tree.icon[7].src, node.id,windowed); //corner to open
                }
            } else {
                showPic(doc, tree.icon[1].src); //corner
            }
            shape[depth] = 0;
        } else {
            if (node.childs.length > 0) {
                if (node.open) {
                    showPicLink(doc, tree.icon[6].src, node.id,windowed); //cross to close
                } else {
                    showPicLink(doc, tree.icon[8].src, node.id,windowed); //cross to open
                }
            } else {
                showPic(doc, tree.icon[4].src); //cross
            }
            shape[depth] = 1;
        }
        if(node.id==vr.actDirId){
            showPic(doc, tree.icon[3].src); //folderopen
        } else {
            showPic(doc, tree.icon[2].src); //foldernormal
        }
    }
    
     if(node.isGrey)var foco="class=ig ";
         else var foco="class=tf ";
     if(windowed==0) doc.writeln("<a "+foco+"href='javascript:top.openFolder(&quot;"+ node.id +"&quot;);' target='explorer_files' ;>&nbsp;"+ node.name + "&nbsp;</a></td></tr><tr valign=bottom><td valign=bottom align=left nowrap>");
     if(windowed==1) doc.writeln("<a "+foco+" href=javascript:window.opener.addProjectDir('"+node.id+"');> &nbsp;"+ node.name + "&nbsp;</a></td></tr><tr valign=bottom><td valign=bottom align=left nowrap>");
     if(windowed==2) doc.writeln("<a "+foco+" href=javascript:window.opener.addDir('"+node.id+"');> &nbsp;"+ node.name + "&nbsp;</a></td></tr><tr valign=bottom><td valign=bottom align=left nowrap>");

    if (node.open || node == tree.root) {
        for (var loop1=0; loop1<node.childs.length; loop1++) {
            dfsTree(doc, node.childs[loop1], depth+1, (loop1==(node.childs.length-1)), shape,windowed);
        }
    }
 }

function addDir(nodid){
    var pfad="";
    if (nodid!=tree.root.id){
        do{
            var nodeName='_n'+nodid;
            pfad=tree.nodes[nodeName].name+"/"+pfad;
            nodid   = tree.nodes[nodeName].parent.id;
            test = tree.nodes[nodeName].parent.id;
        } while(nodid!=tree.root.id);
    }
    pfad='/'+pfad;
    if(window.frames[1].frames[1].frames[1]) {
    	window.frames[1].frames[1].frames[1].document.forms[0].folder.value=pfad;
    } else {
    	window.frames[1].frames[1].document.forms[0].folder.value=pfad;
    }

}

function addProjectDir(nodid){
    var pfad="";
    if (nodid!=tree.root.id){
        do{
            var nodeName='_n'+nodid;
            pfad=tree.nodes[nodeName].name+"/"+pfad;
            nodid   = tree.nodes[nodeName].parent.id;
            test = tree.nodes[nodeName].parent.id;
        } while(nodid!=tree.root.id);
    }
    pfad='/'+pfad;
    window.frames[1].frames[1].document.forms[0].tempFolder.value=pfad;
    if (window.frames[1].frames[1].copySelection) {
        window.frames[1].frames[1].copySelection();
    }
}


function opensmallwin(url, name, w, h) //opens a new window with parameter URL, Windowname (free choosable), width and height
{
    smallwindow = window.open(url, name, 'toolbar=no,location=no,directories=no,status=yes,menubar=0,scrollbars=yes,resizable=yes,top=150,left=660,width='+w+',height='+h);
    if(smallwindow != null)
       {
          if (smallwindow.opener == null)
          {
             smallwindow.opener = self;
          }
        }
    smallwindow.focus();
    return smallwindow;
}


function showWinCopyTree(doc){
    showTree(doc,2);
}

function showWinTree(doc){
    showTree(doc,1);
}

var treewindowexists=false;

function openTreeCopyWin(){
    treewin=opensmallwin('treewindowcopy.html', 'opencms', 170, 300);
    treewindowexists=true;
}

function openTreeWin(){
    treewin=opensmallwin('../../../action/treewindow.html', 'opencms', 170, 300);
    treewindowexists=true;
}

function closeTreeWin(){
    if( treewindowexists==true){
        window.treewin.close();
        treewindowexists=false;
    }
}


/**
 *  displays the tree
 */
function showTree(doc,windowed) {

    var showTreeHead="<html><head>" + 
        "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=" + top.frames.head.encoding + "\">" +
        "<title>opencms explorer tree</title>" +
        "<style type='text/css'> a { text-decoration: none; color: #000000; font-family:arial; font-size:8pt;} a.ig { text-decoration: none; color: silver; font-family:arial; font-size:8pt;} a.tf { text-decoration: none; color: #000000; font-family:MS Sans Serif, Arial, helvetica, sans-serif; font-size:8px;} var a:hover { text-decoration: none; color: #FFFFFF; background:#000066 font-family:arial; font-size:8pt;} body { margin-left:3px; margin-right:0px; margin-top:4px; margin-bottom:0px; margin-height:0px; marginspace:0; margin-top:3px;} </style>" + 
        "</head><body><font face='arial' size=2><table border=0 cellpadding=0 cellspacing=0><tr><td valign=bottom align=left nowrap>";

    var showTreeFoot="</font></TD></TR></table></body></html>";

    doc.open();
    doc.writeln(showTreeHead);

    dfsTree(doc, tree.root, 0, false, new Array(),windowed);
    doc.writeln(showTreeFoot);
    doc.close();
}

 function updateFrame(which, frameurl){
    eval('window.top.'+which+'.location.href="'+frameurl+'"');
 }

 /**
  *  changes a imageobject on mouseover
  */
 function chon(doc, imgID, div){
     var imgEndOn = "_on.gif";
     var imgEndOff = "_off.gif";
     doc.images[imgID].src = vi.iconPath+ imgID + imgEndOn;
 }

 /**
  *  changes a imageobject on mouseout
  */
 function choff(doc, imgID, div){
     var imgEndOn = "_on.gif";
     var imgEndOff = "_off.gif";
     doc.images[imgID].src = vi.iconPath + imgID + imgEndOff;
 }

 /**
  *  moves from /home/tom/ to /home/
  */
 function dirUp(){
     var temp;
     var marke=0;
     var directory=window.frames[1].frames[1].frames[0].document.forms[0].url.value;
     var zaehler=0;
     addHist(window.frames[1].frames[1].frames[0].document.forms[0].url.value);
     var newDir = directory.substring(0, directory.length -1);
     window.frames[1].frames[1].frames[0].document.forms[0].url.value=newDir.substring(0, newDir.lastIndexOf("/")+1);
     if(window.frames[1].frames[1].frames[0].document.forms[0].url.value.length<3)window.frames[1].frames[1].frames[0].document.forms[0].url.value="/";
     openurl();
 }

 /**
  *  displays preloaded pictures in head-frame
  */
 function displayHeadPics(doc){
     bt_back = new Image(16,16);
     bt_back.src = vi.iconPath+'bt_back_off.gif';

     bt_folder = new Image(32,32);
     bt_folder.src = vi.iconPath+'ic_file_folder.gif';

     bt_new = new Image(32,32);
     if(vi.newButtonActive==false || vr.actProject==vr.onlineProject) bt_new.src = vi.iconPath+'bt_new_in.gif';
     else bt_new.src = vi.iconPath+'bt_new_off.gif';

     bt_up = new Image(32,32);
     if(window.frames[1].frames[1].frames[0].document.forms[0].url.value=="/") bt_up.src = vi.iconPath+'bt_up_in.gif';
     else bt_up.src = vi.iconPath+'bt_up_off.gif';

     bt_search = new Image(32,32);
     bt_search.src = vi.iconPath+'bt_search_off.gif';
     
     eval("doc.images[0].src=bt_back.src;");
     eval("doc.images[1].src=bt_up.src;");
     eval("doc.images[2].src=bt_search.src;");
     eval("doc.images[3].src=bt_new.src;");
     eval("doc.images[4].src=bt_folder.src;");
 }

 /**
  *  display "explorer_head" frame

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -