Mercurial > kallithea
changeset 5234:bd769a3e49c6
autocomplete: factor out highlightMatch function
author | Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> |
---|---|
date | Thu, 25 Jun 2015 21:10:01 +0200 |
parents | 63be69bd33cf |
children | 3cfa0a577f5a |
files | kallithea/public/js/base.js |
diffstat | 1 files changed, 18 insertions(+), 34 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/public/js/base.js Thu Jun 25 21:06:15 2015 +0200 +++ b/kallithea/public/js/base.js Thu Jun 25 21:10:01 2015 +0200 @@ -1149,6 +1149,14 @@ return matches; }; +// Helper highlight function for the formatter +var autocompleteHighlightMatch = function (full, snippet, matchindex) { + return full.substring(0, matchindex) + + "<span class='match'>" + + full.substr(matchindex, snippet.length) + + "</span>" + full.substring(matchindex + snippet.length); +}; + var _MembersAutoComplete = function (divid, cont, users_list, groups_list) { var matchUsers = function (sQuery) { @@ -1191,14 +1199,6 @@ ownerAC.animHoriz = false; ownerAC.animSpeed = 0.1; - // Helper highlight function for the formatter - var highlightMatch = function (full, snippet, matchindex) { - return full.substring(0, matchindex) - + "<span class='match'>" - + full.substr(matchindex, snippet.length) - + "</span>" + full.substring(matchindex + snippet.length); - }; - // Custom formatter to highlight the matching letters var custom_formatter = function (oResultData, sQuery, sResultMatch) { var query = sQuery.toLowerCase(); @@ -1223,7 +1223,7 @@ var grsuffix = " ({0} {1})".format(grmembers, _TM['members']); if (grnameMatchIndex > -1) { - return _gravatar(grprefix + highlightMatch(grname, query, grnameMatchIndex) + grsuffix,null,null,true); + return _gravatar(grprefix + autocompleteHighlightMatch(grname, query, grnameMatchIndex) + grsuffix,null,null,true); } return _gravatar(grprefix + oResultData.grname + grsuffix, null, null, true); // Users @@ -1239,19 +1239,19 @@ displayfname, displaylname, displaynname; if (fnameMatchIndex > -1) { - displayfname = highlightMatch(fname, query, fnameMatchIndex); + displayfname = autocompleteHighlightMatch(fname, query, fnameMatchIndex); } else { displayfname = fname; } if (lnameMatchIndex > -1) { - displaylname = highlightMatch(lname, query, lnameMatchIndex); + displaylname = autocompleteHighlightMatch(lname, query, lnameMatchIndex); } else { displaylname = lname; } if (nnameMatchIndex > -1) { - displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")"; + displaynname = "(" + autocompleteHighlightMatch(nname, query, nnameMatchIndex) + ")"; } else { displaynname = nname ? "(" + nname + ")" : ""; } @@ -1321,14 +1321,6 @@ ownerAC.animHoriz = false; ownerAC.animSpeed = 0.1; - // Helper highlight function for the formatter - var highlightMatch = function (full, snippet, matchindex) { - return full.substring(0, matchindex) - + "<span class='match'>" - + full.substr(matchindex, snippet.length) - + "</span>" + full.substring(matchindex + snippet.length); - }; - // Custom formatter to highlight the matching letters ownerAC.formatResult = function (oResultData, sQuery, sResultMatch) { var org_sQuery = sQuery; @@ -1360,19 +1352,19 @@ displayfname, displaylname, displaynname; if (fnameMatchIndex > -1) { - displayfname = highlightMatch(fname, query, fnameMatchIndex); + displayfname = autocompleteHighlightMatch(fname, query, fnameMatchIndex); } else { displayfname = fname; } if (lnameMatchIndex > -1) { - displaylname = highlightMatch(lname, query, lnameMatchIndex); + displaylname = autocompleteHighlightMatch(lname, query, lnameMatchIndex); } else { displaylname = lname; } if (nnameMatchIndex > -1) { - displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")"; + displaynname = "(" + autocompleteHighlightMatch(nname, query, nnameMatchIndex) + ")"; } else { displaynname = nname ? "(" + nname + ")" : ""; } @@ -1520,14 +1512,6 @@ reviewerAC.animHoriz = false; reviewerAC.animSpeed = 0.1; - // Helper highlight function for the formatter - var highlightMatch = function (full, snippet, matchindex) { - return full.substring(0, matchindex) - + "<span class='match'>" - + full.substr(matchindex, snippet.length) - + "</span>" + full.substring(matchindex + snippet.length); - }; - // Custom formatter to highlight the matching letters reviewerAC.formatResult = function (oResultData, sQuery, sResultMatch) { var org_sQuery = sQuery; @@ -1559,19 +1543,19 @@ displayfname, displaylname, displaynname; if (fnameMatchIndex > -1) { - displayfname = highlightMatch(fname, query, fnameMatchIndex); + displayfname = autocompleteHighlightMatch(fname, query, fnameMatchIndex); } else { displayfname = fname; } if (lnameMatchIndex > -1) { - displaylname = highlightMatch(lname, query, lnameMatchIndex); + displaylname = autocompleteHighlightMatch(lname, query, lnameMatchIndex); } else { displaylname = lname; } if (nnameMatchIndex > -1) { - displaynname = "(" + highlightMatch(nname, query, nnameMatchIndex) + ")"; + displaynname = "(" + autocompleteHighlightMatch(nname, query, nnameMatchIndex) + ")"; } else { displaynname = nname ? "(" + nname + ")" : ""; }