17 lines
530 B
JavaScript
17 lines
530 B
JavaScript
import { PHRASE_MATCH_REGEXP_PATTERN } from "discourse/lib/concerns/search-constants";
|
|
|
|
export const CLASS_NAME = "search-highlight";
|
|
|
|
export default function($elem, term) {
|
|
if (!_.isEmpty(term)) {
|
|
// special case ignore "l" which is used for magic sorting
|
|
let words = _.reject(
|
|
term.match(new RegExp(`${PHRASE_MATCH_REGEXP_PATTERN}|[^\\s]+`, "g")),
|
|
t => t === "l"
|
|
);
|
|
|
|
words = words.map(w => w.replace(/^"(.*)"$/, "$1"));
|
|
$elem.highlight(words, { className: CLASS_NAME, wordsOnly: true });
|
|
}
|
|
}
|