@@ -58,6 +58,7 @@ var DEFAULT_SETTINGS = {
5858var DEFAULT_CLASSES = {
5959 tokenList : "token-input-list" ,
6060 token : "token-input-token" ,
61+ tokenReadOnly : "token-input-token-readonly" ,
6162 tokenDelete : "token-input-delete-token" ,
6263 selectedToken : "token-input-selected-token" ,
6364 highlightedToken : "token-input-highlighted-token" ,
@@ -485,26 +486,30 @@ $.TokenList = function (input, url_or_data, settings) {
485486
486487 // Inner function to a token to the list
487488 function insert_token ( item ) {
488- var this_token = settings . tokenFormatter ( item ) ;
489- this_token = $ ( this_token )
490- . addClass ( settings . classes . token )
491- . insertBefore ( input_token ) ;
489+ var $this_token = $ ( settings . tokenFormatter ( item ) ) ;
490+ var readonly = item . readonly === true ? true : false ;
491+
492+ if ( readonly ) $this_token . addClass ( settings . classes . tokenReadOnly ) ;
493+
494+ $this_token . addClass ( settings . classes . token ) . insertBefore ( input_token ) ;
492495
493496 // The 'delete token' button
494- $ ( "<span>" + settings . deleteText + "</span>" )
495- . addClass ( settings . classes . tokenDelete )
496- . appendTo ( this_token )
497- . click ( function ( ) {
498- if ( ! settings . disabled ) {
499- delete_token ( $ ( this ) . parent ( ) ) ;
500- hidden_input . change ( ) ;
501- return false ;
502- }
503- } ) ;
497+ if ( ! readonly ) {
498+ $ ( "<span>" + settings . deleteText + "</span>" )
499+ . addClass ( settings . classes . tokenDelete )
500+ . appendTo ( $this_token )
501+ . click ( function ( ) {
502+ if ( ! settings . disabled ) {
503+ delete_token ( $ ( this ) . parent ( ) ) ;
504+ hidden_input . change ( ) ;
505+ return false ;
506+ }
507+ } ) ;
508+ }
504509
505510 // Store data on the token
506511 var token_data = item ;
507- $ . data ( this_token . get ( 0 ) , "tokeninput" , item ) ;
512+ $ . data ( $ this_token. get ( 0 ) , "tokeninput" , item ) ;
508513
509514 // Save this token for duplicate checking
510515 saved_tokens = saved_tokens . slice ( 0 , selected_token_index ) . concat ( [ token_data ] ) . concat ( saved_tokens . slice ( selected_token_index ) ) ;
@@ -521,7 +526,7 @@ $.TokenList = function (input, url_or_data, settings) {
521526 hide_dropdown ( ) ;
522527 }
523528
524- return this_token ;
529+ return $ this_token;
525530 }
526531
527532 // Add a token to the token list based on user input
0 commit comments