Fix #6913 - add more documentation to code
[roojs1] / docs / src / Roo_bootstrap_menu_Manager.js.html
1 <html><head><title>Roo/bootstrap/menu/Manager.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  * @class Roo.bootstrap.MenuMgr
3  * @licence LGPL
4  * Provides a common registry of all menu items on a page so that they can be easily accessed by id.
5  * @static
6  */
7 </span><span class="jsdoc-var">Roo.bootstrap.menu.Manager </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
8    </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">();
9
10    </span><span class="jsdoc-comment">// private - called when first menu is created
11    </span><span class="jsdoc-keyword">function </span><span class="jsdoc-var">init</span><span class="jsdoc-syntax">(){
12        </span><span class="jsdoc-var">menus </span><span class="jsdoc-syntax">= {};
13        </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">();
14        </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">(){
15            </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){
16                </span><span class="jsdoc-var">hideAll</span><span class="jsdoc-syntax">();
17            }
18        });
19    }
20
21    </span><span class="jsdoc-comment">// private
22    </span><span class="jsdoc-keyword">function </span><span class="jsdoc-var">hideAll</span><span class="jsdoc-syntax">(){
23        </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){
24            </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">();
25            </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">){
26                </span><span class="jsdoc-var">m.hide</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">onHide</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">){
33        </span><span class="jsdoc-var">active.remove</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">);
34        </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){
35            </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">);
36
37            </span><span class="jsdoc-var">attached </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
38        }
39    }
40
41    </span><span class="jsdoc-comment">// private
42    </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">){
43        </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">();
44        </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">();
45        </span><span class="jsdoc-var">active.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">);
46        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">attached</span><span class="jsdoc-syntax">){
47           </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">);
48
49            </span><span class="jsdoc-var">attached </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
50        }
51        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m.parentMenu</span><span class="jsdoc-syntax">){
52           </span><span class="jsdoc-comment">//m.getEl().setZIndex(parseInt(m.parentMenu.getEl().getStyle(&quot;z-index&quot;), 10) + 3);
53           </span><span class="jsdoc-var">m.parentMenu.activeChild </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">;
54        }</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">()){
55           </span><span class="jsdoc-comment">//m.getEl().setZIndex(parseInt(last.getEl().getStyle(&quot;z-index&quot;), 10) + 3);
56        </span><span class="jsdoc-syntax">}
57    }
58
59    </span><span class="jsdoc-comment">// private
60    </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">){
61        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m.activeChild</span><span class="jsdoc-syntax">){
62            </span><span class="jsdoc-var">m.activeChild.hide</span><span class="jsdoc-syntax">();
63        }
64        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m.autoHideTimer</span><span class="jsdoc-syntax">){
65            </span><span class="jsdoc-var">clearTimeout</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">m.autoHideTimer</span><span class="jsdoc-syntax">);
66            </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">m.autoHideTimer</span><span class="jsdoc-syntax">;
67        }
68    }
69
70    </span><span class="jsdoc-comment">// private
71    </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">){
72        </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">;
73        </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">){
74            </span><span class="jsdoc-var">hideAll</span><span class="jsdoc-syntax">();
75        }</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">){
76            </span><span class="jsdoc-var">pm.activeChild.hide</span><span class="jsdoc-syntax">();
77        }
78    }
79
80    </span><span class="jsdoc-comment">// private this should really trigger on mouseup..
81    </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">){
82         </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;on Mouse Up&quot;</span><span class="jsdoc-syntax">);
83
84         </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;.dropdown-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">)){
85             </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;MenuManager hideAll&quot;</span><span class="jsdoc-syntax">);
86             </span><span class="jsdoc-var">hideAll</span><span class="jsdoc-syntax">();
87             </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
88         }
89
90
91    }
92
93    </span><span class="jsdoc-comment">// private
94    </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">){
95        </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">){
96            </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">];
97            </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">++){
98                </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">){
99                    </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">);
100                }
101            }
102        }
103    }
104
105    </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{
106
107        </span><span class="jsdoc-comment">/**
108         * Hides all menus that are currently visible
109         */
110        </span><span class="jsdoc-var">hideAll </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
111             </span><span class="jsdoc-var">hideAll</span><span class="jsdoc-syntax">();
112        },
113
114        </span><span class="jsdoc-comment">// private
115        </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">){
116            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">menus</span><span class="jsdoc-syntax">){
117                </span><span class="jsdoc-var">init</span><span class="jsdoc-syntax">();
118            }
119            </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">;
120            </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">);
121            </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">);
122            </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">);
123            </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">);
124            </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">;
125            </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">]){
126                </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">]){
127                    </span><span class="jsdoc-var">groups</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">] = [];
128                }
129                </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">);
130                </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">);
131            }
132        },
133
134         </span><span class="jsdoc-comment">/**
135          * Returns a {@link Roo.menu.Menu} object
136          * @param {String/Object} menu The string menu id, an existing menu object reference, or a Menu config that will
137          * be used to generate and return a new Menu instance.
138          */
139        </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">){
140            </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
141                </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">];
142            }</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
143                </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">menu</span><span class="jsdoc-syntax">;
144            }
145            </span><span class="jsdoc-comment">/*else if(typeof menu.length == 'number'){ // array of menu items?
146                return new Roo.bootstrap.Menu({items:menu});
147            }else{ // otherwise, must be a config
148                return new Roo.bootstrap.Menu(menu);
149            }
150            */
151            </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
152        },
153
154        </span><span class="jsdoc-comment">// private
155        </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">){
156            </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">];
157            </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">);
158            </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">);
159            </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">);
160            </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">);
161            </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">;
162            </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">]){
163                </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">);
164                </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">);
165            }
166        },
167
168        </span><span class="jsdoc-comment">// private
169        </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">){
170            </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">;
171            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">){
172                </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">]){
173                    </span><span class="jsdoc-var">groups</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">] = [];
174                }
175                </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">);
176                </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">);
177            }
178        },
179
180        </span><span class="jsdoc-comment">// private
181        </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">){
182            </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">;
183            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">g</span><span class="jsdoc-syntax">){
184                </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">);
185                </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">);
186            }
187        }
188    };
189 }();</span></code></body></html>