autocomplete: display autocorrected tags like aliases.

Display autocorrected tags similar to aliases, with an arrow pointing at
the corrected tag, but with a dotted underline beneath the misspelled
tag to indicate that it's misspelled.
This commit is contained in:
evazion
2020-12-13 00:45:22 -06:00
parent 6a46aeb55c
commit b002bf25f5
3 changed files with 7 additions and 1 deletions

View File

@@ -182,6 +182,8 @@ Autocomplete.render_item = function(list, item) {
if (item.type === "tag") {
$link.addClass("tag-type-" + item.category);
} else if (item.type === "tag_autocorrect") {
$link.addClass(`tag-type-${item.category} tag-type-autocorrect`);
} else if (item.type === "user") {
var level_class = "user-" + item.level.toLowerCase();
$link.addClass(level_class);

View File

@@ -21,4 +21,8 @@
.autocomplete-arrow {
color: var(--autocomplete-arrow-color);
}
a.tag-type-autocorrect .autocomplete-antecedent {
text-decoration: dotted underline;
}
}

View File

@@ -103,7 +103,7 @@ class AutocompleteService
tags = Tag.nonempty.autocorrect_matches(string).limit(limit)
tags.map do |tag|
{ type: "tag", label: tag.pretty_name, value: tag.name, category: tag.category, post_count: tag.post_count }
{ type: "tag_autocorrect", label: tag.pretty_name, value: tag.name, category: tag.category, post_count: tag.post_count, antecedent: string }
end
end