From 54fb1441fe2f9595a8376b9f4bf7d766469f5045 Mon Sep 17 00:00:00 2001 From: Scott González Date: Tue, 22 Nov 2011 08:43:09 -0500 Subject: Upgrade jQuery to 1.7.1. --- tests/unit/autocomplete/all.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/unit/autocomplete') diff --git a/tests/unit/autocomplete/all.html b/tests/unit/autocomplete/all.html index a136d8c25..c644e2728 100644 --- a/tests/unit/autocomplete/all.html +++ b/tests/unit/autocomplete/all.html @@ -4,7 +4,7 @@ jQuery UI Autocomplete Test Suite - + -- cgit v1.2.3 From 2445e20a856192179590c0d08e5d73479df1e52d Mon Sep 17 00:00:00 2001 From: Shannon Date: Wed, 23 Nov 2011 13:39:45 -0500 Subject: Autocomplete: Making sure we do not show search menu after a blur. Fixed #7423 - Tab out of autocomplete with remote source can leave menu showing. --- tests/unit/autocomplete/autocomplete_events.js | 19 +++++++++++++++++++ ui/jquery.ui.autocomplete.js | 4 +++- 2 files changed, 22 insertions(+), 1 deletion(-) (limited to 'tests/unit/autocomplete') diff --git a/tests/unit/autocomplete/autocomplete_events.js b/tests/unit/autocomplete/autocomplete_events.js index 286d902f1..d6a008ea2 100644 --- a/tests/unit/autocomplete/autocomplete_events.js +++ b/tests/unit/autocomplete/autocomplete_events.js @@ -157,6 +157,25 @@ asyncTest( "cancel select", function() { }, 50 ); }); +asyncTest( "blur during remote search", function() { + expect( 1 ); + var ac = $( "#autocomplete" ).autocomplete({ + delay: 0, + source: function( request, response ) { + ok( true, "trigger request" ); + ac.simulate( "blur" ); + setTimeout(function() { + response([ "result" ]); + start(); + }, 100 ); + }, + open: function() { + ok( false, "opened after a blur" ); + } + }); + ac.val( "ro" ).keydown(); +}); + /* TODO previous fix broke more than it fixed, disabling this for now - messed up regular menu select event test("blur without selection", function() { expect(1); diff --git a/ui/jquery.ui.autocomplete.js b/ui/jquery.ui.autocomplete.js index 9871b52d7..dbda2058e 100644 --- a/ui/jquery.ui.autocomplete.js +++ b/ui/jquery.ui.autocomplete.js @@ -184,6 +184,7 @@ $.widget( "ui.autocomplete", { } clearTimeout( self.searching ); + self.cancelSearch = true; // clicks on the menu (or a button to trigger a search) will cause a blur event self.closing = setTimeout(function() { self.close( event ); @@ -373,6 +374,7 @@ $.widget( "ui.autocomplete", { _search: function( value ) { this.pending++; this.element.addClass( "ui-autocomplete-loading" ); + this.cancelSearch = false; this.source( { term: value }, this.response ); }, @@ -382,7 +384,7 @@ $.widget( "ui.autocomplete", { content = this._normalize( content ); } this._trigger( "response", null, { content: content } ); - if ( !this.options.disabled && content && content.length ) { + if ( !this.options.disabled && content && content.length && !this.cancelSearch ) { this._suggest( content ); this._trigger( "open" ); } else { -- cgit v1.2.3 From 2b9b2f28ecd8b631fede6ca690bd551ddc72e254 Mon Sep 17 00:00:00 2001 From: Scott González Date: Wed, 23 Nov 2011 14:26:52 -0500 Subject: Autocomplete: Removed commented out test. --- tests/unit/autocomplete/autocomplete_events.js | 18 ------------------ 1 file changed, 18 deletions(-) (limited to 'tests/unit/autocomplete') diff --git a/tests/unit/autocomplete/autocomplete_events.js b/tests/unit/autocomplete/autocomplete_events.js index d6a008ea2..7b51ec4c0 100644 --- a/tests/unit/autocomplete/autocomplete_events.js +++ b/tests/unit/autocomplete/autocomplete_events.js @@ -176,22 +176,4 @@ asyncTest( "blur during remote search", function() { ac.val( "ro" ).keydown(); }); -/* TODO previous fix broke more than it fixed, disabling this for now - messed up regular menu select event -test("blur without selection", function() { - expect(1); - var ac = $("#autocomplete").autocomplete({ - delay: 0, - source: data - }); - stop(); - ac.val("j").keydown(); - setTimeout(function() { - $( ".ui-menu-item" ).first().simulate("mouseover"); - ac.simulate("keydown", { keyCode: $.ui.keyCode.TAB }); - deepEqual( ac.val(), "j" ); - start(); - }, 50); -}); -*/ - }( jQuery ) ); -- cgit v1.2.3