<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FPage_Components%2FSyntax_Highlighter</id>
		<title>JavaScript DHTML/Page Components/Syntax Highlighter - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FPage_Components%2FSyntax_Highlighter"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Page_Components/Syntax_Highlighter&amp;action=history"/>
		<updated>2026-04-05T08:46:48Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Page_Components/Syntax_Highlighter&amp;diff=3562&amp;oldid=prev</id>
		<title> в 10:00, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Page_Components/Syntax_Highlighter&amp;diff=3562&amp;oldid=prev"/>
				<updated>2010-05-26T10:00:10Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 10:00, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Page_Components/Syntax_Highlighter&amp;diff=3563&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Page_Components/Syntax_Highlighter&amp;diff=3563&amp;oldid=prev"/>
				<updated>2010-05-26T07:26:25Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Php syntax, highlighted, toogle enabled, resize enabled and default toolbar.==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;A href=&amp;quot;http://www.wbex.ru/Code/JavaScriptDownload/editarea_0_5_2.zip&amp;quot;&amp;gt;editarea_0_5_2.zip( 156 k)&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. &lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Page-Components/SyntaxHighlighterinJavaScript.htm&amp;quot;&amp;gt;Syntax Highlighter in JavaScript&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Page-Components/SyntaxHighlighterinJavaScript.htm&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
2. &lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Page-Components/SyntaxHighlightingEditorinJavascript.htm&amp;quot;&amp;gt;Syntax Highlighting Editor in Javascript&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Page-Components/SyntaxHighlightingEditorinJavascript.htm&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Syntax Highlighter in JavaScript==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;&amp;lt;head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=ISO-8859-1&amp;quot;&amp;gt;&amp;lt;!--Yahoo! User Interface Library: http://twiki.corp.yahoo.ru/view/Devel/PresentationPlatform--&amp;gt;&amp;lt;!--Begin YUI CSS infrastructure, including Standard Reset, Standard Fonts, and CSS Page Grids --&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;./build/fonts/fonts.css&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;./build/grids/grids.css&amp;quot;&amp;gt;&amp;lt;!--end YUI CSS infrastructure--&amp;gt;&amp;lt;!--begin YUIL Utilities --&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;./build/yahoo/yahoo.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;./build/event/event.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;./build/treeview/treeview.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;./examples/treeview/css/code.css&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;./examples/treeview/css/local/tree.css&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
/*create namespace for examples:*/&lt;br /&gt;
YAHOO.namespace(&amp;quot;example&amp;quot;);&lt;br /&gt;
/* Using Crockford&amp;quot;s &amp;quot;Module Pattern&amp;quot;: */&lt;br /&gt;
YAHOO.example.treeExample = function() {&lt;br /&gt;
  var tree, currentIconMode;&lt;br /&gt;
    function changeIconMode() {&lt;br /&gt;
        var newVal = parseInt(this.value);&lt;br /&gt;
        if (newVal != currentIconMode) {&lt;br /&gt;
            currentIconMode = newVal;&lt;br /&gt;
        }&lt;br /&gt;
        buildTree();&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    function loadNodeData(node, fnLoadComplete) {&lt;br /&gt;
      //We&amp;quot;ll randomize our loader with stock data; in many implementations,&lt;br /&gt;
      //this step would be replaced with an XMLHttpRequest call to the server&lt;br /&gt;
      //for more data.&lt;br /&gt;
      &lt;br /&gt;
      //Array of India&amp;quot;s States&lt;br /&gt;
      var aStates = [&amp;quot;Andhra Pradesh&amp;quot;,&amp;quot;Arunachal Pradesh&amp;quot;,&amp;quot;Assam&amp;quot;,&amp;quot;Bihar&amp;quot;,&amp;quot;Chhattisgarh&amp;quot;,&amp;quot;Goa&amp;quot;,&amp;quot;Gujarat&amp;quot;,&amp;quot;Haryana&amp;quot;,&amp;quot;Himachal Pradesh&amp;quot;,&amp;quot;Jammu and Kashmir&amp;quot;,&amp;quot;Jharkhand&amp;quot;,&amp;quot;Karnataka&amp;quot;,&amp;quot;Kerala&amp;quot;,&amp;quot;Madhya Pradesh&amp;quot;,&amp;quot;Maharashtra&amp;quot;,&amp;quot;Manipur&amp;quot;,&amp;quot;Meghalaya&amp;quot;,&amp;quot;Mizoram&amp;quot;,&amp;quot;Nagaland&amp;quot;,&amp;quot;Orissa&amp;quot;,&amp;quot;Punjab&amp;quot;,&amp;quot;Rajasthan&amp;quot;,&amp;quot;Sikkim&amp;quot;,&amp;quot;Tamil Nadu&amp;quot;,&amp;quot;Tripura&amp;quot;,&amp;quot;Uttaranchal&amp;quot;,&amp;quot;Uttar&amp;quot;,&amp;quot;Pradesh&amp;quot;,&amp;quot;West Bengal&amp;quot;];&lt;br /&gt;
    &lt;br /&gt;
      //Random number determines whether a node has children&lt;br /&gt;
      var index = Math.round(Math.random()*100);&lt;br /&gt;
      &lt;br /&gt;
      //if our random number is in range, we&amp;quot;ll pretend that this node&lt;br /&gt;
      //has children; here, we&amp;quot;ll indicate that 70% of nodes have&lt;br /&gt;
      //children.&lt;br /&gt;
      if (index&amp;gt;30) {&lt;br /&gt;
        //We&amp;quot;ll use a random number to determine the number of&lt;br /&gt;
        //children for each node:&lt;br /&gt;
        var childCount = (Math.round(Math.random()*5) + 1);&lt;br /&gt;
        &lt;br /&gt;
        //This is important: The primary job of the data loader function&lt;br /&gt;
        //is to determine whether the node has children and then to &lt;br /&gt;
        //actually create the child nodes if they are needed; here, we&amp;quot;ll&lt;br /&gt;
        //loop through to create each child node:&lt;br /&gt;
        for (var i=0; i&amp;lt;childCount; i++) {&lt;br /&gt;
          thisState = aStates[Math.round(Math.random()*27)];&lt;br /&gt;
          var newNode = new YAHOO.widget.TextNode(thisState, node, false);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      //When we&amp;quot;re done creating child nodes, we execute the node&amp;quot;s&lt;br /&gt;
      //loadComplete callback method which comes in as our loader&amp;quot;s&lt;br /&gt;
      //second argument (we could also access it at node.loadComplete,&lt;br /&gt;
      //if necessary):&lt;br /&gt;
      fnLoadComplete();&lt;br /&gt;
    }&lt;br /&gt;
        function buildTree() {&lt;br /&gt;
       //create a new tree:&lt;br /&gt;
       tree = new YAHOO.widget.TreeView(&amp;quot;treeContainer&amp;quot;);&lt;br /&gt;
       &lt;br /&gt;
       //turn dynamic loading on for entire tree:&lt;br /&gt;
       tree.setDynamicLoad(loadNodeData, currentIconMode);&lt;br /&gt;
       &lt;br /&gt;
       //get root node for tree:&lt;br /&gt;
       var root = tree.getRoot();&lt;br /&gt;
       &lt;br /&gt;
       //add child nodes for tree:&lt;br /&gt;
       var tmpNode1 = new YAHOO.widget.TextNode(&amp;quot;First Node&amp;quot;, root, false);&lt;br /&gt;
       var tmpNode2 = new YAHOO.widget.TextNode(&amp;quot;Second Node&amp;quot;, root, false);&lt;br /&gt;
       var tmpNode3 = new YAHOO.widget.TextNode(&amp;quot;Third Node&amp;quot;, root, false);&lt;br /&gt;
       var tmpNode4 = new YAHOO.widget.TextNode(&amp;quot;Fourth Node&amp;quot;, root, false);&lt;br /&gt;
       var tmpNode5 = new YAHOO.widget.TextNode(&amp;quot;Fifth Node&amp;quot;, root, false);&lt;br /&gt;
       &lt;br /&gt;
       //render tree with these five nodes; all descendants of these nodes&lt;br /&gt;
       //will be generated as needed by the dynamic loader.&lt;br /&gt;
       tree.draw();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  return {&lt;br /&gt;
    init: function() {&lt;br /&gt;
            YAHOO.util.Event.on([&amp;quot;mode0&amp;quot;, &amp;quot;mode1&amp;quot;], &amp;quot;click&amp;quot;, changeIconMode);&lt;br /&gt;
            var el = document.getElementById(&amp;quot;mode1&amp;quot;);&lt;br /&gt;
            if (el &amp;amp;&amp;amp; el.checked) {&lt;br /&gt;
                currentIconMode = parseInt(el.value);&lt;br /&gt;
            } else {&lt;br /&gt;
                currentIconMode = 0;&lt;br /&gt;
            }&lt;br /&gt;
            buildTree();&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
} ();&lt;br /&gt;
YAHOO.util.Event.addListener(window, &amp;quot;load&amp;quot;, YAHOO.example.treeExample.init, YAHOO.example.treeExample,true)&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Dynamic TreeView Example&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body id=&amp;quot;yahoo&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- id: optional property or feature signature --&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;doc&amp;quot; class=&amp;quot;yui-t5&amp;quot;&amp;gt;&amp;lt;!-- possible values: t1, t2, t3, t4, t5, t6, t7 --&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;hd&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;TreeView Example&amp;lt;/h1&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;bd&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- start: primary column from outer template --&amp;gt;&lt;br /&gt;
    &amp;lt;div id=&amp;quot;yui-main&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;quot;yui-b&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;In&lt;br /&gt;
this example, the TreeView control&amp;quot;s dyamic loading functionality is&lt;br /&gt;
explored. Dynamic loading of child nodes allows you to optmize&lt;br /&gt;
performance by only loading data for and creating the nodes that will&lt;br /&gt;
be visible when the tree is rendered. Nodes that are not expanded when&lt;br /&gt;
the Tree&amp;quot;s draw method is invoked are left childless in the initial&lt;br /&gt;
state. When such a node is expanded (either by user action or by&lt;br /&gt;
script), a dynamic loader function is called. That function has three&lt;br /&gt;
important roles:&amp;lt;/p&amp;gt;&lt;br /&gt;
        &amp;lt;ol&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Check for child nodes:&amp;lt;/strong&amp;gt;&lt;br /&gt;
The dynamic loader function will check for child nodes by evaluating&lt;br /&gt;
in-page data (for example, data held in a JavaScript array or object)&lt;br /&gt;
or by retrieving data about the expanding node from the server via&lt;br /&gt;
XMLHttpRequest. In the example on this page, an in-page random list&lt;br /&gt;
generator is used to generate the Tree structure. &amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Add child nodes, if present:&amp;lt;/strong&amp;gt;&lt;br /&gt;
If it determines that child node&amp;quot;s are present for the expanding node,&lt;br /&gt;
the dynamic loader must add those child nodes to the Tree instance.&lt;br /&gt;
Because these nodes are only added when needed, the overall complexity&lt;br /&gt;
of the Tree&amp;quot;s complexity (in JavaScript and in the DOM) is reduced and&lt;br /&gt;
its initial render time is much faster.&amp;lt;/li&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Invoke the expanding node&amp;quot;s callback method:&amp;lt;/strong&amp;gt;&lt;br /&gt;
Once the dynamic loader method determines whether the expanding node&lt;br /&gt;
has children (and adds any children that may be present), it must&lt;br /&gt;
notify the expanding node&amp;quot;s object that dynamic loading is complete. It&lt;br /&gt;
does this via a callback method which is passed into the dynamic loader&lt;br /&gt;
as an argument.&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ol&amp;gt;&lt;br /&gt;
        &amp;lt;h3&amp;gt;Creating a Dynamic Loader Method&amp;lt;/h3&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;In&lt;br /&gt;
this example, our dynamic loader method will accomplish its first task&lt;br /&gt;
(checking for child nodes) by using a random number generator; we&amp;quot;ll&lt;br /&gt;
specify that roughly 70% of our nodes have children. When there are&lt;br /&gt;
children present, there will be children will between one and six&lt;br /&gt;
children (also randomly enumerated) whose labels are drawn from an&lt;br /&gt;
array of Indian states.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Our method, which we&amp;quot;ll call &amp;lt;code&amp;gt;loadNodeData&amp;lt;/code&amp;gt;, will be&lt;br /&gt;
passed two arguments by the Tree instance when called: The first is a&lt;br /&gt;
reference to the expanding node&amp;quot;s node object; the second is the&lt;br /&gt;
callback method that we need to call when we&amp;quot;re done adding children to&lt;br /&gt;
the expanding node. The method as it appears on this page (only the&lt;br /&gt;
array of state names has been truncated) follows, with comments&lt;br /&gt;
glossing each step:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;textarea name=&amp;quot;code&amp;quot; class=&amp;quot;JScript&amp;quot; cols=&amp;quot;60&amp;quot; rows=&amp;quot;1&amp;quot;&amp;gt;loadNodeData: function(node, fnLoadComplete) {&lt;br /&gt;
  //Array of India&amp;quot;s States&lt;br /&gt;
  var aStates = [&amp;quot;Andhra Pradesh&amp;quot;,&lt;br /&gt;
    &amp;quot;Arunachal Pradesh&amp;quot;,&amp;quot;Assam&amp;quot;,&lt;br /&gt;
    ...&lt;br /&gt;
    ];&lt;br /&gt;
  //Random number determines whether a node has children&lt;br /&gt;
  var index = Math.round(Math.random()*100);&lt;br /&gt;
  &lt;br /&gt;
  //if our random number is in range, we&amp;quot;ll pretend that this node&lt;br /&gt;
  //has children; here, we&amp;quot;ll indicate that 70% of nodes have&lt;br /&gt;
  //children.&lt;br /&gt;
  if (index&amp;amp;gt;30) {&lt;br /&gt;
    //We&amp;quot;ll use a random number to determine the number of&lt;br /&gt;
    //children for each node:&lt;br /&gt;
    var childCount = (Math.round(Math.random()*5) + 1);&lt;br /&gt;
    &lt;br /&gt;
    //This is important: The primary job of the data loader function&lt;br /&gt;
    //is to determine whether the node has children and then to &lt;br /&gt;
    //actually create the child nodes if they are needed; here, we&amp;quot;ll&lt;br /&gt;
    //loop through to create each child node:&lt;br /&gt;
    for (var i=0; i&amp;amp;lt;childCount; i++) {&lt;br /&gt;
      thisState = aStates[Math.round(Math.random()*27)];&lt;br /&gt;
      var newNode = new YAHOO.widget.TextNode(thisState, node, false);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
      &lt;br /&gt;
  //When we&amp;quot;re done creating child nodes, we execute the node&amp;quot;s&lt;br /&gt;
  //loadComplete callback method which comes in as our loader&amp;quot;s&lt;br /&gt;
  //second argument (we could also access it at node.loadComplete,&lt;br /&gt;
  //if necessary):&lt;br /&gt;
  fnLoadComplete();&lt;br /&gt;
}&amp;lt;/textarea&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
        &amp;lt;h3&amp;gt;Setting Up the Tree Instance and Configuring It for Dynamic Loading&amp;lt;/h3&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;Creating&lt;br /&gt;
the initial state of a Tree object that will be configured for dynamic&lt;br /&gt;
loading is no different than for non-dynamic Tree instances &amp;amp;#8212; use the&lt;br /&gt;
Tree constructor to create your new instance:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;textarea name=&amp;quot;code&amp;quot; class=&amp;quot;JScript&amp;quot; cols=&amp;quot;60&amp;quot; rows=&amp;quot;1&amp;quot;&amp;gt;//create a new tree:&lt;br /&gt;
tree = new YAHOO.widget.TreeView(&amp;quot;treeContainer&amp;quot;);&amp;lt;/textarea&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In the example on this page, the entire tree is configured for&lt;br /&gt;
dynamic loading. That will result in all nodes having their children&lt;br /&gt;
populated by the dynamic loader method when they are expanded for the&lt;br /&gt;
first time. (You can also choose to specify individual nodes and their&lt;br /&gt;
descendants as being dynamically loaded.) To the Tree instance for&lt;br /&gt;
dynamic loading, merely pass the instance&amp;quot;s &amp;lt;code&amp;gt;setDynamicLoad&amp;lt;/code&amp;gt; method a reference to your dynamic loader method:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;textarea name=&amp;quot;code&amp;quot; class=&amp;quot;JScript&amp;quot; cols=&amp;quot;60&amp;quot; rows=&amp;quot;1&amp;quot;&amp;gt;//turn dynamic loading on for entire tree:&lt;br /&gt;
tree.setDynamicLoad(this.loadNodeData);&lt;br /&gt;
&amp;lt;/textarea&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Having created a Tree instance and configured it for dynamic&lt;br /&gt;
loading, we can now add the tree&amp;quot;s top-level nodes and then render the&lt;br /&gt;
Tree via its &amp;lt;code&amp;gt;draw&amp;lt;/code&amp;gt; method:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;textarea name=&amp;quot;code&amp;quot; class=&amp;quot;JScript&amp;quot; cols=&amp;quot;60&amp;quot; rows=&amp;quot;1&amp;quot;&amp;gt;//add child nodes for tree:&lt;br /&gt;
var tmpNode1 = new YAHOO.widget.TextNode(&amp;quot;First Node&amp;quot;, root, false);&lt;br /&gt;
var tmpNode2 = new YAHOO.widget.TextNode(&amp;quot;Second Node&amp;quot;, root, false);&lt;br /&gt;
var tmpNode3 = new YAHOO.widget.TextNode(&amp;quot;Third Node&amp;quot;, root, false);&lt;br /&gt;
var tmpNode4 = new YAHOO.widget.TextNode(&amp;quot;Fourth Node&amp;quot;, root, false);&lt;br /&gt;
var tmpNode5 = new YAHOO.widget.TextNode(&amp;quot;Fifth Node&amp;quot;, root, false);&lt;br /&gt;
//render tree with these five nodes; all descendants of these nodes&lt;br /&gt;
//will be generated as needed by the dynamic loader.&lt;br /&gt;
tree.draw();&lt;br /&gt;
&amp;lt;/textarea&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;With that, our tree renders on the page, showing its five top-level&lt;br /&gt;
nodes. As the user interacts with the tree, child nodes will be added&lt;br /&gt;
and displayed based on the output of the &amp;lt;code&amp;gt;loadNodeData&amp;lt;/code&amp;gt; method.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Childless Node Style&amp;lt;/h3&amp;gt;&amp;lt;p&amp;gt;There are two built-in visual treatments for&lt;br /&gt;
childless nodes.  Before a dynamically loaded node is expanded, its icon&lt;br /&gt;
indicates that it can be expanded &amp;amp;mdash; this reflects the possibility that&lt;br /&gt;
the dynamic loader will find and populate children for that node if it is&lt;br /&gt;
expanded.  However, once the Tree determines that a node has no children, it&lt;br /&gt;
can reflect the childless state either through the &amp;quot;expanded&amp;quot; icon (&amp;lt;img&lt;br /&gt;
        src=&amp;quot;&amp;quot;&amp;gt;) or by omitting the icon entirely.  In this example, we&amp;quot;ve&lt;br /&gt;
added a control that enables you to experiment with each setting to explore its&lt;br /&gt;
visual impact&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;The default visual treatment for a childless node is the&lt;br /&gt;
&amp;quot;expanded&amp;quot; icon.  To change this setting, pass a second argument to your&lt;br /&gt;
&amp;lt;code&amp;gt;setDynamicLoad&amp;lt;/code&amp;gt; method &amp;amp;mdash; pass a value of &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; to&lt;br /&gt;
use the iconless visual treatment.&amp;lt;/p&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;!-- end: primary column&lt;br /&gt;
from outer template --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
        &amp;lt;!-- start: secondary column from outer template --&amp;gt; &amp;lt;div&lt;br /&gt;
        class=&amp;quot;yui-b&amp;quot;&amp;gt; &amp;lt;h3&amp;gt;Dynamically Loaded TreeView:&amp;lt;/h3&amp;gt; &amp;lt;div&lt;br /&gt;
        id=&amp;quot;treeContainer&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;h3&amp;gt;Childless Node Style:&amp;lt;/h3&amp;gt; &amp;lt;dd&amp;gt; &amp;lt;label&amp;gt;&lt;br /&gt;
        &amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;mode0&amp;quot; name=&amp;quot;mode&amp;quot; value =&amp;quot;0&amp;quot; checked /&amp;gt;&lt;br /&gt;
        Expand/Collapse &amp;lt;/label&amp;gt; &amp;lt;/dd&amp;gt; &amp;lt;dd&amp;gt; &amp;lt;label&amp;gt; &amp;lt;input type=&amp;quot;radio&amp;quot;&lt;br /&gt;
        id=&amp;quot;mode1&amp;quot; name=&amp;quot;mode&amp;quot; value =&amp;quot;1&amp;quot; /&amp;gt; Leaf Node &amp;lt;/label&amp;gt; &amp;lt;/dd&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;!-- end: secondary column from outer template --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;/div&amp;gt; &amp;lt;div id=&amp;quot;ft&amp;quot;&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;script&lt;br /&gt;
    src=&amp;quot;./examples/treeview/js/dpSyntaxHighlighter.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt; &amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
    dp.SyntaxHighlighter.HighlightAll(&amp;quot;code&amp;quot;); &amp;lt;/script&amp;gt; &amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&amp;lt;A href=&amp;quot;http://www.wbex.ru/Code/JavaScriptDownload/yui.zip&amp;quot;&amp;gt;yui.zip( 3,714 k)&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Syntax Highlighting Editor in Javascript==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;A href=&amp;quot;http://www.wbex.ru/Code/JavaScriptDownload/helene.zip&amp;quot;&amp;gt;helene.zip( 24 k)&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. &lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Page-Components/SyntaxHighlighterinJavaScript.htm&amp;quot;&amp;gt;Syntax Highlighter in JavaScript&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Page-Components/SyntaxHighlighterinJavaScript.htm&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
2. &lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Page-Components/Phpsyntaxhighlightedtoogleenabledresizeenabledanddefaulttoolbar.htm&amp;quot;&amp;gt;Php syntax, highlighted, toogle enabled, resize enabled and default toolbar.&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;A href=&amp;quot;/Code/JavaScript/Page-Components/Phpsyntaxhighlightedtoogleenabledresizeenabledanddefaulttoolbar.htm&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>