Show direct match on top for user search ()

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:
Maximilian Weiler 2021-10-15 01:48:47 +02:00 committed by GitHub
parent fa8b8c055d
commit 030f696cdd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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};