From 030f696cdd797734764d595d0f1dd763add07330 Mon Sep 17 00:00:00 2001 From: Maximilian Weiler <16721506+maweil@users.noreply.github.com> Date: Fri, 15 Oct 2021 01:48:47 +0200 Subject: [PATCH] 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> --- web_src/js/index.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/web_src/js/index.js b/web_src/js/index.js index 71e5691179..bc9725da95 100644 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -2233,15 +2233,21 @@ function searchUsers() { url: `${AppSubUrl}/api/v1/users/search?q={query}`, onResponse(response) { const items = []; + const searchQueryUppercase = $searchUserBox.find('input').val().toUpperCase(); $.each(response.data, (_i, item) => { let title = item.login; if (item.full_name && item.full_name.length > 0) { title += ` (${htmlEscape(item.full_name)})`; } - items.push({ + const resultItem = { title, image: item.avatar_url - }); + }; + if (searchQueryUppercase === item.login.toUpperCase()) { + items.unshift(resultItem); + } else { + items.push(resultItem); + } }); return {results: items};