diff options
Diffstat (limited to 'app/assets/javascripts/filtered_search')
4 files changed, 26 insertions, 2 deletions
diff --git a/app/assets/javascripts/filtered_search/add_extra_tokens_for_merge_requests.js b/app/assets/javascripts/filtered_search/add_extra_tokens_for_merge_requests.js index 7d4df25816b..8899870be79 100644 --- a/app/assets/javascripts/filtered_search/add_extra_tokens_for_merge_requests.js +++ b/app/assets/javascripts/filtered_search/add_extra_tokens_for_merge_requests.js @@ -91,7 +91,7 @@ export default (IssuableTokenKeys, disableTargetBranchFilter = false) => { ], }; - const tokenPosition = 2; + const tokenPosition = 3; IssuableTokenKeys.tokenKeys.splice(tokenPosition, 0, ...[approvedBy.token]); IssuableTokenKeys.tokenKeysWithAlternative.splice(tokenPosition, 0, ...[approvedBy.token]); IssuableTokenKeys.conditions.push(...approvedBy.condition); diff --git a/app/assets/javascripts/filtered_search/available_dropdown_mappings.js b/app/assets/javascripts/filtered_search/available_dropdown_mappings.js index d7645f96406..77491d1556b 100644 --- a/app/assets/javascripts/filtered_search/available_dropdown_mappings.js +++ b/app/assets/javascripts/filtered_search/available_dropdown_mappings.js @@ -71,6 +71,11 @@ export default class AvailableDropdownMappings { gl: DropdownUser, element: this.container.querySelector('#js-dropdown-assignee'), }, + reviewer: { + reference: null, + gl: DropdownUser, + element: this.container.querySelector('#js-dropdown-reviewer'), + }, 'approved-by': { reference: null, gl: DropdownUser, diff --git a/app/assets/javascripts/filtered_search/constants.js b/app/assets/javascripts/filtered_search/constants.js index 6cd6f9c9906..08736b09407 100644 --- a/app/assets/javascripts/filtered_search/constants.js +++ b/app/assets/javascripts/filtered_search/constants.js @@ -1,4 +1,4 @@ -export const USER_TOKEN_TYPES = ['author', 'assignee', 'approved-by']; +export const USER_TOKEN_TYPES = ['author', 'assignee', 'approved-by', 'reviewer']; export const DROPDOWN_TYPE = { hint: 'hint', diff --git a/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js b/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js index d2ac80fa190..6e742e4ca02 100644 --- a/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js +++ b/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js @@ -22,6 +22,15 @@ export const tokenKeys = [ tag: '@assignee', }, { + formattedKey: __('Reviewer'), + key: 'reviewer', + type: 'string', + param: 'username', + symbol: '@', + icon: 'user', + tag: '@reviewer', + }, + { formattedKey: __('Milestone'), key: 'milestone', type: 'string', @@ -86,6 +95,16 @@ export const conditions = flattenDeep( value: __('Any'), }, { + url: 'reviewer_id=None', + tokenKey: 'reviewer', + value: __('None'), + }, + { + url: 'reviewer_id=Any', + tokenKey: 'reviewer', + value: __('Any'), + }, + { url: 'author_username=support-bot', tokenKey: 'author', value: 'support-bot', |