src/cm/media/js/lib/yui/yui_3.10.3/build/autocomplete-highlighters-accentfold/autocomplete-highlighters-accentfold-debug.js
author gibus
Tue, 11 Feb 2014 12:33:25 +0100
changeset 572 93383e54e042
parent 525 89ef5ed3c48b
permissions -rw-r--r--
Font size for piwik optout iframe.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
/*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
YUI 3.10.3 (build 2fb5187)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
Copyright 2013 Yahoo! Inc. All rights reserved.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
Licensed under the BSD License.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
http://yuilibrary.com/license/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
YUI.add('autocomplete-highlighters-accentfold', function (Y, NAME) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
Provides pre-built accent-folding result highlighters for AutoComplete.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
These highlighters are similar to the ones provided by the `autocomplete-
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
highlighters` module, but use accent-aware comparisons. For example, "resume"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
and "résumé" will be considered equal when using the accent-folding
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
highlighters.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
@module autocomplete
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
@submodule autocomplete-highlighters-accentfold
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
**/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
@class AutoCompleteHighlighters
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
@static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
**/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
var Highlight = Y.Highlight,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
    YArray    = Y.Array;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
Y.mix(Y.namespace('AutoCompleteHighlighters'), {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
    Accent-folding version of `charMatch()`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
    @method charMatchFold
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
    @param {String} query Query to match
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
    @param {Array} results Results to highlight
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
    @return {Array} Highlighted results
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
    @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
    charMatchFold: function (query, results) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
        var queryChars = YArray.unique(query.split(''));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
        return YArray.map(results, function (result) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
            return Highlight.allFold(result.text, queryChars);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
    Accent-folding version of `phraseMatch()`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
    @method phraseMatchFold
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
    @param {String} query Query to match
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
    @param {Array} results Results to highlight
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
    @return {Array} Highlighted results
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
    @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
    phraseMatchFold: function (query, results) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
        return YArray.map(results, function (result) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
            return Highlight.allFold(result.text, [query]);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
    Accent-folding version of `startsWith()`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
    @method startsWithFold
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
    @param {String} query Query to match
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
    @param {Array} results Results to highlight
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
    @return {Array} Highlighted results
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
    @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
    startsWithFold: function (query, results) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
        return YArray.map(results, function (result) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
            return Highlight.allFold(result.text, [query], {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
                startsWith: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
    Accent-folding version of `subWordMatch()`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
    @method subWordMatchFold
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
    @param {String} query Query to match
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
    @param {Array} results Results to highlight
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
    @return {Array} Highlighted results
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
    @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
    subWordMatchFold: function (query, results) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
        var queryWords = Y.Text.WordBreak.getUniqueWords(query);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
        return YArray.map(results, function (result) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
            return Highlight.allFold(result.text, queryWords);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
    Accent-folding version of `wordMatch()`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
    @method wordMatchFold
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
    @param {String} query Query to match
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
    @param {Array} results Results to highlight
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
    @return {Array} Highlighted results
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
    @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
    **/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
    wordMatchFold: function (query, results) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
        return YArray.map(results, function (result) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
            return Highlight.wordsFold(result.text, query);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
}, '3.10.3', {"requires": ["array-extras", "highlight-accentfold"]});