░▒▓████████████████████████████████▓▒░ ░▒▓█ ▓▒░ ░▒▓█ ~ S W A M P ~ ▓▒░ ░▒▓█ ▓▒░ ░▒▓████████████████████████████████▓▒░
pplmvsvm
LOCATION:
/var/www/moodle/public/lib/yuilib/3.18.1/autocomplete-filters-accentfold
☗ ROOT
↻ REFRESH
✎ CARVE FLESH
EDITING: autocomplete-filters-accentfold.js
YUI.add('autocomplete-filters-accentfold', function (Y, NAME) { /** Provides pre-built accent-folding result matching filters for AutoComplete. These filters are similar to the ones provided by the `autocomplete-filters` module, but use accent-aware comparisons. For example, "resume" and "résumé" will be considered equal when using the accent-folding filters. @module autocomplete @submodule autocomplete-filters-accentfold **/ /** @class AutoCompleteFilters @static **/ var AccentFold = Y.Text.AccentFold, WordBreak = Y.Text.WordBreak, YArray = Y.Array, YObject = Y.Object; Y.mix(Y.namespace('AutoCompleteFilters'), { /** Accent folding version of `charMatch()`. @method charMatchFold @param {String} query Query to match @param {Array} results Results to filter @return {Array} Filtered results @static **/ charMatchFold: function (query, results) { if (!query) { return results; } var queryChars = YArray.unique(AccentFold.fold(query).split('')); return YArray.filter(results, function (result) { var text = AccentFold.fold(result.text); return YArray.every(queryChars, function (chr) { return text.indexOf(chr) !== -1; }); }); }, /** Accent folding version of `phraseMatch()`. @method phraseMatchFold @param {String} query Query to match @param {Array} results Results to filter @return {Array} Filtered results @static **/ phraseMatchFold: function (query, results) { if (!query) { return results; } query = AccentFold.fold(query); return YArray.filter(results, function (result) { return AccentFold.fold(result.text).indexOf(query) !== -1; }); }, /** Accent folding version of `startsWith()`. @method startsWithFold @param {String} query Query to match @param {Array} results Results to filter @return {Array} Filtered results @static **/ startsWithFold: function (query, results) { if (!query) { return results; } query = AccentFold.fold(query); return YArray.filter(results, function (result) { return AccentFold.fold(result.text).indexOf(query) === 0; }); }, /** Accent folding version of `subWordMatch()`. @method subWordMatchFold @param {String} query Query to match @param {Array} results Results to filter @return {Array} Filtered results @static **/ subWordMatchFold: function (query, results) { if (!query) { return results; } var queryWords = WordBreak.getUniqueWords(AccentFold.fold(query)); return YArray.filter(results, function (result) { var resultText = AccentFold.fold(result.text); return YArray.every(queryWords, function (queryWord) { return resultText.indexOf(queryWord) !== -1; }); }); }, /** Accent folding version of `wordMatch()`. @method wordMatchFold @param {String} query Query to match @param {Array} results Results to filter @return {Array} Filtered results @static **/ wordMatchFold: function (query, results) { if (!query) { return results; } var queryWords = WordBreak.getUniqueWords(AccentFold.fold(query)); return YArray.filter(results, function (result) { // Convert resultWords array to a hash for fast lookup. var resultWords = YArray.hash(WordBreak.getUniqueWords( AccentFold.fold(result.text))); return YArray.every(queryWords, function (word) { return YObject.owns(resultWords, word); }); }); } }); }, '3.18.1', {"requires": ["array-extras", "text-accentfold", "text-wordbreak"]});
CANCEL
Name
Type
Size
Modified
Actions
↩ ..
DIR
—
—
📄 autocomplete-filters-accentfold-debug.js
JS
3.8 KB
2026-02-11 01:44
EDIT
📄 autocomplete-filters-accentfold-min.js
JS
1 KB
2026-02-11 01:44
EDIT
📄 autocomplete-filters-accentfold.js
JS
3.8 KB
2026-02-11 01:44
EDIT