Skip to content

Commit

Permalink
Merge pull request #1631 from andrews05/livesearch
Browse files Browse the repository at this point in the history
Livesearch performance
  • Loading branch information
caseyjhol authored Feb 8, 2017
2 parents a9d6d67 + fdb3de8 commit d295ae1
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions js/bootstrap-select.js
Original file line number Diff line number Diff line change
Expand Up @@ -171,28 +171,28 @@

// Case insensitive contains search
$.expr.pseudos.icontains = function (obj, index, meta) {
var $obj = $(obj);
var $obj = $(obj).find('a');
var haystack = ($obj.data('tokens') || $obj.text()).toString().toUpperCase();
return haystack.includes(meta[3].toUpperCase());
};

// Case insensitive begins search
$.expr.pseudos.ibegins = function (obj, index, meta) {
var $obj = $(obj);
var $obj = $(obj).find('a');
var haystack = ($obj.data('tokens') || $obj.text()).toString().toUpperCase();
return haystack.startsWith(meta[3].toUpperCase());
};

// Case and accent insensitive contains search
$.expr.pseudos.aicontains = function (obj, index, meta) {
var $obj = $(obj);
var $obj = $(obj).find('a');
var haystack = ($obj.data('tokens') || $obj.data('normalizedText') || $obj.text()).toString().toUpperCase();
return haystack.includes(meta[3].toUpperCase());
};

// Case and accent insensitive begins search
$.expr.pseudos.aibegins = function (obj, index, meta) {
var $obj = $(obj);
var $obj = $(obj).find('a');
var haystack = ($obj.data('tokens') || $obj.data('normalizedText') || $obj.text()).toString().toUpperCase();
return haystack.startsWith(meta[3].toUpperCase());
};
Expand Down Expand Up @@ -1426,17 +1426,17 @@
var $searchBase = that.$lis.not('.is-hidden, .divider, .dropdown-header'),
$hideItems;
if (that.options.liveSearchNormalize) {
$hideItems = $searchBase.find('a').not(':a' + that._searchStyle() + '("' + normalizeToBase(that.$searchbox.val()) + '")');
$hideItems = $searchBase.not(':a' + that._searchStyle() + '("' + normalizeToBase(that.$searchbox.val()) + '")');
} else {
$hideItems = $searchBase.find('a').not(':' + that._searchStyle() + '("' + that.$searchbox.val() + '")');
$hideItems = $searchBase.not(':' + that._searchStyle() + '("' + that.$searchbox.val() + '")');
}

if ($hideItems.length === $searchBase.length) {
$no_results.html(that.options.noneResultsText.replace('{0}', '"' + htmlEscape(that.$searchbox.val()) + '"'));
that.$menuInner.append($no_results);
that.$lis.addClass('hidden');
} else {
$hideItems.parent().addClass('hidden');
$hideItems.addClass('hidden');

var $lisVisible = that.$lis.not('.hidden'),
$foundDiv;
Expand All @@ -1461,6 +1461,7 @@
if ($foundDiv) $foundDiv.addClass('hidden');

$searchBase.not('.hidden').first().addClass('active');
that.$menuInner.scrollTop(0);
}
}
});
Expand Down

0 comments on commit d295ae1

Please sign in to comment.