[jQuery] [autocomplete] Minor fixes required in order to play nice with other libraries that extend Object (code inside)
Hi Jörn et all here at the list,
I'm using the autocomplete plugin in a project I'm working on and I
must say: it works great!. However: one part of the project uses ExtJS
(their tree component is great) and that's where things go wrong.
Problem is that somewhere in ExtJS they extend Object with a remove()
function, breaking jQuery.autocomplete.
After a little quest I found that - quite obviously - autocomplete
breaks on string manipulations (Function.toLowerCase() doesn't really
exist ;)) and has a minor issue when displaying the items whenever
some library has extended Object.
Here below are the 2 minor changes I implemented in order to make
things work "just fine" again. Could you tuck 'm into the release as I
can't commit any changes to the trunk.
Change #1: Display issue: $.Autocompleter.Select, function fillList():
replace:
if (!data[i])
with:
if (!data[i] || (data[i].value.constructor === Function))
Change #2: Selection issue: $.Autocompleter.Cache, function
matchSubset()
at line#1 of this function (directly after the opening { ) add:
if (s.constructor === Function) return false;
Regards,
Bramus!