Changeset 23231


Ignore:
Timestamp:
06/15/13 17:44:21 (7 years ago)
Author:
mistic100
Message:

feature:2922 Add caseSensitive option to TokenInput (false by default)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/themes/default/js/plugins/jquery.tokeninput.js

    r23229 r23231  
    3939    onAdd: null, 
    4040    onDelete: null, 
    41     allowCreation: false 
     41    allowCreation: false, 
     42    caseSensitive: false 
    4243}; 
    4344 
     
    577578    // Highlight the query part of the search term 
    578579    function highlight_term(value, term) { 
    579         return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + escape_regexp_chars(term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<b>$1</b>"); 
     580        var param = "g"; 
     581        if (!settings.caseSensitive) param+= "i"; 
     582        return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + escape_regexp_chars(term) + ")(?![^<>]*>)(?![^&;]+;)", param), "<b>$1</b>"); 
    580583    } 
    581584     
     
    653656    // than settings.minChars 
    654657    function do_search() { 
    655         var query = input_box.val().toLowerCase(); 
     658        var query = input_box.val(); 
     659        if (!settings.caseSensitive) query = query.toLowerCase(); 
    656660 
    657661        if(query && query.length) { 
     
    717721 
    718722                  // only populate the dropdown if the results are associated with the active search query 
    719                   if(input_box.val().toLowerCase() === query) { 
     723                  var value = input_box.val(); 
     724                  if (!settings.caseSensitive) value = value.toLowerCase(); 
     725                  if(value === query) { 
    720726                      populate_dropdown(query, settings.jsonContainer ? results[settings.jsonContainer] : results); 
    721727                  } 
     
    727733                // Do the search through local data 
    728734                var results = $.grep(settings.local_data, function (row) { 
    729                     return row.name.toLowerCase().indexOf(query.toLowerCase()) > -1; 
     735                    if (settings.caseSensitive) { 
     736                        return row.name.indexOf(query) > -1; 
     737                    } 
     738                    else { 
     739                        return row.name.toLowerCase().indexOf(query.toLowerCase()) > -1; 
     740                    } 
    730741                }); 
    731742 
Note: See TracChangeset for help on using the changeset viewer.