From 817ed8f31f1c1e7b86f654a20dbeb2a33475b322 Mon Sep 17 00:00:00 2001 From: jordi-pujol-cayon Date: Tue, 28 Apr 2015 12:33:12 +0200 Subject: [PATCH 1/2] Compatible with autocomplete source function Call accentFolding.fold at $.ui.autocomplete.filter() and leaving autocomplete.source as original. Works with the three types of source: array of values, function or url-string. Tested with "multiple" jquery-ui autocomplete example. https://jqueryui.com/autocomplete/#multiple --- .../jquery.ui.autocomplete.accentFolding.js | 22 +++++++------------ 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/src/autocomplete/jquery.ui.autocomplete.accentFolding.js b/src/autocomplete/jquery.ui.autocomplete.accentFolding.js index 048ecca..9cb18d6 100644 --- a/src/autocomplete/jquery.ui.autocomplete.accentFolding.js +++ b/src/autocomplete/jquery.ui.autocomplete.accentFolding.js @@ -738,21 +738,15 @@ autocomplete.accentFolding = { } }; -var _initSource = autocomplete.prototype._initSource; -autocomplete.prototype._initSource = function() { - var source = this.options.source; - if ( $.isArray(source) ) { - this.source = function( request, response ) { - var matcher = new RegExp( autocomplete.escapeRegex( request.term ), "i" ); - response( $.grep( source, function( value ) { + $.ui.autocomplete.filter = function (array, term) { + var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i"); + return $.grep(array, function (value) { value = value.label || value.value || value; return matcher.test( value ) || - matcher.test( autocomplete.accentFolding.fold( value ) ); - }) ); - }; - } else { - return _initSource.call( this ); - } -}; + matcher.test( $.ui.autocomplete.accentFolding.fold( value ) ); + }); + }; })( jQuery ); + + From 493e70edd4bc51c3af6787ee8dddaa7dd7867ebc Mon Sep 17 00:00:00 2001 From: Jordi Date: Thu, 30 Apr 2015 09:32:23 +0200 Subject: [PATCH 2/2] Update jquery.ui.autocomplete.accentFolding.js Style and identation --- .../jquery.ui.autocomplete.accentFolding.js | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/autocomplete/jquery.ui.autocomplete.accentFolding.js b/src/autocomplete/jquery.ui.autocomplete.accentFolding.js index 9cb18d6..b94aeff 100644 --- a/src/autocomplete/jquery.ui.autocomplete.accentFolding.js +++ b/src/autocomplete/jquery.ui.autocomplete.accentFolding.js @@ -738,15 +738,13 @@ autocomplete.accentFolding = { } }; - $.ui.autocomplete.filter = function (array, term) { - var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i"); - return $.grep(array, function (value) { - value = value.label || value.value || value; - return matcher.test( value ) || - matcher.test( $.ui.autocomplete.accentFolding.fold( value ) ); - }); - }; +$.ui.autocomplete.filter = function (array, term) { + var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i"); + return $.grep(array, function (value) { + value = value.label || value.value || value; + return matcher.test( value ) || + matcher.test( $.ui.autocomplete.accentFolding.fold( value ) ); + }); +}; })( jQuery ); - -