forked from NYANDEV/forgejo
Show direct match on top for user search (#17303)
This PR makes sure that direct matches in the user search always show on top of the result list. The following places were checked to follow the desired behavior now: - Search when adding a user to a team - Search when adding a user as a collaborator to a repository Signed-off-by: Maximilian Weiler <16721506+maweil@users.noreply.github.com>
This commit is contained in:
parent
fa8b8c055d
commit
030f696cdd
1 changed files with 8 additions and 2 deletions
|
@ -2233,15 +2233,21 @@ function searchUsers() {
|
||||||
url: `${AppSubUrl}/api/v1/users/search?q={query}`,
|
url: `${AppSubUrl}/api/v1/users/search?q={query}`,
|
||||||
onResponse(response) {
|
onResponse(response) {
|
||||||
const items = [];
|
const items = [];
|
||||||
|
const searchQueryUppercase = $searchUserBox.find('input').val().toUpperCase();
|
||||||
$.each(response.data, (_i, item) => {
|
$.each(response.data, (_i, item) => {
|
||||||
let title = item.login;
|
let title = item.login;
|
||||||
if (item.full_name && item.full_name.length > 0) {
|
if (item.full_name && item.full_name.length > 0) {
|
||||||
title += ` (${htmlEscape(item.full_name)})`;
|
title += ` (${htmlEscape(item.full_name)})`;
|
||||||
}
|
}
|
||||||
items.push({
|
const resultItem = {
|
||||||
title,
|
title,
|
||||||
image: item.avatar_url
|
image: item.avatar_url
|
||||||
});
|
};
|
||||||
|
if (searchQueryUppercase === item.login.toUpperCase()) {
|
||||||
|
items.unshift(resultItem);
|
||||||
|
} else {
|
||||||
|
items.push(resultItem);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return {results: items};
|
return {results: items};
|
||||||
|
|
Loading…
Reference in a new issue