@@ -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