Skip to content

Commit

Permalink
feature:2922 Add caseSensitive option to TokenInput (false by default)
Browse files Browse the repository at this point in the history
git-svn-id: http://piwigo.org/svn/trunk@23231 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
mistic100 committed Jun 15, 2013
1 parent 212d37a commit 6fafebd
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions themes/default/js/plugins/jquery.tokeninput.js
Expand Up @@ -38,7 +38,8 @@ var DEFAULT_SETTINGS = {
onResult: null,
onAdd: null,
onDelete: null,
allowCreation: false
allowCreation: false,
caseSensitive: false
};

// Default classes to use when theming
Expand Down Expand Up @@ -576,7 +577,9 @@ $.TokenList = function (input, url_or_data, settings) {

// Highlight the query part of the search term
function highlight_term(value, term) {
return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + escape_regexp_chars(term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<b>$1</b>");
var param = "g";
if (!settings.caseSensitive) param+= "i";
return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + escape_regexp_chars(term) + ")(?![^<>]*>)(?![^&;]+;)", param), "<b>$1</b>");
}

function escape_regexp_chars(string) {
Expand Down Expand Up @@ -652,7 +655,8 @@ $.TokenList = function (input, url_or_data, settings) {
// Do a search and show the "searching" dropdown if the input is longer
// than settings.minChars
function do_search() {
var query = input_box.val().toLowerCase();
var query = input_box.val();
if (!settings.caseSensitive) query = query.toLowerCase();

if(query && query.length) {
if(selected_token) {
Expand Down Expand Up @@ -716,7 +720,9 @@ $.TokenList = function (input, url_or_data, settings) {
cache.add(query, settings.jsonContainer ? results[settings.jsonContainer] : results);

// only populate the dropdown if the results are associated with the active search query
if(input_box.val().toLowerCase() === query) {
var value = input_box.val();
if (!settings.caseSensitive) value = value.toLowerCase();
if(value === query) {
populate_dropdown(query, settings.jsonContainer ? results[settings.jsonContainer] : results);
}
};
Expand All @@ -726,7 +732,12 @@ $.TokenList = function (input, url_or_data, settings) {
} else if(settings.local_data) {
// Do the search through local data
var results = $.grep(settings.local_data, function (row) {
return row.name.toLowerCase().indexOf(query.toLowerCase()) > -1;
if (settings.caseSensitive) {
return row.name.indexOf(query) > -1;
}
else {
return row.name.toLowerCase().indexOf(query.toLowerCase()) > -1;
}
});

if($.isFunction(settings.onResult)) {
Expand Down

0 comments on commit 6fafebd

Please sign in to comment.