Fix #5681 - fix bootstrap4 detection
[roojs1] / docs / src / Roo_tree_TreeNodeUI.js.html
1 <html><head><title>Roo/tree/TreeNodeUI.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
2  * Based on:
3  * Ext JS Library 1.1.1
4  * Copyright(c) 2006-2007, Ext JS, LLC.
5  *
6  * Originally Released Under LGPL - original licence link has changed is not relivant.
7  *
8  * Fork - LGPL
9  * &lt;script type=&quot;text/javascript&quot;&gt;
10  */
11
12 /**
13  * @class Roo.tree.TreeNodeUI
14  * @constructor
15  * @param {Object} node The node to render
16  * The TreeNode UI implementation is separate from the
17  * tree implementation. Unless you are customizing the tree UI,
18  * you should never have to use this directly.
19  */
20 </span><span class="jsdoc-var">Roo.tree.TreeNodeUI </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">){
21     </span><span class="jsdoc-var">this.node </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">;
22     </span><span class="jsdoc-var">this.rendered </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
23     </span><span class="jsdoc-var">this.animating </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
24     </span><span class="jsdoc-var">this.emptyIcon </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.BLANK_IMAGE_URL</span><span class="jsdoc-syntax">;
25 };
26
27 </span><span class="jsdoc-var">Roo.tree.TreeNodeUI.prototype </span><span class="jsdoc-syntax">= {
28     </span><span class="jsdoc-var">removeChild </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">){
29         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
30             </span><span class="jsdoc-var">this.ctNode.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node.ui.getEl</span><span class="jsdoc-syntax">());
31         }
32     },
33
34     </span><span class="jsdoc-var">beforeLoad </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
35          </span><span class="jsdoc-var">this.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-tree-node-loading&quot;</span><span class="jsdoc-syntax">);
36     },
37
38     </span><span class="jsdoc-var">afterLoad </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
39          </span><span class="jsdoc-var">this.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-tree-node-loading&quot;</span><span class="jsdoc-syntax">);
40     },
41
42     </span><span class="jsdoc-var">onTextChange </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">oldText</span><span class="jsdoc-syntax">){
43         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
44             </span><span class="jsdoc-var">this.textNode.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">;
45         }
46     },
47
48     </span><span class="jsdoc-var">onDisableChange </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">){
49         </span><span class="jsdoc-var">this.disabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">;
50         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">){
51             </span><span class="jsdoc-var">this.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-tree-node-disabled&quot;</span><span class="jsdoc-syntax">);
52         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
53             </span><span class="jsdoc-var">this.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-tree-node-disabled&quot;</span><span class="jsdoc-syntax">);
54         }
55     },
56
57     </span><span class="jsdoc-var">onSelectedChange </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">){
58         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">){
59             </span><span class="jsdoc-var">this.focus</span><span class="jsdoc-syntax">();
60             </span><span class="jsdoc-var">this.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-tree-selected&quot;</span><span class="jsdoc-syntax">);
61         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
62             </span><span class="jsdoc-comment">//this.blur();
63             </span><span class="jsdoc-var">this.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-tree-selected&quot;</span><span class="jsdoc-syntax">);
64         }
65     },
66
67     </span><span class="jsdoc-var">onMove </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tree</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">oldParent</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newParent</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">refNode</span><span class="jsdoc-syntax">){
68         </span><span class="jsdoc-var">this.childIndent </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
69         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
70             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">targetNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">newParent.ui.getContainer</span><span class="jsdoc-syntax">();
71             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">targetNode</span><span class="jsdoc-syntax">){</span><span class="jsdoc-comment">//target not rendered
72                 </span><span class="jsdoc-var">this.holder </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">document.createElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;div&quot;</span><span class="jsdoc-syntax">);
73                 </span><span class="jsdoc-var">this.holder.appendChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.wrap</span><span class="jsdoc-syntax">);
74                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
75             }
76             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">insertBefore </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">refNode </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">refNode.ui.getEl</span><span class="jsdoc-syntax">() : </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
77             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">insertBefore</span><span class="jsdoc-syntax">){
78                 </span><span class="jsdoc-var">targetNode.insertBefore</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.wrap</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">insertBefore</span><span class="jsdoc-syntax">);
79             }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
80                 </span><span class="jsdoc-var">targetNode.appendChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.wrap</span><span class="jsdoc-syntax">);
81             }
82             </span><span class="jsdoc-var">this.node.renderIndent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
83         }
84     },
85
86     </span><span class="jsdoc-var">addClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">){
87         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.elNode</span><span class="jsdoc-syntax">){
88             </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.elNode</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">);
89         }
90     },
91
92     </span><span class="jsdoc-var">removeClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">){
93         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.elNode</span><span class="jsdoc-syntax">){
94             </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.elNode</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">);
95         }
96     },
97
98     </span><span class="jsdoc-var">remove </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
99         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
100             </span><span class="jsdoc-var">this.holder </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">document.createElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;div&quot;</span><span class="jsdoc-syntax">);
101             </span><span class="jsdoc-var">this.holder.appendChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.wrap</span><span class="jsdoc-syntax">);
102         }
103     },
104
105     </span><span class="jsdoc-var">fireEvent </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
106         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.node.fireEvent.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
107     },
108
109     </span><span class="jsdoc-var">initEvents </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
110         </span><span class="jsdoc-var">this.node.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;move&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onMove</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
111         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">E </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.EventManager</span><span class="jsdoc-syntax">;
112         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.anchor</span><span class="jsdoc-syntax">;
113
114         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'_treeui'</span><span class="jsdoc-syntax">);
115
116         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isOpera</span><span class="jsdoc-syntax">){ </span><span class="jsdoc-comment">// opera render bug ignores the CSS
117             </span><span class="jsdoc-var">el.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;text-decoration&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;none&quot;</span><span class="jsdoc-syntax">);
118         }
119
120         </span><span class="jsdoc-var">el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;click&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
121         </span><span class="jsdoc-var">el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;dblclick&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onDblClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
122
123         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.checkbox</span><span class="jsdoc-syntax">){
124             </span><span class="jsdoc-var">Roo.EventManager.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.checkbox</span><span class="jsdoc-syntax">,
125                     </span><span class="jsdoc-var">Roo.isIE </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'click' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'change'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onCheckChange</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
126         }
127
128         </span><span class="jsdoc-var">el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;contextmenu&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onContextMenu</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
129
130         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">icon </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.iconNode</span><span class="jsdoc-syntax">);
131         </span><span class="jsdoc-var">icon.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;click&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
132         </span><span class="jsdoc-var">icon.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;dblclick&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onDblClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
133         </span><span class="jsdoc-var">icon.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;contextmenu&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onContextMenu</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
134         </span><span class="jsdoc-var">E.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.ecNode</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;click&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.ecClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
135
136         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.node.disabled</span><span class="jsdoc-syntax">){
137             </span><span class="jsdoc-var">this.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-tree-node-disabled&quot;</span><span class="jsdoc-syntax">);
138         }
139         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.node.hidden</span><span class="jsdoc-syntax">){
140             </span><span class="jsdoc-var">this.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-tree-node-disabled&quot;</span><span class="jsdoc-syntax">);
141         }
142         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ot </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.node.getOwnerTree</span><span class="jsdoc-syntax">();
143         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ot.enableDD </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">ot.enableDrag </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">ot.enableDrop</span><span class="jsdoc-syntax">;
144         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dd </span><span class="jsdoc-syntax">&amp;&amp; (!</span><span class="jsdoc-var">this.node.isRoot </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">ot.rootVisible</span><span class="jsdoc-syntax">)){
145             </span><span class="jsdoc-var">Roo.dd.Registry.register</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.elNode</span><span class="jsdoc-syntax">, {
146                 </span><span class="jsdoc-var">node</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.node</span><span class="jsdoc-syntax">,
147                 </span><span class="jsdoc-var">handles</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.getDDHandles</span><span class="jsdoc-syntax">(),
148                 </span><span class="jsdoc-var">isHandle</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false
149             </span><span class="jsdoc-syntax">});
150         }
151     },
152
153     </span><span class="jsdoc-var">getDDHandles </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
154         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.iconNode</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.textNode</span><span class="jsdoc-syntax">];
155     },
156
157     </span><span class="jsdoc-var">hide </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
158         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
159             </span><span class="jsdoc-var">this.wrap.style.display </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;none&quot;</span><span class="jsdoc-syntax">;
160         }
161     },
162
163     </span><span class="jsdoc-var">show </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
164         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
165             </span><span class="jsdoc-var">this.wrap.style.display </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">;
166         }
167     },
168
169     </span><span class="jsdoc-var">onContextMenu </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
170         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.node.hasListener</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;contextmenu&quot;</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-var">this.node.getOwnerTree</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.hasListener</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;contextmenu&quot;</span><span class="jsdoc-syntax">)) {
171             </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
172             </span><span class="jsdoc-var">this.focus</span><span class="jsdoc-syntax">();
173             </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;contextmenu&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
174         }
175     },
176
177     </span><span class="jsdoc-var">onClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
178         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dropping</span><span class="jsdoc-syntax">){
179             </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
180             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
181         }
182         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;beforeclick&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) !== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
183             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disabled </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.node.attributes.href</span><span class="jsdoc-syntax">){
184                 </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;click&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
185                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
186             }
187             </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
188             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.disabled</span><span class="jsdoc-syntax">){
189                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
190             }
191
192             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.node.attributes.singleClickExpand </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">this.animating </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.node.hasChildNodes</span><span class="jsdoc-syntax">()){
193                 </span><span class="jsdoc-var">this.node.toggle</span><span class="jsdoc-syntax">();
194             }
195
196             </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;click&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
197         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
198             </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
199         }
200     },
201
202     </span><span class="jsdoc-var">onDblClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
203         </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
204         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.disabled</span><span class="jsdoc-syntax">){
205             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
206         }
207         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.checkbox</span><span class="jsdoc-syntax">){
208             </span><span class="jsdoc-var">this.toggleCheck</span><span class="jsdoc-syntax">();
209         }
210         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.animating </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.node.hasChildNodes</span><span class="jsdoc-syntax">()){
211             </span><span class="jsdoc-var">this.node.toggle</span><span class="jsdoc-syntax">();
212         }
213         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;dblclick&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
214     },
215
216     </span><span class="jsdoc-var">onCheckChange </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
217         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">checked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.checkbox.checked</span><span class="jsdoc-syntax">;
218         </span><span class="jsdoc-var">this.node.attributes.checked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">checked</span><span class="jsdoc-syntax">;
219         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'checkchange'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">checked</span><span class="jsdoc-syntax">);
220     },
221
222     </span><span class="jsdoc-var">ecClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
223         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.animating </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.node.hasChildNodes</span><span class="jsdoc-syntax">()){
224             </span><span class="jsdoc-var">this.node.toggle</span><span class="jsdoc-syntax">();
225         }
226     },
227
228     </span><span class="jsdoc-var">startDrop </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
229         </span><span class="jsdoc-var">this.dropping </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
230     },
231
232     </span><span class="jsdoc-comment">// delayed drop so the click event doesn't get fired on a drop
233     </span><span class="jsdoc-var">endDrop </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
234        </span><span class="jsdoc-var">setTimeout</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
235            </span><span class="jsdoc-var">this.dropping </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
236        }</span><span class="jsdoc-var">.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">), 50);
237     },
238
239     </span><span class="jsdoc-var">expand </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
240         </span><span class="jsdoc-var">this.updateExpandIcon</span><span class="jsdoc-syntax">();
241         </span><span class="jsdoc-var">this.ctNode.style.display </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">;
242     },
243
244     </span><span class="jsdoc-var">focus </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
245         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.node.preventHScroll</span><span class="jsdoc-syntax">){
246             </span><span class="jsdoc-keyword">try</span><span class="jsdoc-syntax">{</span><span class="jsdoc-var">this.anchor.focus</span><span class="jsdoc-syntax">();
247             }</span><span class="jsdoc-keyword">catch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){}
248         }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">Roo.isIE</span><span class="jsdoc-syntax">){
249             </span><span class="jsdoc-keyword">try</span><span class="jsdoc-syntax">{
250                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">noscroll </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.node.getOwnerTree</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getTreeEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom</span><span class="jsdoc-syntax">;
251                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">noscroll.scrollLeft</span><span class="jsdoc-syntax">;
252                 </span><span class="jsdoc-var">this.anchor.focus</span><span class="jsdoc-syntax">();
253                 </span><span class="jsdoc-var">noscroll.scrollLeft </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">;
254             }</span><span class="jsdoc-keyword">catch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){}
255         }
256     },
257
258     </span><span class="jsdoc-var">toggleCheck </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">){
259         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.checkbox</span><span class="jsdoc-syntax">;
260         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">){
261             </span><span class="jsdoc-var">cb.checked </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? !</span><span class="jsdoc-var">cb.checked </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">);
262         }
263     },
264
265     </span><span class="jsdoc-var">blur </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
266         </span><span class="jsdoc-keyword">try</span><span class="jsdoc-syntax">{
267             </span><span class="jsdoc-var">this.anchor.blur</span><span class="jsdoc-syntax">();
268         }</span><span class="jsdoc-keyword">catch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){}
269     },
270
271     </span><span class="jsdoc-var">animExpand </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">){
272         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ct </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.ctNode</span><span class="jsdoc-syntax">);
273         </span><span class="jsdoc-var">ct.stopFx</span><span class="jsdoc-syntax">();
274         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.node.hasChildNodes</span><span class="jsdoc-syntax">()){
275             </span><span class="jsdoc-var">this.updateExpandIcon</span><span class="jsdoc-syntax">();
276             </span><span class="jsdoc-var">this.ctNode.style.display </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">;
277             </span><span class="jsdoc-var">Roo.callback</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">);
278             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
279         }
280         </span><span class="jsdoc-var">this.animating </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
281         </span><span class="jsdoc-var">this.updateExpandIcon</span><span class="jsdoc-syntax">();
282
283         </span><span class="jsdoc-var">ct.slideIn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'t'</span><span class="jsdoc-syntax">, {
284            </span><span class="jsdoc-var">callback </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
285                </span><span class="jsdoc-var">this.animating </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
286                </span><span class="jsdoc-var">Roo.callback</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">);
287             },
288             </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">,
289             </span><span class="jsdoc-var">duration</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.node.ownerTree.duration </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">.25
290         </span><span class="jsdoc-syntax">});
291     },
292
293     </span><span class="jsdoc-var">highlight </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
294         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tree </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.node.getOwnerTree</span><span class="jsdoc-syntax">();
295         </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.wrap</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.highlight</span><span class="jsdoc-syntax">(
296             </span><span class="jsdoc-var">tree.hlColor </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">&quot;C3DAF9&quot;</span><span class="jsdoc-syntax">,
297             {</span><span class="jsdoc-var">endColor</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">tree.hlBaseColor</span><span class="jsdoc-syntax">}
298         );
299     },
300
301     </span><span class="jsdoc-var">collapse </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
302         </span><span class="jsdoc-var">this.updateExpandIcon</span><span class="jsdoc-syntax">();
303         </span><span class="jsdoc-var">this.ctNode.style.display </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;none&quot;</span><span class="jsdoc-syntax">;
304     },
305
306     </span><span class="jsdoc-var">animCollapse </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">){
307         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ct </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.ctNode</span><span class="jsdoc-syntax">);
308         </span><span class="jsdoc-var">ct.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'block'</span><span class="jsdoc-syntax">);
309         </span><span class="jsdoc-var">ct.stopFx</span><span class="jsdoc-syntax">();
310
311         </span><span class="jsdoc-var">this.animating </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
312         </span><span class="jsdoc-var">this.updateExpandIcon</span><span class="jsdoc-syntax">();
313
314         </span><span class="jsdoc-var">ct.slideOut</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'t'</span><span class="jsdoc-syntax">, {
315             </span><span class="jsdoc-var">callback </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
316                </span><span class="jsdoc-var">this.animating </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
317                </span><span class="jsdoc-var">Roo.callback</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">);
318             },
319             </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">,
320             </span><span class="jsdoc-var">duration</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.node.ownerTree.duration </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">.25
321         </span><span class="jsdoc-syntax">});
322     },
323
324     </span><span class="jsdoc-var">getContainer </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
325         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.ctNode</span><span class="jsdoc-syntax">;
326     },
327
328     </span><span class="jsdoc-var">getEl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
329         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.wrap</span><span class="jsdoc-syntax">;
330     },
331
332     </span><span class="jsdoc-var">appendDDGhost </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ghostNode</span><span class="jsdoc-syntax">){
333         </span><span class="jsdoc-var">ghostNode.appendChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.elNode.cloneNode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">));
334     },
335
336     </span><span class="jsdoc-var">getDDRepairXY </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
337         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.lib.Dom.getXY</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.iconNode</span><span class="jsdoc-syntax">);
338     },
339
340     </span><span class="jsdoc-var">onRender </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
341         </span><span class="jsdoc-var">this.render</span><span class="jsdoc-syntax">();
342     },
343
344     </span><span class="jsdoc-var">render </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">bulkRender</span><span class="jsdoc-syntax">){
345         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.attributes</span><span class="jsdoc-syntax">;
346         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">targetNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.parentNode </span><span class="jsdoc-syntax">?
347               </span><span class="jsdoc-var">n.parentNode.ui.getContainer</span><span class="jsdoc-syntax">() : </span><span class="jsdoc-var">n.ownerTree.innerCt.dom</span><span class="jsdoc-syntax">;
348
349         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
350             </span><span class="jsdoc-var">this.rendered </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
351
352             </span><span class="jsdoc-var">this.renderElements</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">targetNode</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">bulkRender</span><span class="jsdoc-syntax">);
353
354             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a.qtip</span><span class="jsdoc-syntax">){
355                </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.textNode.setAttributeNS</span><span class="jsdoc-syntax">){
356                    </span><span class="jsdoc-var">this.textNode.setAttributeNS</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;ext&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;qtip&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a.qtip</span><span class="jsdoc-syntax">);
357                    </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a.qtipTitle</span><span class="jsdoc-syntax">){
358                        </span><span class="jsdoc-var">this.textNode.setAttributeNS</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;ext&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;qtitle&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a.qtipTitle</span><span class="jsdoc-syntax">);
359                    }
360                }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
361                    </span><span class="jsdoc-var">this.textNode.setAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;ext:qtip&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a.qtip</span><span class="jsdoc-syntax">);
362                    </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a.qtipTitle</span><span class="jsdoc-syntax">){
363                        </span><span class="jsdoc-var">this.textNode.setAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;ext:qtitle&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a.qtipTitle</span><span class="jsdoc-syntax">);
364                    }
365                }
366             }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a.qtipCfg</span><span class="jsdoc-syntax">){
367                 </span><span class="jsdoc-var">a.qtipCfg.target </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.id</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.textNode</span><span class="jsdoc-syntax">);
368                 </span><span class="jsdoc-var">Roo.QuickTips.register</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a.qtipCfg</span><span class="jsdoc-syntax">);
369             }
370             </span><span class="jsdoc-var">this.initEvents</span><span class="jsdoc-syntax">();
371             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.node.expanded</span><span class="jsdoc-syntax">){
372                 </span><span class="jsdoc-var">this.updateExpandIcon</span><span class="jsdoc-syntax">();
373             }
374         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
375             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">bulkRender </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">) {
376                 </span><span class="jsdoc-var">targetNode.appendChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.wrap</span><span class="jsdoc-syntax">);
377             }
378         }
379     },
380
381     </span><span class="jsdoc-var">renderElements </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">targetNode</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">bulkRender</span><span class="jsdoc-syntax">)
382     {
383         </span><span class="jsdoc-comment">// add some indent caching, this helps performance when rendering a large tree
384         </span><span class="jsdoc-var">this.indentMarkup </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.parentNode </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">n.parentNode.ui.getChildIndent</span><span class="jsdoc-syntax">() : </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
385         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.getOwnerTree</span><span class="jsdoc-syntax">();
386         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">txt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t.renderer </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">t.renderer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.attributes</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">Roo.util.Format.htmlEncode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.text</span><span class="jsdoc-syntax">);
387         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.attributes.html</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) {
388             </span><span class="jsdoc-var">txt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.attributes.html</span><span class="jsdoc-syntax">;
389         }
390         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tip </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t.rendererTip </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">t.rendererTip</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.attributes</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">txt</span><span class="jsdoc-syntax">;
391         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">a.checked </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'boolean'</span><span class="jsdoc-syntax">;
392         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">href </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a.href </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">a.href </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.isGecko </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">&quot;&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;#&quot;</span><span class="jsdoc-syntax">;
393         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">buf </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-string">'&lt;li class=&quot;x-tree-node&quot;&gt;&lt;div class=&quot;x-tree-node-el '</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a.cls</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'&quot;&gt;'</span><span class="jsdoc-syntax">,
394             </span><span class="jsdoc-string">'&lt;span class=&quot;x-tree-node-indent&quot;&gt;'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">this.indentMarkup</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">&quot;&lt;/span&gt;&quot;</span><span class="jsdoc-syntax">,
395             </span><span class="jsdoc-string">'&lt;img src=&quot;'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.emptyIcon</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'&quot; class=&quot;x-tree-ec-icon&quot; /&gt;'</span><span class="jsdoc-syntax">,
396             </span><span class="jsdoc-string">'&lt;img src=&quot;'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a.icon </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.emptyIcon</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'&quot; class=&quot;x-tree-node-icon'</span><span class="jsdoc-syntax">,(</span><span class="jsdoc-var">a.icon </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">&quot; x-tree-node-inline-icon&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">),(</span><span class="jsdoc-var">a.iconCls </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">&quot; &quot;</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">a.iconCls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">),</span><span class="jsdoc-string">'&quot; unselectable=&quot;on&quot; /&gt;'</span><span class="jsdoc-syntax">,
397             </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">? (</span><span class="jsdoc-string">'&lt;input class=&quot;x-tree-node-cb&quot; type=&quot;checkbox&quot; ' </span><span class="jsdoc-syntax">+ (</span><span class="jsdoc-var">a.checked </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'checked=&quot;checked&quot; /&gt;' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">' /&gt;'</span><span class="jsdoc-syntax">)) : </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
398             </span><span class="jsdoc-string">'&lt;a hidefocus=&quot;on&quot; href=&quot;'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'&quot; tabIndex=&quot;1&quot; '</span><span class="jsdoc-syntax">,
399              </span><span class="jsdoc-var">a.hrefTarget </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">' target=&quot;'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">a.hrefTarget</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'&quot;' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">,
400                 </span><span class="jsdoc-string">'&gt;&lt;span unselectable=&quot;on&quot; qtip=&quot;' </span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">tip </span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'&quot;&gt;'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">txt</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">&quot;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&quot;</span><span class="jsdoc-syntax">,
401             </span><span class="jsdoc-string">'&lt;ul class=&quot;x-tree-node-ct&quot; style=&quot;display:none;&quot;&gt;&lt;/ul&gt;'</span><span class="jsdoc-syntax">,
402             </span><span class="jsdoc-string">&quot;&lt;/li&gt;&quot;</span><span class="jsdoc-syntax">];
403
404         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">bulkRender </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">true </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">n.nextSibling </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">n.nextSibling.ui.getEl</span><span class="jsdoc-syntax">()){
405             </span><span class="jsdoc-var">this.wrap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.DomHelper.insertHtml</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;beforeBegin&quot;</span><span class="jsdoc-syntax">,
406                                 </span><span class="jsdoc-var">n.nextSibling.ui.getEl</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">buf.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">));
407         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
408             </span><span class="jsdoc-var">this.wrap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.DomHelper.insertHtml</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;beforeEnd&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">targetNode</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">buf.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">));
409         }
410
411         </span><span class="jsdoc-var">this.elNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.wrap.childNodes</span><span class="jsdoc-syntax">[0];
412         </span><span class="jsdoc-var">this.ctNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.wrap.childNodes</span><span class="jsdoc-syntax">[1];
413         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.elNode.childNodes</span><span class="jsdoc-syntax">;
414         </span><span class="jsdoc-var">this.indentNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[0];
415         </span><span class="jsdoc-var">this.ecNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[1];
416         </span><span class="jsdoc-var">this.iconNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[2];
417         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= 3;
418         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">){
419             </span><span class="jsdoc-var">this.checkbox </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[3];
420             </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">++;
421         }
422         </span><span class="jsdoc-var">this.anchor </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">];
423         </span><span class="jsdoc-var">this.textNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.firstChild</span><span class="jsdoc-syntax">;
424     },
425
426     </span><span class="jsdoc-var">getAnchor </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
427         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.anchor</span><span class="jsdoc-syntax">;
428     },
429
430     </span><span class="jsdoc-var">getTextEl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
431         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.textNode</span><span class="jsdoc-syntax">;
432     },
433
434     </span><span class="jsdoc-var">getIconEl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
435         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.iconNode</span><span class="jsdoc-syntax">;
436     },
437
438     </span><span class="jsdoc-var">isChecked </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
439         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.checkbox </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.checkbox.checked </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
440     },
441
442     </span><span class="jsdoc-var">updateExpandIcon </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
443         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
444             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">n </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.node</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c1</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c2</span><span class="jsdoc-syntax">;
445             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.isLast</span><span class="jsdoc-syntax">() ? </span><span class="jsdoc-string">&quot;x-tree-elbow-end&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;x-tree-elbow&quot;</span><span class="jsdoc-syntax">;
446             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hasChild </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">n.hasChildNodes</span><span class="jsdoc-syntax">();
447             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hasChild</span><span class="jsdoc-syntax">){
448                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">n.expanded</span><span class="jsdoc-syntax">){
449                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">&quot;-minus&quot;</span><span class="jsdoc-syntax">;
450                     </span><span class="jsdoc-var">c1 </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;x-tree-node-collapsed&quot;</span><span class="jsdoc-syntax">;
451                     </span><span class="jsdoc-var">c2 </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;x-tree-node-expanded&quot;</span><span class="jsdoc-syntax">;
452                 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
453                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">&quot;-plus&quot;</span><span class="jsdoc-syntax">;
454                     </span><span class="jsdoc-var">c1 </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;x-tree-node-expanded&quot;</span><span class="jsdoc-syntax">;
455                     </span><span class="jsdoc-var">c2 </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;x-tree-node-collapsed&quot;</span><span class="jsdoc-syntax">;
456                 }
457                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.wasLeaf</span><span class="jsdoc-syntax">){
458                     </span><span class="jsdoc-var">this.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-tree-node-leaf&quot;</span><span class="jsdoc-syntax">);
459                     </span><span class="jsdoc-var">this.wasLeaf </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
460                 }
461                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.c1 </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">c1 </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.c2 </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">c2</span><span class="jsdoc-syntax">){
462                     </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.elNode</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.replaceClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c1</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c2</span><span class="jsdoc-syntax">);
463                     </span><span class="jsdoc-var">this.c1 </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c1</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">this.c2 </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c2</span><span class="jsdoc-syntax">;
464                 }
465             }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
466                 </span><span class="jsdoc-comment">// this changes non-leafs into leafs if they have no children.
467                 // it's not very rational behaviour..
468
469                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.wasLeaf </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.node.leaf</span><span class="jsdoc-syntax">){
470                     </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.elNode</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.replaceClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-tree-node-expanded&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;x-tree-node-leaf&quot;</span><span class="jsdoc-syntax">);
471                     </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">this.c1</span><span class="jsdoc-syntax">;
472                     </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">this.c2</span><span class="jsdoc-syntax">;
473                     </span><span class="jsdoc-var">this.wasLeaf </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
474                 }
475             }
476             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ecc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;x-tree-ec-icon &quot;</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">;
477             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.ecc </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">ecc</span><span class="jsdoc-syntax">){
478                 </span><span class="jsdoc-var">this.ecNode.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ecc</span><span class="jsdoc-syntax">;
479                 </span><span class="jsdoc-var">this.ecc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ecc</span><span class="jsdoc-syntax">;
480             }
481         }
482     },
483
484     </span><span class="jsdoc-var">getChildIndent </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
485         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.childIndent</span><span class="jsdoc-syntax">){
486             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">buf </span><span class="jsdoc-syntax">= [];
487             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.node</span><span class="jsdoc-syntax">;
488             </span><span class="jsdoc-keyword">while</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">){
489                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">p.isRoot </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">p.isRoot </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">p.ownerTree.rootVisible</span><span class="jsdoc-syntax">)){
490                     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">p.isLast</span><span class="jsdoc-syntax">()) {
491                         </span><span class="jsdoc-var">buf.unshift</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&lt;img src=&quot;'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.emptyIcon</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'&quot; class=&quot;x-tree-elbow-line&quot; /&gt;'</span><span class="jsdoc-syntax">);
492                     } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
493                         </span><span class="jsdoc-var">buf.unshift</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&lt;img src=&quot;'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.emptyIcon</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'&quot; class=&quot;x-tree-icon&quot; /&gt;'</span><span class="jsdoc-syntax">);
494                     }
495                 }
496                 </span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">p.parentNode</span><span class="jsdoc-syntax">;
497             }
498             </span><span class="jsdoc-var">this.childIndent </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">buf.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">);
499         }
500         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.childIndent</span><span class="jsdoc-syntax">;
501     },
502
503     </span><span class="jsdoc-var">renderIndent </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
504         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
505             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">indent </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">;
506             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.node.parentNode</span><span class="jsdoc-syntax">;
507             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">){
508                 </span><span class="jsdoc-var">indent </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">p.ui.getChildIndent</span><span class="jsdoc-syntax">();
509             }
510             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.indentMarkup </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">indent</span><span class="jsdoc-syntax">){ </span><span class="jsdoc-comment">// don't rerender if not required
511                 </span><span class="jsdoc-var">this.indentNode.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">indent</span><span class="jsdoc-syntax">;
512                 </span><span class="jsdoc-var">this.indentMarkup </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">indent</span><span class="jsdoc-syntax">;
513             }
514             </span><span class="jsdoc-var">this.updateExpandIcon</span><span class="jsdoc-syntax">();
515         }
516     }
517 };
518
519 </span><span class="jsdoc-var">Roo.tree.RootTreeNodeUI </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
520     </span><span class="jsdoc-var">Roo.tree.RootTreeNodeUI.superclass.constructor.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
521 };
522 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.tree.RootTreeNodeUI</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.tree.TreeNodeUI</span><span class="jsdoc-syntax">, {
523     </span><span class="jsdoc-var">render </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
524         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
525             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">targetNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.node.ownerTree.innerCt.dom</span><span class="jsdoc-syntax">;
526             </span><span class="jsdoc-var">this.node.expanded </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
527             </span><span class="jsdoc-var">targetNode.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'&lt;div class=&quot;x-tree-root-node&quot;&gt;&lt;/div&gt;'</span><span class="jsdoc-syntax">;
528             </span><span class="jsdoc-var">this.wrap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.ctNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">targetNode.firstChild</span><span class="jsdoc-syntax">;
529         }
530     },
531     </span><span class="jsdoc-var">collapse </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
532     },
533     </span><span class="jsdoc-var">expand </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
534     }
535 });</span></code></body></html>