Skip to content

Commit 4c9ef5f

Browse files
petersendiditarschmitz
authored andcommitted
Autocomplete: use the _classes method.
Fixes #7053
1 parent 8e0c325 commit 4c9ef5f

File tree

3 files changed

+24
-5
lines changed

3 files changed

+24
-5
lines changed

tests/unit/autocomplete/autocomplete_common.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ TestHelpers.commonWidgetTests( "autocomplete", {
22
defaults: {
33
appendTo: null,
44
autoFocus: false,
5+
classes: {
6+
"ui-autocomplete": null,
7+
"ui-autocomplete-input": null,
8+
"ui-autocomplete-loading": null
9+
},
510
delay: 300,
611
disabled: false,
712
messages: {

tests/unit/autocomplete/autocomplete_core.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22

33
module( "autocomplete: core" );
44

5+
test( "markup structure", function() {
6+
expect( 2 );
7+
var element = $( "#autocomplete" ).autocomplete(),
8+
menu = element.autocomplete( "widget" );
9+
10+
ok( element.hasClass( "ui-autocomplete-input" ), "main element is .ui-autocomplete-input" );
11+
ok( menu.hasClass( "ui-autocomplete" ), "menu is .ui-autocomplete" );
12+
});
13+
514
test( "prevent form submit on enter when menu is active", function() {
615
expect( 2 );
716
var event,

ui/autocomplete.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ $.widget( "ui.autocomplete", {
3232
options: {
3333
appendTo: null,
3434
autoFocus: false,
35+
classes: {
36+
"ui-autocomplete": null,
37+
"ui-autocomplete-input": null,
38+
"ui-autocomplete-loading": null
39+
},
3540
delay: 300,
3641
minLength: 1,
3742
position: {
@@ -80,7 +85,7 @@ $.widget( "ui.autocomplete", {
8085
this.isNewMenu = true;
8186

8287
this.element
83-
.addClass( "ui-autocomplete-input" )
88+
.addClass( this._classes( "ui-autocomplete-input" ) )
8489
.attr( "autocomplete", "off" );
8590

8691
this._on( this.element, {
@@ -202,7 +207,7 @@ $.widget( "ui.autocomplete", {
202207

203208
this._initSource();
204209
this.menu = $( "<ul>" )
205-
.addClass( "ui-autocomplete ui-front" )
210+
.addClass( this._classes( "ui-autocomplete" ) + " ui-front" )
206211
.appendTo( this._appendTo() )
207212
.menu({
208213
// disable ARIA support, the live region takes care of that
@@ -323,7 +328,7 @@ $.widget( "ui.autocomplete", {
323328
_destroy: function() {
324329
clearTimeout( this.searching );
325330
this.element
326-
.removeClass( "ui-autocomplete-input" )
331+
.removeClass( this._classes( "ui-autocomplete-input" ) )
327332
.removeAttr( "autocomplete" );
328333
this.menu.element.remove();
329334
this.liveRegion.remove();
@@ -428,7 +433,7 @@ $.widget( "ui.autocomplete", {
428433

429434
_search: function( value ) {
430435
this.pending++;
431-
this.element.addClass( "ui-autocomplete-loading" );
436+
this.element.addClass( this._classes( "ui-autocomplete-loading" ) );
432437
this.cancelSearch = false;
433438

434439
this.source( { term: value }, this._response() );
@@ -444,7 +449,7 @@ $.widget( "ui.autocomplete", {
444449

445450
this.pending--;
446451
if ( !this.pending ) {
447-
this.element.removeClass( "ui-autocomplete-loading" );
452+
this.element.removeClass( this._classes( "ui-autocomplete-loading" ) );
448453
}
449454
}, this );
450455
},

0 commit comments

Comments
 (0)