Skip to content
This repository was archived by the owner on Sep 10, 2023. It is now read-only.

Commit 641b6dd

Browse files
committed
Merge pull request #337 from timehop/master
Adding a limit to # of results shown
2 parents 7cd88d9 + 3554eea commit 641b6dd

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/jquery.tokeninput.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ var DEFAULT_SETTINGS = {
2020
jsonContainer: null,
2121
contentType: "json",
2222

23-
// Prepopulation settings
23+
// Prepopulation settings
2424
prePopulate: null,
2525
processPrePopulate: false,
2626

@@ -32,6 +32,7 @@ var DEFAULT_SETTINGS = {
3232
animateDropdown: true,
3333
theme: null,
3434
zindex: 999,
35+
resultsLimit: null,
3536
resultsFormatter: function(item){ return "<li>" + item[this.propertyToSearch]+ "</li>" },
3637
tokenFormatter: function(item) { return "<li><p>" + item[this.propertyToSearch] + "</p></li>" },
3738

@@ -488,9 +489,9 @@ $.TokenList = function (input, url_or_data, settings) {
488489
function insert_token(item) {
489490
var $this_token = $(settings.tokenFormatter(item));
490491
var readonly = item.readonly === true ? true : false;
491-
492+
492493
if(readonly) $this_token.addClass(settings.classes.tokenReadOnly);
493-
494+
494495
$this_token.addClass(settings.classes.token).insertBefore(input_token);
495496

496497
// The 'delete token' button
@@ -663,7 +664,7 @@ $.TokenList = function (input, url_or_data, settings) {
663664
var token_values = $.map(saved_tokens, function (el) {
664665
if(typeof settings.tokenValue == 'function')
665666
return settings.tokenValue.call(this, el);
666-
667+
667668
return el[settings.tokenValue];
668669
});
669670
hidden_input.val(token_values.join(settings.tokenDelimiter));
@@ -732,6 +733,10 @@ $.TokenList = function (input, url_or_data, settings) {
732733
})
733734
.hide();
734735

736+
if (settings.resultsLimit && results.length > settings.resultsLimit) {
737+
results = results.slice(0, settings.resultsLimit);
738+
}
739+
735740
$.each(results, function(index, value) {
736741
var this_li = settings.resultsFormatter(value);
737742

@@ -884,7 +889,7 @@ $.TokenList = function (input, url_or_data, settings) {
884889
// Bring browser focus to the specified object.
885890
// Use of setTimeout is to get around an IE bug.
886891
// (See, e.g., http://stackoverflow.com/questions/2600186/focus-doesnt-work-in-ie)
887-
//
892+
//
888893
// obj: a jQuery object to focus()
889894
function focus_with_timeout(obj) {
890895
setTimeout(function() { obj.focus(); }, 50);

0 commit comments

Comments
 (0)