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

Commit 7cd88d9

Browse files
committed
Merge pull request #326 from cthielen/master
Allow for optional readonly tokens within a token field
2 parents ba668e3 + c7c5538 commit 7cd88d9

File tree

1 file changed

+21
-16
lines changed

1 file changed

+21
-16
lines changed

src/jquery.tokeninput.js

100644100755
Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ var DEFAULT_SETTINGS = {
5858
var 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

Comments
 (0)