d39d96fdbb789114d1b5f64fbe474d60d6a09b8a
[roojs1] / docs / symbols / src / Roo_bootstrap_MenuMgr.js.html
1 <html><head><title>../roojs1/Roo/bootstrap/MenuMgr.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.bootstrap.MenuMgr
14  * Provides a common registry of all menu items on a page so that they can be easily accessed by id.
15  * @singleton
16  */
17 </span><span class="jsdoc-var">Roo.bootstrap.MenuMgr </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
18    </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">menus</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">active</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">groups </span><span class="jsdoc-syntax">= {}, </span><span class="jsdoc-var">attached </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lastShow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">();
19
20    </span><span class="jsdoc-comment">// private - called when first menu is created
21    </span><span class="jsdoc-keyword">function </span><span class="jsdoc-var">init</span><span class="jsdoc-syntax">(){
22        </span><span class="jsdoc-var">menus </span><span class="jsdoc-syntax">= {};
23        </span><span class="jsdoc-var">active </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.MixedCollection</span><span class="jsdoc-syntax">();
24        </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.addKeyListener</span><span class="jsdoc-syntax">(27, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
25            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">active.length </span><span class="jsdoc-syntax">&gt; 0){
26                </span><span class="jsdoc-var">hideAll</span><span class="jsdoc-syntax">();
27            }
28        });
29    }
30
31    </span><span class="jsdoc-comment">// private
32    </span><span class="jsdoc-keyword">function </span><span class="jsdoc-var">hideAll</span><span class="jsdoc-syntax">(){
33        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">active </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">active.length </span><span class="jsdoc-syntax">&gt; 0){
34            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">active.clone</span><span class="jsdoc-syntax">();
35            </span><span class="jsdoc-var">c.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">){
36                </span><span class="jsdoc-var">m.hide</span><span class="jsdoc-syntax">();
37            });
38        }
39    }
40
41    </span><span class="jsdoc-comment">// private
42    </span><span class="jsdoc-keyword">function </span><span class="jsdoc-var">onHide</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">){
43        </span><span class="jsdoc-var">active.remove</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">);
44        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">active.length </span><span class="jsdoc-syntax">&lt; 1){
45            </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;mouseup&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onMouseDown</span><span class="jsdoc-syntax">);
46             
47            </span><span class="jsdoc-var">attached </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
48        }
49    }
50
51    </span><span class="jsdoc-comment">// private
52    </span><span class="jsdoc-keyword">function </span><span class="jsdoc-var">onShow</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">){
53        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">last </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">active.last</span><span class="jsdoc-syntax">();
54        </span><span class="jsdoc-var">lastShow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">();
55        </span><span class="jsdoc-var">active.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">);
56        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">attached</span><span class="jsdoc-syntax">){
57           </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;mouseup&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onMouseDown</span><span class="jsdoc-syntax">);
58            
59            </span><span class="jsdoc-var">attached </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
60        }
61        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m.parentMenu</span><span class="jsdoc-syntax">){
62           </span><span class="jsdoc-comment">//m.getEl().setZIndex(parseInt(m.parentMenu.getEl().getStyle(&quot;z-index&quot;), 10) + 3);
63           </span><span class="jsdoc-var">m.parentMenu.activeChild </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">;
64        }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">last </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">last.isVisible</span><span class="jsdoc-syntax">()){
65           </span><span class="jsdoc-comment">//m.getEl().setZIndex(parseInt(last.getEl().getStyle(&quot;z-index&quot;), 10) + 3);
66        </span><span class="jsdoc-syntax">}
67    }
68
69    </span><span class="jsdoc-comment">// private
70    </span><span class="jsdoc-keyword">function </span><span class="jsdoc-var">onBeforeHide</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">){
71        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m.activeChild</span><span class="jsdoc-syntax">){
72            </span><span class="jsdoc-var">m.activeChild.hide</span><span class="jsdoc-syntax">();
73        }
74        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m.autoHideTimer</span><span class="jsdoc-syntax">){
75            </span><span class="jsdoc-var">clearTimeout</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m.autoHideTimer</span><span class="jsdoc-syntax">);
76            </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">m.autoHideTimer</span><span class="jsdoc-syntax">;
77        }
78    }
79
80    </span><span class="jsdoc-comment">// private
81    </span><span class="jsdoc-keyword">function </span><span class="jsdoc-var">onBeforeShow</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">){
82        </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">m.parentMenu</span><span class="jsdoc-syntax">;
83        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">pm </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">m.allowOtherMenus</span><span class="jsdoc-syntax">){
84            </span><span class="jsdoc-var">hideAll</span><span class="jsdoc-syntax">();
85        }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pm </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">pm.activeChild </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">active </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">){
86            </span><span class="jsdoc-var">pm.activeChild.hide</span><span class="jsdoc-syntax">();
87        }
88    }
89
90    </span><span class="jsdoc-comment">// private
91    </span><span class="jsdoc-keyword">function </span><span class="jsdoc-var">onMouseDown</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
92         </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;on MouseDown&quot;</span><span class="jsdoc-syntax">);
93         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">lastShow.getElapsed</span><span class="jsdoc-syntax">() &gt; 50 &amp;&amp; </span><span class="jsdoc-var">active.length </span><span class="jsdoc-syntax">&gt; 0 &amp;&amp; !</span><span class="jsdoc-var">e.getTarget</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;.x-menu&quot;</span><span class="jsdoc-syntax">) &amp;&amp; !</span><span class="jsdoc-var">e.getTarget</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.user-menu'</span><span class="jsdoc-syntax">)){
94            </span><span class="jsdoc-var">hideAll</span><span class="jsdoc-syntax">();
95         }
96         
97         
98    }
99
100    </span><span class="jsdoc-comment">// private
101    </span><span class="jsdoc-keyword">function </span><span class="jsdoc-var">onBeforeCheck</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">mi</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">){
102        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">){
103            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">g </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">groups</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">mi.group</span><span class="jsdoc-syntax">];
104            </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">= 0, </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">g.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
105                </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] != </span><span class="jsdoc-var">mi</span><span class="jsdoc-syntax">){
106                    </span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.setChecked</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
107                }
108            }
109        }
110    }
111
112    </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{
113
114        </span><span class="jsdoc-comment">/**
115         * Hides all menus that are currently visible
116         */
117        </span><span class="jsdoc-var">hideAll </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
118             </span><span class="jsdoc-var">hideAll</span><span class="jsdoc-syntax">();  
119        },
120
121        </span><span class="jsdoc-comment">// private
122        </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">){
123            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">menus</span><span class="jsdoc-syntax">){
124                </span><span class="jsdoc-var">init</span><span class="jsdoc-syntax">();
125            }
126            </span><span class="jsdoc-var">menus</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">menu.id</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">menu</span><span class="jsdoc-syntax">;
127            </span><span class="jsdoc-var">menu.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;beforehide&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onBeforeHide</span><span class="jsdoc-syntax">);
128            </span><span class="jsdoc-var">menu.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;hide&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onHide</span><span class="jsdoc-syntax">);
129            </span><span class="jsdoc-var">menu.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;beforeshow&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onBeforeShow</span><span class="jsdoc-syntax">);
130            </span><span class="jsdoc-var">menu.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;show&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onShow</span><span class="jsdoc-syntax">);
131            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">g </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">menu.group</span><span class="jsdoc-syntax">;
132            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">g </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">menu.events</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">&quot;checkchange&quot;</span><span class="jsdoc-syntax">]){
133                </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">groups</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">]){
134                    </span><span class="jsdoc-var">groups</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">] = [];
135                }
136                </span><span class="jsdoc-var">groups</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">menu</span><span class="jsdoc-syntax">);
137                </span><span class="jsdoc-var">menu.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;checkchange&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onCheck</span><span class="jsdoc-syntax">);
138            }
139        },
140
141         </span><span class="jsdoc-comment">/**
142          * Returns a {@link Roo.menu.Menu} object
143          * @param {String/Object} menu The string menu id, an existing menu object reference, or a Menu config that will
144          * be used to generate and return a new Menu instance.
145          */
146        </span><span class="jsdoc-var">get </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">){
147            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">menu </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;string&quot;</span><span class="jsdoc-syntax">){ </span><span class="jsdoc-comment">// menu id
148                </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">menus</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">menu</span><span class="jsdoc-syntax">];
149            }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">menu.events</span><span class="jsdoc-syntax">){  </span><span class="jsdoc-comment">// menu instance
150                </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">menu</span><span class="jsdoc-syntax">;
151            }
152            </span><span class="jsdoc-comment">/*else if(typeof menu.length == 'number'){ // array of menu items?
153                return new Roo.bootstrap.Menu({items:menu});
154            }else{ // otherwise, must be a config
155                return new Roo.bootstrap.Menu(menu);
156            }
157            */
158            </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
159        },
160
161        </span><span class="jsdoc-comment">// private
162        </span><span class="jsdoc-var">unregister </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">){
163            </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">menus</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">menu.id</span><span class="jsdoc-syntax">];
164            </span><span class="jsdoc-var">menu.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;beforehide&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onBeforeHide</span><span class="jsdoc-syntax">);
165            </span><span class="jsdoc-var">menu.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;hide&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onHide</span><span class="jsdoc-syntax">);
166            </span><span class="jsdoc-var">menu.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;beforeshow&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onBeforeShow</span><span class="jsdoc-syntax">);
167            </span><span class="jsdoc-var">menu.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;show&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onShow</span><span class="jsdoc-syntax">);
168            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">g </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">menu.group</span><span class="jsdoc-syntax">;
169            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">g </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">menu.events</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">&quot;checkchange&quot;</span><span class="jsdoc-syntax">]){
170                </span><span class="jsdoc-var">groups</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.remove</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">menu</span><span class="jsdoc-syntax">);
171                </span><span class="jsdoc-var">menu.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;checkchange&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onCheck</span><span class="jsdoc-syntax">);
172            }
173        },
174
175        </span><span class="jsdoc-comment">// private
176        </span><span class="jsdoc-var">registerCheckable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">menuItem</span><span class="jsdoc-syntax">){
177            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">g </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">menuItem.group</span><span class="jsdoc-syntax">;
178            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">){
179                </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">groups</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">]){
180                    </span><span class="jsdoc-var">groups</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">] = [];
181                }
182                </span><span class="jsdoc-var">groups</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">menuItem</span><span class="jsdoc-syntax">);
183                </span><span class="jsdoc-var">menuItem.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;beforecheckchange&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onBeforeCheck</span><span class="jsdoc-syntax">);
184            }
185        },
186
187        </span><span class="jsdoc-comment">// private
188        </span><span class="jsdoc-var">unregisterCheckable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">menuItem</span><span class="jsdoc-syntax">){
189            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">g </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">menuItem.group</span><span class="jsdoc-syntax">;
190            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">){
191                </span><span class="jsdoc-var">groups</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.remove</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">menuItem</span><span class="jsdoc-syntax">);
192                </span><span class="jsdoc-var">menuItem.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;beforecheckchange&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onBeforeCheck</span><span class="jsdoc-syntax">);
193            }
194        }
195    };
196 }();</span></code></body></html>