Skip to content

Commit 4e4d44b

Browse files
committed
Menu: use the _classes method.
Fixes #7053
1 parent 5734628 commit 4e4d44b

File tree

3 files changed

+26
-10
lines changed

3 files changed

+26
-10
lines changed

tests/unit/menu/menu_common.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
TestHelpers.commonWidgetTests( "menu", {
22
defaults: {
3+
classes: {
4+
"ui-menu": "ui-corner-all",
5+
"ui-menu-icons": null,
6+
"ui-menu-icon": null,
7+
"ui-menu-item": null,
8+
"ui-menu-divider": null
9+
},
310
disabled: false,
411
icons: {
512
submenu: "ui-icon-carat-1-e"

tests/unit/menu/menu_core.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
module( "menu: core" );
44

55
test( "markup structure", function() {
6-
expect( 6 );
6+
expect( 7 );
77
var element = $( "#menu1" ).menu();
88
ok( element.hasClass( "ui-menu" ), "main element is .ui-menu" );
9+
ok( element.hasClass( "ui-corner-all" ), "main element is .ui-corner-all" );
910
element.children().each(function( index ) {
1011
ok( $( this ).hasClass( "ui-menu-item" ), "child " + index + " is .ui-menu-item" );
1112
});

ui/menu.js

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,13 @@ return $.widget( "ui.menu", {
3030
defaultElement: "<ul>",
3131
delay: 300,
3232
options: {
33+
classes: {
34+
"ui-menu": "ui-corner-all",
35+
"ui-menu-icons": null,
36+
"ui-menu-icon": null,
37+
"ui-menu-item": null,
38+
"ui-menu-divider": null
39+
},
3340
icons: {
3441
submenu: "ui-icon-carat-1-e"
3542
},
@@ -55,8 +62,8 @@ return $.widget( "ui.menu", {
5562
this.mouseHandled = false;
5663
this.element
5764
.uniqueId()
58-
.addClass( "ui-menu ui-widget ui-widget-content" )
59-
.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length )
65+
.addClass( this._classes( "ui-menu" ) + " ui-widget ui-widget-content" )
66+
.toggleClass( this._classes( "ui-menu-icons" ), !!this.element.find( ".ui-icon" ).length )
6067
.attr({
6168
role: this.options.role,
6269
tabIndex: 0
@@ -148,7 +155,7 @@ return $.widget( "ui.menu", {
148155
this.element
149156
.removeAttr( "aria-activedescendant" )
150157
.find( ".ui-menu" ).addBack()
151-
.removeClass( "ui-menu ui-widget ui-widget-content ui-menu-icons ui-front" )
158+
.removeClass( this._classes( "ui-menu ui-menu-icons" ) + " ui-widget ui-widget-content ui-front" )
152159
.removeAttr( "role" )
153160
.removeAttr( "tabIndex" )
154161
.removeAttr( "aria-labelledby" )
@@ -160,7 +167,7 @@ return $.widget( "ui.menu", {
160167

161168
// Destroy menu items
162169
this.element.find( ".ui-menu-item" )
163-
.removeClass( "ui-menu-item" )
170+
.removeClass( this._classes( "ui-menu-item" ) )
164171
.removeAttr( "role" )
165172
.removeAttr( "aria-disabled" )
166173
.removeUniqueId()
@@ -176,7 +183,8 @@ return $.widget( "ui.menu", {
176183
});
177184

178185
// Destroy menu dividers
179-
this.element.find( ".ui-menu-divider" ).removeClass( "ui-menu-divider ui-widget-content" );
186+
this.element.find( ".ui-menu-divider" )
187+
.removeClass( this._classes( "ui-menu-divider" ) + " ui-widget-content" );
180188
},
181189

182190
_keydown: function( event ) {
@@ -293,7 +301,7 @@ return $.widget( "ui.menu", {
293301

294302
// Initialize nested menus
295303
submenus.filter( ":not(.ui-menu)" )
296-
.addClass( "ui-menu ui-widget ui-widget-content ui-front" )
304+
.addClass( this._classes( "ui-menu" ) + " ui-widget ui-widget-content ui-front" )
297305
.hide()
298306
.attr({
299307
role: this.options.role,
@@ -304,7 +312,7 @@ return $.widget( "ui.menu", {
304312
var menu = $( this ),
305313
item = menu.parent(),
306314
submenuCarat = $( "<span>" )
307-
.addClass( "ui-menu-icon ui-icon " + icon )
315+
.addClass( that._classes( "ui-menu-icon" ) + " ui-icon " + icon )
308316
.data( "ui-menu-submenu-carat", true );
309317

310318
item
@@ -320,13 +328,13 @@ return $.widget( "ui.menu", {
320328
items.not( ".ui-menu-item" ).each(function() {
321329
var item = $( this );
322330
if ( that._isDivider( item ) ) {
323-
item.addClass( "ui-widget-content ui-menu-divider" );
331+
item.addClass( that._classes( "ui-menu-divider" ) + " ui-widget-content" );
324332
}
325333
});
326334

327335
// Don't refresh list items that are already adapted
328336
items.not( ".ui-menu-item, .ui-menu-divider" )
329-
.addClass( "ui-menu-item" )
337+
.addClass( this._classes( "ui-menu-item" ) )
330338
.uniqueId()
331339
.attr({
332340
tabIndex: -1,

0 commit comments

Comments
 (0)