From 90e52131e3ff881d808fa5d3aa6eba539a62add2 Mon Sep 17 00:00:00 2001 From: Thomas Randolph Date: Thu, 18 Jul 2024 22:20:25 -0600 Subject: [PATCH 1/5] Add Merged-By filter token to Vue MR list app --- app/assets/javascripts/issues/list/constants.js | 11 +++++++++++ .../list/components/merge_requests_list_app.vue | 16 ++++++++++++++++ .../queries/get_merge_requests.query.graphql | 2 ++ 3 files changed, 29 insertions(+) diff --git a/app/assets/javascripts/issues/list/constants.js b/app/assets/javascripts/issues/list/constants.js index 45c8991e167cb2..f2e0165f76de8d 100644 --- a/app/assets/javascripts/issues/list/constants.js +++ b/app/assets/javascripts/issues/list/constants.js @@ -23,6 +23,7 @@ import { TOKEN_TYPE_HEALTH, TOKEN_TYPE_ITERATION, TOKEN_TYPE_LABEL, + TOKEN_TYPE_MERGE_USER, TOKEN_TYPE_MILESTONE, TOKEN_TYPE_MY_REACTION, TOKEN_TYPE_ORGANIZATION, @@ -238,6 +239,16 @@ export const filtersMap = { }, }, }, + [TOKEN_TYPE_MERGE_USER]: { + [API_PARAM]: { + [NORMAL_FILTER]: 'mergeUser', + }, + [URL_PARAM]: { + [OPERATOR_IS]: { + [NORMAL_FILTER]: 'merge_user', + }, + }, + }, [TOKEN_TYPE_MILESTONE]: { [API_PARAM]: { [NORMAL_FILTER]: 'milestoneTitle', diff --git a/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue b/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue index de00383ac3fc24..36c5c1cf07a7ee 100644 --- a/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue +++ b/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue @@ -31,6 +31,8 @@ import { TOKEN_TYPE_ASSIGNEE, TOKEN_TITLE_REVIEWER, TOKEN_TYPE_REVIEWER, + TOKEN_TYPE_MERGE_USER, + TOKEN_TITLE_MERGE_USER, TOKEN_TITLE_MILESTONE, TOKEN_TYPE_MILESTONE, TOKEN_TITLE_MY_REACTION, @@ -264,6 +266,20 @@ export default { ], unique: true, }, + { + type: TOKEN_TYPE_MERGE_USER, + title: TOKEN_TITLE_MERGE_USER, + icon: 'merge', + token: UserToken, + dataType: 'user', + defaultUsers: [], + operators: OPERATORS_IS, + fullPath: this.fullPath, + isProject: true, + recentSuggestionsStorageKey: `${this.fullPath}-merge_requests-recent-tokens-merged_by`, + preloadedUsers, + multiselect: false, + }, { type: TOKEN_TYPE_MILESTONE, title: TOKEN_TITLE_MILESTONE, diff --git a/app/assets/javascripts/merge_requests/list/queries/get_merge_requests.query.graphql b/app/assets/javascripts/merge_requests/list/queries/get_merge_requests.query.graphql index e483ef97748ae4..c661601388d962 100644 --- a/app/assets/javascripts/merge_requests/list/queries/get_merge_requests.query.graphql +++ b/app/assets/javascripts/merge_requests/list/queries/get_merge_requests.query.graphql @@ -16,6 +16,7 @@ query getMergeRequests( $draft: Boolean $labelName: [String!] $releaseTag: String + $mergeUser: String $milestoneTitle: String $milestoneWildcardId: MilestoneWildcardId $myReactionEmoji: String @@ -41,6 +42,7 @@ query getMergeRequests( draft: $draft labelName: $labelName releaseTag: $releaseTag + mergeUser: $mergeUser milestoneTitle: $milestoneTitle milestoneWildcardId: $milestoneWildcardId myReactionEmoji: $myReactionEmoji -- GitLab From 9c9444cc148904d6a6701986355750691dde2476 Mon Sep 17 00:00:00 2001 From: Thomas Randolph Date: Thu, 25 Jul 2024 16:03:08 -0600 Subject: [PATCH 2/5] Add tests for the Merge User token --- .../list/components/merge_requests_list_app_spec.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js b/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js index 2f558c03c5d0bf..a992bc4b37b08e 100644 --- a/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js +++ b/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js @@ -14,6 +14,7 @@ import { TOKEN_TYPE_AUTHOR, TOKEN_TYPE_DRAFT, TOKEN_TYPE_LABEL, + TOKEN_TYPE_MERGE_USER, TOKEN_TYPE_MILESTONE, TOKEN_TYPE_MY_REACTION, TOKEN_TYPE_SOURCE_BRANCH, @@ -145,6 +146,7 @@ describe('Merge requests list app', () => { { type: TOKEN_TYPE_REVIEWER, preloadedUsers: [] }, { type: TOKEN_TYPE_AUTHOR, preloadedUsers: [] }, { type: TOKEN_TYPE_DRAFT }, + { type: TOKEN_TYPE_MERGE_USER, preloadedUsers: [] } { type: TOKEN_TYPE_MILESTONE }, { type: TOKEN_TYPE_TARGET_BRANCH }, { type: TOKEN_TYPE_SOURCE_BRANCH }, @@ -162,6 +164,7 @@ describe('Merge requests list app', () => { reviewer_username: 'bill', draft: 'yes', 'label_name[]': 'fluff', + merge_user: 'mallory', milestone_title: 'milestone', my_reaction_emoji: '🔥', 'target_branches[]': 'branch-a', @@ -198,6 +201,7 @@ describe('Merge requests list app', () => { { type: TOKEN_TYPE_REVIEWER, preloadedUsers }, { type: TOKEN_TYPE_AUTHOR, preloadedUsers }, { type: TOKEN_TYPE_DRAFT }, + { type: TOKEN_TYPE_MERGE_USER, preloadedUsers }, { type: TOKEN_TYPE_MILESTONE }, { type: TOKEN_TYPE_TARGET_BRANCH }, { type: TOKEN_TYPE_SOURCE_BRANCH }, @@ -214,6 +218,7 @@ describe('Merge requests list app', () => { { type: TOKEN_TYPE_REVIEWER }, { type: TOKEN_TYPE_DRAFT }, { type: TOKEN_TYPE_LABEL }, + { type: TOKEN_TYPE_MERGE_USER }, { type: TOKEN_TYPE_MILESTONE }, { type: TOKEN_TYPE_MY_REACTION }, { type: TOKEN_TYPE_TARGET_BRANCH }, -- GitLab From 5547f78a52fa770a33cf4391b38bb45ea223188a Mon Sep 17 00:00:00 2001 From: Thomas Randolph Date: Fri, 30 Aug 2024 00:08:59 -0600 Subject: [PATCH 3/5] Make merged-by a unique filter --- .../merge_requests/list/components/merge_requests_list_app.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue b/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue index 36c5c1cf07a7ee..d26bec96f8693f 100644 --- a/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue +++ b/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue @@ -279,6 +279,7 @@ export default { recentSuggestionsStorageKey: `${this.fullPath}-merge_requests-recent-tokens-merged_by`, preloadedUsers, multiselect: false, + unique: true, }, { type: TOKEN_TYPE_MILESTONE, -- GitLab From cf77153ca567468d9a6b3e5ff3e058817a4284c7 Mon Sep 17 00:00:00 2001 From: Thomas Randolph Date: Fri, 30 Aug 2024 10:28:23 -0600 Subject: [PATCH 4/5] Add missing comma in spec token list --- .../list/components/merge_requests_list_app_spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js b/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js index a992bc4b37b08e..558afa4f9feca0 100644 --- a/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js +++ b/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js @@ -146,7 +146,7 @@ describe('Merge requests list app', () => { { type: TOKEN_TYPE_REVIEWER, preloadedUsers: [] }, { type: TOKEN_TYPE_AUTHOR, preloadedUsers: [] }, { type: TOKEN_TYPE_DRAFT }, - { type: TOKEN_TYPE_MERGE_USER, preloadedUsers: [] } + { type: TOKEN_TYPE_MERGE_USER, preloadedUsers: [] }, { type: TOKEN_TYPE_MILESTONE }, { type: TOKEN_TYPE_TARGET_BRANCH }, { type: TOKEN_TYPE_SOURCE_BRANCH }, -- GitLab From 6fdcdb26f23f5a9e2524db986ffd42be88751ac7 Mon Sep 17 00:00:00 2001 From: Thomas Randolph Date: Fri, 30 Aug 2024 21:53:13 -0600 Subject: [PATCH 5/5] Update mergeUser to be mergedBy for graphql backend resolver --- .../list/queries/get_merge_requests.query.graphql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/merge_requests/list/queries/get_merge_requests.query.graphql b/app/assets/javascripts/merge_requests/list/queries/get_merge_requests.query.graphql index c661601388d962..1fc02d73ba3497 100644 --- a/app/assets/javascripts/merge_requests/list/queries/get_merge_requests.query.graphql +++ b/app/assets/javascripts/merge_requests/list/queries/get_merge_requests.query.graphql @@ -42,7 +42,7 @@ query getMergeRequests( draft: $draft labelName: $labelName releaseTag: $releaseTag - mergeUser: $mergeUser + mergedBy: $mergeUser milestoneTitle: $milestoneTitle milestoneWildcardId: $milestoneWildcardId myReactionEmoji: $myReactionEmoji -- GitLab