From 0d6e33ff39efa7eaa80ffcecf61eb16221c8be97 Mon Sep 17 00:00:00 2001 From: Thomas Randolph Date: Fri, 25 Oct 2024 15:07:12 -0600 Subject: [PATCH 1/3] Show `!=` NOT filter for source branch in the Vue MR List --- .../merge_requests/list/components/merge_requests_list_app.vue | 1 - 1 file changed, 1 deletion(-) 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 16d4fa3f7a153f..616c85664a538e 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 @@ -340,7 +340,6 @@ export default { title: TOKEN_TITLE_TARGET_BRANCH, icon: 'arrow-right', token: BranchToken, - operators: OPERATORS_IS, fullPath: this.fullPath, isProject: true, fetchBranches: this.fetchTargetBranches, -- GitLab From 4046d6e0b8321c7fdc2b12e4e377e87335a9a1cc Mon Sep 17 00:00:00 2001 From: Thomas Randolph Date: Wed, 30 Oct 2024 13:32:00 -0600 Subject: [PATCH 2/3] Update the URL with usable values --- app/assets/javascripts/issues/list/constants.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/assets/javascripts/issues/list/constants.js b/app/assets/javascripts/issues/list/constants.js index 3e2c923f0ac7b6..f2424d5cba3fb3 100644 --- a/app/assets/javascripts/issues/list/constants.js +++ b/app/assets/javascripts/issues/list/constants.js @@ -329,6 +329,9 @@ export const filtersMap = { [OPERATOR_IS]: { [NORMAL_FILTER]: 'target_branches[]', }, + [OPERATOR_NOT]: { + [NORMAL_FILTER]: 'not[target_branches][]', + }, }, }, [TOKEN_TYPE_TYPE]: { -- GitLab From 2f3b9dc70d840e9b33dd9e47b5b4f7195692664d Mon Sep 17 00:00:00 2001 From: Thomas Randolph Date: Wed, 30 Oct 2024 14:04:24 -0600 Subject: [PATCH 3/3] Update NOT tests to include target branch --- .../list/components/merge_requests_list_app_spec.js | 11 +++++++++++ 1 file changed, 11 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 1af59ad9a190cd..a9f6f2570ffcff 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 @@ -421,6 +421,10 @@ describe('Merge requests list app', () => { type: 'source-branch', value: { data: ['branch_name'], operator: OPERATOR_NOT }, }, + { + type: 'target-branch', + value: { data: ['branch_name'], operator: OPERATOR_NOT }, + }, ]); await nextTick(); @@ -431,6 +435,7 @@ describe('Merge requests list app', () => { assigneeUsernames: ['root'], reviewerUsername: 'root', sourceBranches: ['branch_name'], + targetBranches: ['branch_name'], }, }), ); @@ -441,6 +446,7 @@ describe('Merge requests list app', () => { assigneeUsernames: ['root'], reviewerUsername: 'root', sourceBranches: ['branch_name'], + targetBranches: ['branch_name'], }, }), ); @@ -462,6 +468,10 @@ describe('Merge requests list app', () => { type: 'source-branch', value: { data: ['branch_name'], operator: OPERATOR_NOT }, }, + { + type: 'target-branch', + value: { data: ['branch_name'], operator: OPERATOR_NOT }, + }, ]); await nextTick(); @@ -471,6 +481,7 @@ describe('Merge requests list app', () => { 'not[assignee_username][]': ['root'], 'not[reviewer_username]': 'root', 'not[source_branches][]': ['branch_name'], + 'not[target_branches][]': ['branch_name'], }), }); }); -- GitLab