1 <html><head><title>Roo/tree/ColumnNodeUI.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">//<Script type="text/javascript">
5 * Copyright(c) 2006-2007, Ext JS, LLC.
7 * Originally Released Under LGPL - original licence link has changed is not relivant.
10 * <script type="text/javascript">
14 * Not documented??? - probably should be...
17 </span><span class="jsdoc-var">Roo.tree.ColumnNodeUI </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.tree.TreeNodeUI</span><span class="jsdoc-syntax">, {
18 </span><span class="jsdoc-comment">//focus: Roo.emptyFn, // prevent odd scrolling behavior
20 </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">){
21 </span><span class="jsdoc-comment">//consel.log("renderElements?");
22 </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">;
24 </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">();
25 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Pman.Tab.Document_TypesTree.tree.el.id</span><span class="jsdoc-syntax">;
27 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cols </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t.columns</span><span class="jsdoc-syntax">;
28 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">bw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">t.borderWidth</span><span class="jsdoc-syntax">;
29 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cols</span><span class="jsdoc-syntax">[0];
30 </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">"" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"#"</span><span class="jsdoc-syntax">;
31 </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">;
32 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tx </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">String.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'{0}'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">n.text </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">c.renderer </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">c.renderer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.dataIndex</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">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.dataIndex</span><span class="jsdoc-syntax">]));
33 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">colcls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'x-t-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">tid </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-c0'</span><span class="jsdoc-syntax">;
34 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">buf </span><span class="jsdoc-syntax">= [
35 </span><span class="jsdoc-string">'<li class="x-tree-node">'</span><span class="jsdoc-syntax">,
38 </span><span class="jsdoc-string">'<div class="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">'">'</span><span class="jsdoc-syntax">,
39 </span><span class="jsdoc-comment">// extran...
40 </span><span class="jsdoc-string">'<div class="x-tree-col '</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colcls</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'" style="width:'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c.width</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">bw</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'px;">'</span><span class="jsdoc-syntax">,
43 </span><span class="jsdoc-string">'<span class="x-tree-node-indent">'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">this.indentMarkup</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'</span>'</span><span class="jsdoc-syntax">,
44 </span><span class="jsdoc-string">'<img src="'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.emptyIcon</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'" class="x-tree-ec-icon " />'</span><span class="jsdoc-syntax">,
45 </span><span class="jsdoc-string">'<img src="'</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">'" class="x-tree-node-icon'</span><span class="jsdoc-syntax">,
46 (</span><span class="jsdoc-var">a.icon </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">' x-tree-node-inline-icon' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">),
47 (</span><span class="jsdoc-var">a.iconCls </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">' '</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">a.iconCls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">),
48 </span><span class="jsdoc-string">'" unselectable="on" />'</span><span class="jsdoc-syntax">,
49 (</span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">? (</span><span class="jsdoc-string">'<input class="x-tree-node-cb" type="checkbox" ' </span><span class="jsdoc-syntax">+
50 (</span><span class="jsdoc-var">a.checked </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'checked="checked" />' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">' />'</span><span class="jsdoc-syntax">)) : </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">),
52 </span><span class="jsdoc-string">'<a class="x-tree-node-anchor" hidefocus="on" href="'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'" tabIndex="1" '</span><span class="jsdoc-syntax">,
53 (</span><span class="jsdoc-var">a.hrefTarget </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">' target="' </span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">a.hrefTarget </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'"' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">'>'</span><span class="jsdoc-syntax">,
54 </span><span class="jsdoc-string">'<span unselectable="on" qtip="' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">tx </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'">'</span><span class="jsdoc-syntax">,
55 </span><span class="jsdoc-var">tx</span><span class="jsdoc-syntax">,
56 </span><span class="jsdoc-string">'</span></a>' </span><span class="jsdoc-syntax">,
57 </span><span class="jsdoc-string">'</div>'</span><span class="jsdoc-syntax">,
58 </span><span class="jsdoc-string">'<a class="x-tree-node-anchor" hidefocus="on" href="'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'" tabIndex="1" '</span><span class="jsdoc-syntax">,
59 (</span><span class="jsdoc-var">a.hrefTarget </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">' target="' </span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">a.hrefTarget </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'"' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">), </span><span class="jsdoc-string">'>'
60 </span><span class="jsdoc-syntax">];
61 </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 1, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cols.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
62 </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cols</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
63 </span><span class="jsdoc-var">colcls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'x-t-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">tid </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-c' </span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">;
64 </span><span class="jsdoc-var">tx </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">String.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'{0}'</span><span class="jsdoc-syntax">, (</span><span class="jsdoc-var">c.renderer </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">c.renderer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.dataIndex</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">a</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.dataIndex</span><span class="jsdoc-syntax">]));
65 </span><span class="jsdoc-var">buf.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'<div class="x-tree-col '</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">colcls</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">' ' </span><span class="jsdoc-syntax">,(</span><span class="jsdoc-var">c.cls</span><span class="jsdoc-syntax">?</span><span class="jsdoc-var">c.cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">),</span><span class="jsdoc-string">'" style="width:'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">c.width</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">bw</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'px;">'</span><span class="jsdoc-syntax">,
66 </span><span class="jsdoc-string">'<div class="x-tree-col-text" qtip="' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">tx </span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'">'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">tx</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">"</div>"</span><span class="jsdoc-syntax">,
67 </span><span class="jsdoc-string">"</div>"</span><span class="jsdoc-syntax">);
70 </span><span class="jsdoc-var">buf.push</span><span class="jsdoc-syntax">(
71 </span><span class="jsdoc-string">'</a>'</span><span class="jsdoc-syntax">,
72 </span><span class="jsdoc-string">'<div class="x-clear"></div></div>'</span><span class="jsdoc-syntax">,
73 </span><span class="jsdoc-string">'<ul class="x-tree-node-ct" style="display:none;"></ul>'</span><span class="jsdoc-syntax">,
74 </span><span class="jsdoc-string">"</li>"</span><span class="jsdoc-syntax">);
76 </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">&& </span><span class="jsdoc-var">n.nextSibling </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">n.nextSibling.ui.getEl</span><span class="jsdoc-syntax">()){
77 </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">"beforeBegin"</span><span class="jsdoc-syntax">,
78 </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">""</span><span class="jsdoc-syntax">));
79 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
80 </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">"beforeEnd"</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">""</span><span class="jsdoc-syntax">));
82 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.wrap.firstChild</span><span class="jsdoc-syntax">;
83 </span><span class="jsdoc-var">this.elRow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">;
84 </span><span class="jsdoc-var">this.elNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.firstChild</span><span class="jsdoc-syntax">;
85 </span><span class="jsdoc-var">this.ranchor </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.childNodes</span><span class="jsdoc-syntax">[1];
86 </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];
87 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.firstChild.childNodes</span><span class="jsdoc-syntax">;
88 </span><span class="jsdoc-var">this.indentNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[0];
89 </span><span class="jsdoc-var">this.ecNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[1];
90 </span><span class="jsdoc-var">this.iconNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[2];
91 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= 3;
92 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">){
93 </span><span class="jsdoc-var">this.checkbox </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cs</span><span class="jsdoc-syntax">[3];
94 </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">++;
96 </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">];
98 </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">;
100 </span><span class="jsdoc-comment">//el.on("click", this.onClick, this);
101 //el.on("dblclick", this.onDblClick, this);
104 // console.log(this);
105 </span><span class="jsdoc-syntax">},
106 </span><span class="jsdoc-var">initEvents </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
107 </span><span class="jsdoc-var">Roo.tree.ColumnNodeUI.superclass.initEvents.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
110 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.ranchor</span><span class="jsdoc-syntax">;
112 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">);
114 </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
115 </span><span class="jsdoc-var">el.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"text-decoration"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"none"</span><span class="jsdoc-syntax">);
118 </span><span class="jsdoc-var">el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"click"</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">);
119 </span><span class="jsdoc-var">el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"dblclick"</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">);
120 </span><span class="jsdoc-var">el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"contextmenu"</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">);
124 </span><span class="jsdoc-comment">/*onSelectedChange : function(state){
127 this.addClass("x-tree-selected");
130 this.removeClass("x-tree-selected");
133 </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">){
134 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.elRow</span><span class="jsdoc-syntax">){
135 </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.elRow</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">);
141 </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">){
142 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.elRow</span><span class="jsdoc-syntax">){
143 </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.elRow</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">);
149 });</span></code></body></html>