1
/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */
2
YUI.add('autocomplete-highlighters-accentfold', function (Y, NAME) {
5
Provides pre-built accent-folding result highlighters for AutoComplete.
7
These highlighters are similar to the ones provided by the `autocomplete-
8
highlighters` module, but use accent-aware comparisons. For example, "resume"
9
and "résumé" will be considered equal when using the accent-folding
13
@submodule autocomplete-highlighters-accentfold
17
@class AutoCompleteHighlighters
21
var Highlight = Y.Highlight,
24
Y.mix(Y.namespace('AutoCompleteHighlighters'), {
26
Accent-folding version of `charMatch()`.
29
@param {String} query Query to match
30
@param {Array} results Results to highlight
31
@return {Array} Highlighted results
34
charMatchFold: function (query, results) {
35
var queryChars = YArray.unique(query.split(''));
37
return YArray.map(results, function (result) {
38
return Highlight.allFold(result.text, queryChars);
43
Accent-folding version of `phraseMatch()`.
45
@method phraseMatchFold
46
@param {String} query Query to match
47
@param {Array} results Results to highlight
48
@return {Array} Highlighted results
51
phraseMatchFold: function (query, results) {
52
return YArray.map(results, function (result) {
53
return Highlight.allFold(result.text, [query]);
58
Accent-folding version of `startsWith()`.
60
@method startsWithFold
61
@param {String} query Query to match
62
@param {Array} results Results to highlight
63
@return {Array} Highlighted results
66
startsWithFold: function (query, results) {
67
return YArray.map(results, function (result) {
68
return Highlight.allFold(result.text, [query], {
75
Accent-folding version of `subWordMatch()`.
77
@method subWordMatchFold
78
@param {String} query Query to match
79
@param {Array} results Results to highlight
80
@return {Array} Highlighted results
83
subWordMatchFold: function (query, results) {
84
var queryWords = Y.Text.WordBreak.getUniqueWords(query);
86
return YArray.map(results, function (result) {
87
return Highlight.allFold(result.text, queryWords);
92
Accent-folding version of `wordMatch()`.
95
@param {String} query Query to match
96
@param {Array} results Results to highlight
97
@return {Array} Highlighted results
100
wordMatchFold: function (query, results) {
101
return YArray.map(results, function (result) {
102
return Highlight.wordsFold(result.text, query);
108
}, '3.9.1', {"requires": ["array-extras", "highlight-accentfold"]});