webgui/www/extras/yui/docs/treeview/overview-summary-HTMLNode.js.html
JT Smith 4f68a0933c added YUI and YUI-ext
fixed the resizable text area with IE problem
fixed the ad space with IE problem
merged the 7.2.0 and 7.1.4 change logs
2006-11-07 23:15:57 +00:00

379 lines
12 KiB
HTML

<html>
<head>
<!--<title>YUI API - HTMLNode.js</title>-->
<!--<title>YUI API - HTMLNode.js </title>-->
<title>API: TreeView overview-summary-HTMLNode.js.html (YUI Library)</title>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
<h1>Yahoo! UI Library</h1>
<h3><a href="./index.html">TreeView</a></h3>
<div class="breadcrumbs">
<a href="./index.html">TreeView</a>
&gt;
<strong>HTMLNode.js</strong>
</div>
</div>
<div id="body">
<div class="nav">
<div class="module resources">
<ul class="content">
<li><a href="overview-tree.html">Tree View</a></li>
<li><a href="index-all.html">Element Index</a></li>
</ul>
</div>
<div class="module">
<h4><a href="./allclasses-noframe.html">Classes</a></h4>
<ul class="content">
<li>
<a href="YAHOO.widget.html">
YAHOO.widget</a>
</li>
<li>
<a href="YAHOO.widget.HTMLNode.html">
YAHOO.widget.HTMLNode</a>
</li>
<li>
<a href="YAHOO.widget.MenuNode.html">
YAHOO.widget.MenuNode</a>
</li>
<li>
<a href="YAHOO.widget.Node.html">
YAHOO.widget.Node</a>
</li>
<li>
<a href="YAHOO.widget.RootNode.html">
YAHOO.widget.RootNode</a>
</li>
<li>
<a href="YAHOO.widget.TextNode.html">
YAHOO.widget.TextNode</a>
</li>
<li>
<a href="YAHOO.widget.TreeView.html">
YAHOO.widget.TreeView</a>
</li>
<li>
<a href="YAHOO.widget.TVAnim.html">
YAHOO.widget.TVAnim</a>
</li>
<li>
<a href="YAHOO.widget.TVFadeIn.html">
YAHOO.widget.TVFadeIn</a>
</li>
<li>
<a href="YAHOO.widget.TVFadeOut.html">
YAHOO.widget.TVFadeOut</a>
</li>
</ul>
</div>
<div class="module">
<h4><a href="./overview-summary.html">Files</a></h4>
<ul class="content">
<li>
<a href="overview-summary-HTMLNode.js.html">
HTMLNode.js</a>
</li>
<li>
<a href="overview-summary-MenuNode.js.html">
MenuNode.js</a>
</li>
<li>
<a href="overview-summary-Node.js.html">
Node.js</a>
</li>
<li>
<a href="overview-summary-RootNode.js.html">
RootNode.js</a>
</li>
<li>
<a href="overview-summary-TextNode.js.html">
TextNode.js</a>
</li>
<li>
<a href="overview-summary-TreeView.js.html">
TreeView.js</a>
</li>
<li>
<a href="overview-summary-TVAnim.js.html">
TVAnim.js</a>
</li>
<li>
<a href="overview-summary-TVFadeIn.js.html">
TVFadeIn.js</a>
</li>
<li>
<a href="overview-summary-TVFadeOut.js.html">
TVFadeOut.js</a>
</li>
</ul>
</div>
</div>
<div class="main">
<h2>HTMLNode.js</h2>
<div class="meta">
</div>
<div class="quick-links">
<strong>Quick Links:</strong>&nbsp;
<a href="#classSummary">Class Summary</a> |
<a href="#source">Source Code</a>
</div>
<div class="section class summaries">
<h3><a name="classSummary">Class Summary</a> <span class="top">[<a href="#top">top</a>]</span></h3>
<div class="content">
<table border="1" cellpadding="3" cellspacing="0">
<tr>
<td class="name">
<a href="YAHOO.widget.HTMLNode.html">YAHOO.widget.HTMLNode</a>
</td>
<td class="overview">&nbsp;</td>
</tr>
</table>
</div>
</div>
<div class="section source">
<h3><a name="source">Souce Code</a> <span class="top">[<a href="#top">top</a>]</span></h3>
<pre class="sourceview"><span class="comment">/**
* This implementation takes either a string or object for the
* oData argument. If is it a string, we will use it for the display
* of this node (and it can contain any html code). If the parameter
* is an object, we look for a parameter called "html" that will be
* used for this node's display.
*
* <span class="attrib">@extends</span> YAHOO.widget.Node
* <span class="attrib">@constructor</span>
* <span class="attrib">@param</span> oData {object} a string or object containing the data that will
* be used to render this node
* <span class="attrib">@param</span> oParent {YAHOO.widget.Node} this node's parent node
* <span class="attrib">@param</span> expanded {boolean} the initial expanded/collapsed state
* <span class="attrib">@param</span> hasIcon {boolean} specifies whether or not leaf nodes should
* have an icon
*/</span>
YAHOO.widget.HTMLNode = <span class="reserved">function</span>(oData, oParent, expanded, hasIcon) {
<span class="reserved">if</span> (oData) {
<span class="reserved">this</span>.init(oData, oParent, expanded);
<span class="reserved">this</span>.initContent(oData, hasIcon);
}
};
YAHOO.widget.HTMLNode.<span class="reserved">prototype</span> = new YAHOO.widget.Node();
<span class="comment">/**
* The CSS class for the html content container. Defaults to ygtvhtml, but
* can be overridden to provide a custom presentation for a specific node.
*
* <span class="attrib">@type</span> string
*/</span>
YAHOO.widget.HTMLNode.<span class="reserved">prototype</span>.contentStyle = <span class="literal">"ygtvhtml"</span>;
<span class="comment">/**
* The generated id that will contain the data passed in by the implementer.
*
* <span class="attrib">@type</span> string
*/</span>
YAHOO.widget.HTMLNode.<span class="reserved">prototype</span>.contentElId = null;
<span class="comment">/**
* The HTML content to use for this node's display
*
* <span class="attrib">@type</span> string
*/</span>
YAHOO.widget.HTMLNode.<span class="reserved">prototype</span>.content = null;
<span class="comment">/**
* Sets up the node label
*
* <span class="attrib">@param</span> {object} An html string or object containing an html property
* <span class="attrib">@param</span> {boolean} hasIcon determines if the node will be rendered with an
* icon or not
*/</span>
YAHOO.widget.HTMLNode.<span class="reserved">prototype</span>.initContent = <span class="reserved">function</span>(oData, hasIcon) {
<span class="reserved">if</span> (typeof oData == <span class="literal">"string"</span>) {
oData = { html: oData };
}
<span class="reserved">this</span>.html = oData.html;
<span class="reserved">this</span>.contentElId = <span class="literal">"ygtvcontentel"</span> + <span class="reserved">this</span>.index;
<span class="reserved">this</span>.hasIcon = hasIcon;
<span class="comment">/**
* <span class="attrib">@private</span>
*/</span>
<span class="reserved">this</span>.logger = new YAHOO.widget.LogWriter(<span class="reserved">this</span>.toString());
};
<span class="comment">/**
* Returns the outer html element for this node's content
*
* <span class="attrib">@return</span> {HTMLElement} the element
*/</span>
YAHOO.widget.HTMLNode.<span class="reserved">prototype</span>.getContentEl = <span class="reserved">function</span>() {
<span class="reserved">return</span> document.getElementById(<span class="reserved">this</span>.contentElId);
};
<span class="comment">
// overrides YAHOO.widget.Node</span>
YAHOO.widget.HTMLNode.<span class="reserved">prototype</span>.getNodeHtml = <span class="reserved">function</span>() {
<span class="reserved">this</span>.logger.log(<span class="literal">"Generating html"</span>);
var sb = [];
sb[sb.length] = <span class="literal">'&lt;table border="0" cellpadding="0" cellspacing="0"&gt;'</span>;
sb[sb.length] = <span class="literal">'&lt;tr&gt;'</span>;
<span class="reserved">for</span> (i=0;i&lt;<span class="reserved">this</span>.depth;++i) {
sb[sb.length] = <span class="literal">'&lt;td class="'</span> + <span class="reserved">this</span>.getDepthStyle(i) + <span class="literal">'"&gt;&amp;#160;&lt;/td&gt;'</span>;
}
<span class="reserved">if</span> (<span class="reserved">this</span>.hasIcon) {
sb[sb.length] = <span class="literal">'&lt;td'</span>;
sb[sb.length] = <span class="literal">' id="'</span> + <span class="reserved">this</span>.getToggleElId() + <span class="literal">'"'</span>;
sb[sb.length] = <span class="literal">' class="'</span> + <span class="reserved">this</span>.getStyle() + <span class="literal">'"'</span>;
sb[sb.length] = <span class="literal">' onclick="javascript:'</span> + <span class="reserved">this</span>.getToggleLink() + <span class="literal">'"'</span>;
<span class="reserved">if</span> (<span class="reserved">this</span>.hasChildren(true)) {
sb[sb.length] = <span class="literal">' onmouseover="this.className='</span>;
sb[sb.length] = <span class="literal">'YAHOO.widget.TreeView.getNode(\'</span><span class="literal">';
sb[sb.length] = this.tree.id + '</span>\<span class="literal">','</span> + <span class="reserved">this</span>.index + <span class="literal">').getHoverStyle()"'</span>;
sb[sb.length] = <span class="literal">' onmouseout="this.className='</span>;
sb[sb.length] = <span class="literal">'YAHOO.widget.TreeView.getNode(\'</span><span class="literal">';
sb[sb.length] = this.tree.id + '</span>\<span class="literal">','</span> + <span class="reserved">this</span>.index + <span class="literal">').getStyle()"'</span>;
}
sb[sb.length] = <span class="literal">'&gt;&amp;#160;&lt;/td&gt;'</span>;
}
sb[sb.length] = <span class="literal">'&lt;td'</span>;
sb[sb.length] = <span class="literal">' id="'</span> + <span class="reserved">this</span>.contentElId + <span class="literal">'"'</span>;
sb[sb.length] = <span class="literal">' class="'</span> + <span class="reserved">this</span>.contentStyle + <span class="literal">'"'</span>;
sb[sb.length] = <span class="literal">' &gt;'</span>;
sb[sb.length] = <span class="reserved">this</span>.html;
sb[sb.length] = <span class="literal">'&lt;/td&gt;'</span>;
sb[sb.length] = <span class="literal">'&lt;/tr&gt;'</span>;
sb[sb.length] = <span class="literal">'&lt;/table&gt;'</span>;
<span class="reserved">return</span> sb.join(<span class="literal">""</span>);
};
YAHOO.widget.HTMLNode.<span class="reserved">prototype</span>.toString = <span class="reserved">function</span>() {
<span class="reserved">return</span> <span class="literal">"HTMLNode ("</span> + <span class="reserved">this</span>.index + <span class="literal">")"</span>;
};
</pre>
</div>
</div>
</div>
<div id="footer">
<hr />
Copyright &copy; 2004 - 2006 Yahoo! Inc. All rights reserved.
</div>
</body>
</html>