Skip to content

Commit 20466d5

Browse files
committed
Selectmenu: Fixed selectmenu icon float right
Also removes the icon space as its not needed with a floated icon Fixes #14914 Closes jquerygh-1671
1 parent 8564641 commit 20466d5

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

tests/unit/selectmenu/core.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,22 @@ define( [
66
module( "selectmenu: core" );
77

88
test( "markup structure", function( assert ) {
9-
expect( 4 );
9+
expect( 7 );
1010

1111
var element = $( "#files" ).selectmenu(),
1212
button = element.selectmenu( "widget" ),
13+
icon = button.find( ".ui-icon" ),
1314
menu = element.selectmenu( "menuWidget" ),
1415
menuWrap = menu.parent();
1516

17+
assert.strictEqual( icon.length, 1, "Exactly one icon exists" );
18+
assert.hasClasses( icon, "ui-selectmenu-icon" );
1619
assert.hasClasses( button,
1720
"ui-selectmenu-button ui-selectmenu-button-closed ui-widget" );
1821
assert.lacksClasses( button, "ui-selectmenu-button-open ui-selectmenu-open" );
1922
assert.hasClasses( menuWrap, "ui-selectmenu-menu" );
2023
assert.lacksClasses( menuWrap, "ui-selectmenu-menu-open" );
24+
assert.strictEqual( icon[ 0 ], button.children().last()[ 0 ], "Icon is last child of button" );
2125
} );
2226

2327
asyncTest( "accessibility", function() {

themes/base/selectmenu.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,7 @@
4040
white-space: nowrap;
4141
width: 14em;
4242
}
43+
.ui-selectmenu-icon.ui-icon {
44+
float: right;
45+
margin-top: 0;
46+
}

ui/widgets/selectmenu.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, {
8484
},
8585

8686
_drawButton: function() {
87-
var icon, space,
87+
var icon,
8888
that = this,
8989
item = this._parseOption(
9090
this.element.find( "option:selected" ),
@@ -119,15 +119,12 @@ return $.widget( "ui.selectmenu", [ $.ui.formResetMixin, {
119119
this._addClass( this.button, "ui-selectmenu-button ui-selectmenu-button-closed",
120120
"ui-button ui-widget" );
121121

122-
icon = $( "<span>" ).prependTo( this.button );
123-
space = $( "<span> </span>" );
124-
this._addClass( space, "ui-selectmenu-icon-space" );
125-
this._addClass( icon, null, "ui-icon " + this.options.icons.button );
126-
icon.after( space );
127-
128122
this.buttonItem = this._renderButtonItem( item )
129123
.appendTo( this.button );
130124

125+
icon = $( "<span>" ).appendTo( this.button );
126+
this._addClass( icon, "ui-selectmenu-icon", "ui-icon " + this.options.icons.button );
127+
131128
if ( this.options.width !== false ) {
132129
this._resizeButton();
133130
}

0 commit comments

Comments
 (0)