Skip to content

Commit 8a894a2

Browse files
petersendiditarschmitz
authored andcommitted
Menu: use the _classes method.
Fixes #7053
1 parent 269893b commit 8a894a2

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
@@ -154,7 +161,7 @@ return $.widget( "ui.menu", {
154161
this.element
155162
.removeAttr( "aria-activedescendant" )
156163
.find( ".ui-menu" ).addBack()
157-
.removeClass( "ui-menu ui-widget ui-widget-content ui-menu-icons ui-front" )
164+
.removeClass( this._classes( "ui-menu ui-menu-icons" ) + " ui-widget ui-widget-content ui-front" )
158165
.removeAttr( "role" )
159166
.removeAttr( "tabIndex" )
160167
.removeAttr( "aria-labelledby" )
@@ -166,7 +173,7 @@ return $.widget( "ui.menu", {
166173

167174
// Destroy menu items
168175
this.element.find( ".ui-menu-item" )
169-
.removeClass( "ui-menu-item" )
176+
.removeClass( this._classes( "ui-menu-item" ) )
170177
.removeAttr( "role" )
171178
.removeAttr( "aria-disabled" )
172179
.removeUniqueId()
@@ -182,7 +189,8 @@ return $.widget( "ui.menu", {
182189
});
183190

184191
// Destroy menu dividers
185-
this.element.find( ".ui-menu-divider" ).removeClass( "ui-menu-divider ui-widget-content" );
192+
this.element.find( ".ui-menu-divider" )
193+
.removeClass( this._classes( "ui-menu-divider" ) + " ui-widget-content" );
186194
},
187195

188196
_keydown: function( event ) {
@@ -285,7 +293,7 @@ return $.widget( "ui.menu", {
285293

286294
// Initialize nested menus
287295
submenus.filter( ":not(.ui-menu)" )
288-
.addClass( "ui-menu ui-widget ui-widget-content ui-front" )
296+
.addClass( this._classes( "ui-menu" ) + " ui-widget ui-widget-content ui-front" )
289297
.hide()
290298
.attr({
291299
role: this.options.role,
@@ -296,7 +304,7 @@ return $.widget( "ui.menu", {
296304
var menu = $( this ),
297305
item = menu.parent(),
298306
submenuCarat = $( "<span>" )
299-
.addClass( "ui-menu-icon ui-icon " + icon )
307+
.addClass( that._classes( "ui-menu-icon" ) + " ui-icon " + icon )
300308
.data( "ui-menu-submenu-carat", true );
301309

302310
item
@@ -312,13 +320,13 @@ return $.widget( "ui.menu", {
312320
items.not( ".ui-menu-item" ).each(function() {
313321
var item = $( this );
314322
if ( that._isDivider( item ) ) {
315-
item.addClass( "ui-widget-content ui-menu-divider" );
323+
item.addClass( that._classes( "ui-menu-divider" ) + " ui-widget-content" );
316324
}
317325
});
318326

319327
// Don't refresh list items that are already adapted
320328
items.not( ".ui-menu-item, .ui-menu-divider" )
321-
.addClass( "ui-menu-item" )
329+
.addClass( this._classes( "ui-menu-item" ) )
322330
.uniqueId()
323331
.attr({
324332
tabIndex: -1,

0 commit comments

Comments
 (0)