Skip to content

Commit 725023e

Browse files
committed
Selectmenu: revert initial refresh method changes (with unit tests)
This reverts commit 27049fc and d83e169
1 parent d83e169 commit 725023e

File tree

4 files changed

+15
-27
lines changed

4 files changed

+15
-27
lines changed

tests/unit/selectmenu/selectmenu_core.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ $.each([
5353

5454
equals( button.text(), selected.text(), "inital button text" );
5555

56-
link.simulate( "focus" );
5756
link.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
5857
equals( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" );
5958
equals( button.text(), selected.next("option").text(), "after keydown button text" );

tests/unit/selectmenu/selectmenu_events.js

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,9 @@ test("change", function () {
2222
var widget = this.element.selectmenu("widget"),
2323
menu = widget.filter(".ui-selectmenu-menu"),
2424
button = widget.filter(".ui-selectmenu-button"),
25-
link = button.find("a"),
2625
value = this.element.find("option").first().text();
27-
28-
link.simulate( "focus" );
29-
link.simulate( "click" );
26+
27+
button.find("a").simulate( "click" );
3028
menu.find("a").first().simulate( "mouseover" ).simulate( "click" );
3129
});
3230

@@ -42,11 +40,6 @@ test("close", function () {
4240
}
4341
});
4442

45-
var widget = this.element.selectmenu("widget"),
46-
button = widget.filter(".ui-selectmenu-button"),
47-
link = button.find("a");
48-
49-
link.simulate( "focus" );
5043
this.element.selectmenu("open").selectmenu("close");
5144
});
5245

@@ -70,11 +63,9 @@ test("focus", function () {
7063

7164
var widget = this.element.selectmenu("widget"),
7265
button = widget.filter(".ui-selectmenu-button"),
73-
link = button.find("a"),
7466
menu = widget.filter(".ui-selectmenu-menu");
7567

76-
link.simulate( "focus" );
77-
link.simulate( "click" );
68+
button.find("a").simulate( "click" );
7869
menu.find(".ui-menu-item").simulate("mouseover");
7970
});
8071

@@ -90,11 +81,6 @@ test("open", function () {
9081
}
9182
});
9283

93-
var widget = this.element.selectmenu("widget"),
94-
button = widget.filter(".ui-selectmenu-button"),
95-
link = button.find("a");
96-
97-
link.simulate( "focus" );
9884
this.element.selectmenu("open");
9985
});
10086

@@ -113,11 +99,9 @@ test("select", function () {
11399

114100
var widget = this.element.selectmenu("widget"),
115101
button = widget.filter(".ui-selectmenu-button"),
116-
link = button.find("a"),
117102
menu = widget.filter(".ui-selectmenu-menu");
118103

119-
link.simulate( "focus" );
120-
link.simulate( "click" );
104+
button.find("a").simulate( "click" );
121105
menu.find("a").first().simulate( "mouseover" ).simulate("click");
122106
});
123107

tests/unit/selectmenu/selectmenu_options.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ test("dropdown: CSS styles", function () {
2323
menu = widget.filter(".ui-selectmenu-menu"),
2424
ul = widget.find("ul");
2525

26-
link.simulate( "focus" );
2726
this.element.selectmenu("open");
2827
ok( link.hasClass("ui-corner-top") && !link.hasClass("ui-corner-all"), "button styles dropdown");
2928
ok( ul.hasClass("ui-corner-bottom") && !ul.hasClass("ui-corner-all"), "menu styles dropdown");

ui/jquery.ui.selectmenu.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,12 @@ $.widget( "ui.selectmenu", {
185185

186186
open: function( event ) {
187187
if ( !this.options.disabled ) {
188+
// init menu when initial opened
189+
if ( !this.wasOpen ) {
190+
this.refresh();
191+
this.wasOpen = true;
192+
}
193+
188194
var currentItem = this._getSelectedItem();
189195

190196
this._toggleButtonStyle();
@@ -269,6 +275,11 @@ $.widget( "ui.selectmenu", {
269275
},
270276

271277
_move: function( direction, event ) {
278+
// init menu when not done yet
279+
if ( !this.wasOpen ) {
280+
this.refresh();
281+
this.wasOpen = true;
282+
}
272283
if ( direction == "first" || direction == "last" ) {
273284
// set focus manually for first or last item
274285
this.menu.menu( "focus", event, this.menu.find( "li" ).not( '.ui-selectmenu-optgroup' )[ direction ]() );
@@ -300,11 +311,6 @@ $.widget( "ui.selectmenu", {
300311
},
301312

302313
_buttonEvents: {
303-
focus: function( event ) {
304-
// init Menu on first focus
305-
this.refresh();
306-
this.button.unbind( "focus." + this.widgetName )
307-
},
308314
click: function( event ) {
309315
this._toggle( event );
310316
event.preventDefault();

0 commit comments

Comments
 (0)