docs/default.css
[roojs1] / docs / symbols / src / Roo_bootstrap_Menu.js.html
1 <html><head><title>../roojs1/Roo/bootstrap/Menu.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  * - LGPL
3  *
4  * menu
5  * 
6  */
7
8 /**
9  * @class Roo.bootstrap.Menu
10  * @extends Roo.bootstrap.Component
11  * Bootstrap Menu class - container for MenuItems
12  * @cfg {String} type type of menu
13  * 
14  * @constructor
15  * Create a new Menu
16  * @param {Object} config The config object
17  */
18
19
20 </span><span class="jsdoc-var">Roo.bootstrap.Menu </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
21     </span><span class="jsdoc-var">Roo.bootstrap.Menu.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
22     </span><span class="jsdoc-var">Roo.bootstrap.Menu.register</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
23 };
24
25 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.Menu</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.bootstrap.Component</span><span class="jsdoc-syntax">,  {
26     
27    </span><span class="jsdoc-comment">/// html : false,
28     //align : '',
29     </span><span class="jsdoc-var">triggerEl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
30     </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
31     
32     
33     </span><span class="jsdoc-var">getChildContainer </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
34         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">;  
35     },
36     
37     </span><span class="jsdoc-var">getAutoCreate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
38          
39         </span><span class="jsdoc-comment">//if (['right'].indexOf(this.align)!==-1) {
40         //    cfg.cn[1].cls += ' pull-right'
41         //}
42         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= {
43             </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'ul'</span><span class="jsdoc-syntax">,
44             </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'dropdown-menu' 
45             
46         </span><span class="jsdoc-syntax">}
47         
48         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.type</span><span class="jsdoc-syntax">===</span><span class="jsdoc-string">'submenu'</span><span class="jsdoc-syntax">) {
49             </span><span class="jsdoc-var">cfg.cls</span><span class="jsdoc-syntax">=</span><span class="jsdoc-string">'submenu active'
50         </span><span class="jsdoc-syntax">}
51         
52         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">;
53     },
54     </span><span class="jsdoc-var">initEvents </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
55        </span><span class="jsdoc-comment">// Roo.log(&quot;ADD event&quot;);
56        // Roo.log(this.triggerEl.dom);
57         </span><span class="jsdoc-var">this.triggerEl.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.toggle</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
58         </span><span class="jsdoc-var">this.triggerEl.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'dropdown-toggle'</span><span class="jsdoc-syntax">);
59         
60     },
61     </span><span class="jsdoc-var">toggle  </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">)
62     {
63         </span><span class="jsdoc-comment">//Roo.log(e.getTarget());
64        // Roo.log(this.triggerEl.dom);
65         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.getTarget</span><span class="jsdoc-syntax">())</span><span class="jsdoc-var">.findParent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.dropdown-menu'</span><span class="jsdoc-syntax">)) {
66             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
67         }
68         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">isActive </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.triggerEl.hasClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'open'</span><span class="jsdoc-syntax">);
69         </span><span class="jsdoc-comment">// if disabled.. ingore
70         </span><span class="jsdoc-var">this.hideMenuItems</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
71         </span><span class="jsdoc-comment">//if ('ontouchstart' in document.documentElement &amp;&amp; !$parent.closest('.navbar-nav').length) {
72          // if mobile we use a backdrop because click events don't delegate
73         // $('&lt;div class=&quot;dropdown-backdrop&quot;/&gt;').insertAfter($(this)).on('click', clearMenus)
74         // }
75  
76        //var relatedTarget = { relatedTarget: this }
77        //$parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
78  
79        //if (e.isDefaultPrevented()) return;
80         
81        </span><span class="jsdoc-var">this.triggerEl</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">isActive </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'removeClass' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'addClass'</span><span class="jsdoc-syntax">](</span><span class="jsdoc-string">'open'</span><span class="jsdoc-syntax">);
82        
83        </span><span class="jsdoc-comment">//  .trigger('shown.bs.dropdown', relatedTarget)
84  
85        </span><span class="jsdoc-var">this.triggerEl.focus</span><span class="jsdoc-syntax">();
86 </span><span class="jsdoc-comment">//       Roo.log(e);
87        </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">(); 
88         
89         
90     },
91     
92          
93        
94     
95     </span><span class="jsdoc-var">hideMenuItems </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
96     {
97         </span><span class="jsdoc-comment">//$(backdrop).remove()
98         </span><span class="jsdoc-var">Roo.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.dropdown-toggle'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">aa</span><span class="jsdoc-syntax">) {
99             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">aa.hasClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'open'</span><span class="jsdoc-syntax">)) {
100                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
101             }
102             </span><span class="jsdoc-comment">// triger close...
103             </span><span class="jsdoc-var">aa.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'open'</span><span class="jsdoc-syntax">);
104           </span><span class="jsdoc-comment">//var parent = getParent($(this))
105           //var relatedTarget = { relatedTarget: this }
106           
107            //$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
108           //if (e.isDefaultPrevented()) return
109            //$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
110         </span><span class="jsdoc-syntax">})
111     }
112     
113    
114 });
115
116 </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.Menu</span><span class="jsdoc-syntax">, {
117     
118     </span><span class="jsdoc-var">menus </span><span class="jsdoc-syntax">: [],
119     
120     </span><span class="jsdoc-var">register </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">menu</span><span class="jsdoc-syntax">)
121     {
122         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.menus.length</span><span class="jsdoc-syntax">) {
123             </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">( </span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.bootstrap.Menu.onClick</span><span class="jsdoc-syntax">)
124             
125         }
126         </span><span class="jsdoc-var">this.menus.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">menu</span><span class="jsdoc-syntax">);
127         
128         
129     },
130     </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">)
131     {
132         </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
133         
134     },
135     </span><span class="jsdoc-var">show </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">menu</span><span class="jsdoc-syntax">) {
136         
137         
138         
139     }
140     
141
142     
143     
144 });
145  </span></code></body></html>