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>
tokarchuk/v1.17
Maximilian Weiler 3 years ago committed by GitHub
parent fa8b8c055d
commit 030f696cdd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      web_src/js/index.js

@ -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…
Cancel
Save