AutorÃa | Ultima modificación | Ver Log |
YUI.add('autocomplete-highlighters', function (Y, NAME) {/**Provides pre-built result highlighters for AutoComplete.@module autocomplete@submodule autocomplete-highlighters@class AutoCompleteHighlighters@static**/var YArray = Y.Array,Highlight = Y.Highlight,Highlighters = Y.mix(Y.namespace('AutoCompleteHighlighters'), {// -- Public Methods -------------------------------------------------------/**Highlights any individual query character that occurs anywhere in a result.Case-insensitive.@method charMatch@param {String} query Query to match@param {Array} results Results to highlight@return {Array} Highlighted results@static**/charMatch: function (query, results, caseSensitive) {// The caseSensitive parameter is only intended for use by// charMatchCase(). It's intentionally undocumented.var queryChars = YArray.unique((caseSensitive ? query :query.toLowerCase()).split(''));return YArray.map(results, function (result) {return Highlight.all(result.text, queryChars, {caseSensitive: caseSensitive});});},/**Case-sensitive version of `charMatch()`.@method charMatchCase@param {String} query Query to match@param {Array} results Results to highlight@return {Array} Highlighted results@static**/charMatchCase: function (query, results) {return Highlighters.charMatch(query, results, true);},/**Highlights the complete query as a phrase anywhere within a result. Case-insensitive.@method phraseMatch@param {String} query Query to match@param {Array} results Results to highlight@return {Array} Highlighted results@static**/phraseMatch: function (query, results, caseSensitive) {// The caseSensitive parameter is only intended for use by// phraseMatchCase(). It's intentionally undocumented.return YArray.map(results, function (result) {return Highlight.all(result.text, [query], {caseSensitive: caseSensitive});});},/**Case-sensitive version of `phraseMatch()`.@method phraseMatchCase@param {String} query Query to match@param {Array} results Results to highlight@return {Array} Highlighted results@static**/phraseMatchCase: function (query, results) {return Highlighters.phraseMatch(query, results, true);},/**Highlights the complete query as a phrase at the beginning of a result.Case-insensitive.@method startsWith@param {String} query Query to match@param {Array} results Results to highlight@return {Array} Highlighted results@static**/startsWith: function (query, results, caseSensitive) {// The caseSensitive parameter is only intended for use by// startsWithCase(). It's intentionally undocumented.return YArray.map(results, function (result) {return Highlight.all(result.text, [query], {caseSensitive: caseSensitive,startsWith : true});});},/**Case-sensitive version of `startsWith()`.@method startsWithCase@param {String} query Query to match@param {Array} results Results to highlight@return {Array} Highlighted results@static**/startsWithCase: function (query, results) {return Highlighters.startsWith(query, results, true);},/**Highlights portions of results in which words from the query match eitherwhole words or parts of words in the result. Non-word characters likewhitespace and certain punctuation are ignored. Case-insensitive.@method subWordMatch@param {String} query Query to match@param {Array} results Results to highlight@return {Array} Highlighted results@static**/subWordMatch: function (query, results, caseSensitive) {// The caseSensitive parameter is only intended for use by// subWordMatchCase(). It's intentionally undocumented.var queryWords = Y.Text.WordBreak.getUniqueWords(query, {ignoreCase: !caseSensitive});return YArray.map(results, function (result) {return Highlight.all(result.text, queryWords, {caseSensitive: caseSensitive});});},/**Case-sensitive version of `subWordMatch()`.@method subWordMatchCase@param {String} query Query to match@param {Array} results Results to highlight@return {Array} Highlighted results@static**/subWordMatchCase: function (query, results) {return Highlighters.subWordMatch(query, results, true);},/**Highlights individual words in results that are also in the query. Non-wordcharacters like punctuation are ignored. Case-insensitive.@method wordMatch@param {String} query Query to match@param {Array} results Results to highlight@return {Array} Highlighted results@static**/wordMatch: function (query, results, caseSensitive) {// The caseSensitive parameter is only intended for use by// wordMatchCase(). It's intentionally undocumented.return YArray.map(results, function (result) {return Highlight.words(result.text, query, {caseSensitive: caseSensitive});});},/**Case-sensitive version of `wordMatch()`.@method wordMatchCase@param {String} query Query to match@param {Array} results Results to highlight@return {Array} Highlighted results@static**/wordMatchCase: function (query, results) {return Highlighters.wordMatch(query, results, true);}});}, '3.18.1', {"requires": ["array-extras", "highlight-base"]});