Yahoo! UI Library - Tree Control 4 : Tree : GUI Components JAVASCRIPT DHTML TUTORIALS


JAVASCRIPT DHTML TUTORIALS » GUI Components » Tree »

 

Yahoo! UI Library - Tree Control 4



<!doctype html public "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>

<head>
<title>Yahoo! UI Library - Tree Control</title>
<link rel="stylesheet" type="text/css" href="./examples/treeview/css/screen.css">
</head>
  
<body>

<link rel="stylesheet" type="text/css" href="./examples/treeview/css/local/tree.css">

<div id="pageTitle">
    <h3>Tree Control</h3>
</div>

<script type="text/javascript" src="./build/yahoo/yahoo.js" ></script>

<!-- The following are required for the logger -->
<script type="text/javascript" src="./build/event/event.js"></script>
<script type="text/javascript" src="./build/dom/dom.js"></script>
<script type="text/javascript" src="./build/logger/logger.js"></script>
<!-- End logger reqs -->

<script type="text/javascript" src="./build/treeview/treeview-debug.js" ></script>

<style type="text/css">

/* logger default styles */
/* font size is controlled here: default 77% */
#yui-log {position:absolute;top:1em;right:1em;font-size:77%;text-align:left;}
/* width is controlled here: default 31em */
.yui-log {background-color:#AAA;border:1px solid black;font-family:monospace;z-index:9000;}
.yui-log p {margin:1px;padding:.1em;}
.yui-log button {font-family:monospace;}
.yui-log .yui-log-hd {padding:.5em;background-color:#575757;color:#FFF;}
/* height is controlled here: default 20em*/
.yui-log .yui-log-bd {width:100%;height:20em;background-color:#FFF;border:1px solid gray;overflow:auto;}
.yui-log .yui-log-ft {margin-top:.5em;margin-bottom:1em;}
.yui-log .yui-log-ft .yui-log-categoryfilters {}
.yui-log .yui-log-ft .yui-log-sourcefilters {width:100%;border-top:1px solid #575757;margin-top:.75em;padding-top:.75em;}
.yui-log .yui-log-btns {position:relative;float:right;bottom:.25em;}
.yui-log .yui-log-filtergrp {margin-right:.5em;}
.yui-log .info {background-color:#A7CC25;/* A7CC25 green */
.yui-log .warn {background-color:#F58516;/* F58516 orange */
.yui-log .error {background-color:#E32F0B;/* E32F0B red */
.yui-log .time {background-color:#A6C9D7;/* A6C9D7 blue */
.yui-log .window {background-color:#F2E886;/* F2E886 tan */

</style>


<div id="container">
<img class="ylogo" src="./examples/treeview/img/logo.gif" alt="" />
  <div id="containerTop">
    <div id="header">
      <h1>
      
      </h1>
      <h4>&nbsp;</h4>
    </div>
    <div id="main">

<div id="rightbar">

<div id="rightBarPad">
<h3>Examples</h3>

    <script type="text/javascript">
    YAHOO.example.logApp = function() {
        var divId;
        return {
            init: function(p_divId, p_toggleElId, p_clearElId) {
                divId = p_divId
            },

            onload: function() {
                if (YAHOO.widget.Logger) {
                    new YAHOO.widget.LogReader"logDiv"height: "400px" } );
                }
            }
        };
    } ()

    YAHOO.util.Event.on(window, "load", YAHOO.example.logApp.onload);

    </script>

    <div id="logDiv"></div>

    
</div>

</div>


  <div id="content">
    <form name="mainForm" action="javscript:;">
    <div class="newsItem">
      <h3>HTML Node</h3>
      <p>
        
      </p>

      <div id="expandcontractdiv">
        <a href="javascript:tree.expandAll()">Expand all</a>
        <a href="javascript:tree.collapseAll()">Collapse all</a>
      </div>
      <div id="treeDiv1"></div>

    </div>
    </form>
  </div>
    
      <div id="footerContainer">
        <div id="footer">
          <p>&nbsp;</p>
        </div>
      </div>
    </div>
  </div>
</div>


<script type="text/javascript">

var tree;

function treeInit() {
    buildRandomTextNodeTree();
}

function buildRandomTextNodeTree() {
    tree = new YAHOO.widget.TreeView("treeDiv1");

    for (var i = 0; i < Math.floor((Math.random()*43); i++) {
        var tmpNode = new YAHOO.widget.TextNode("label-" + i, tree.getRoot()false);
        buildRandomTextBranch(tmpNode);
        // var tmpNode2 = new YAHOO.widget.HTMLNode("label-" + i, tree.getRoot(), false, true);
        buildRandomTextBranch(tmpNode);
        // buildRandomTextBranch(tmpNode2);
    }

    tree.draw();
}

var callback = null;

function buildRandomTextBranch(node) {
    if (node.depth < 3) {
        YAHOO.log("buildRandomTextBranch: " + node.index);
        for var i = 0; i < Math.floor(Math.random() 4; i++ ) {
            tmpNode = new YAHOO.widget.TextNode(node.label + "-" + i, node, false);
            // tmpNode2 = new YAHOO.widget.HTMLNode(node.html + "-" + i, node, false, true);
            // if (node.depth == 2) {
                buildRandomHTMLBranch(tmpNode);
                // buildRandomHTMLBranch(tmpNode2);
            // } else {
                // buildRandomTextBranch(tmpNode);
            // }
        }
    }
}

var counter = 0;
function buildRandomHTMLBranch(node) {
    YAHOO.log("buildRandomHTMLBranch: " + node.index);

    var id = "htmlnode_" + counter++;

    var html '<div id="' + id + '"' + 
                ' onmouseover="enableDragDrop(this, '' + id + '')"' + 
                ' style="border:1px solid #aaaaaa; ' +
                ' position:relative; ' +
                ' height:100px; width:200px; ' +
                ' margin-bottom:10px; ' +
                ' background-color: #c5dbfc">' +
                'Info ' + id + '</div>';

    // new YAHOO.widget.HTMLNode(html, node, false, true);
    new YAHOO.widget.HTMLNode(html, node, false, false);
}

function enableDragDrop(el, id) {
    new YAHOO.util.DD(id);
    el.onmouseover = null;
}

YAHOO.util.Event.addListener(window, "load", treeInit);

</script>

</body>
</html>
 


           
       

Download : Download nav_yui.zip nav_yui.zip


-

Leave a Comment / Note


 
Verification is used to prevent unwanted posts (spam). .

Follow Navioo On Twitter

JAVASCRIPT DHTML TUTORIALS

 Navioo GUI Components
» Tree