From b6c57eb9691523163ca39f93e41c202b94ec5967 Mon Sep 17 00:00:00 2001 From: Samantha Ming Date: Thu, 18 Jun 2020 15:11:46 -0700 Subject: [PATCH] Configure Merge Widget "Squash commits" Issue: https://gitlab.com/gitlab-org/gitlab/-/issues/17613 Modify the Squash commits in the Merge Widget to take in account of the Squash Options configuration set in the Project Setting. This is Part 2 of the FE implementation for the Configurable defaults for "Squash commits" option feature. --- .../components/states/ready_to_merge.vue | 12 +++-- .../components/states/squash_before_merge.vue | 2 +- .../stores/mr_widget_store.js | 3 ++ .../states/mr_widget_ready_to_merge_spec.js | 3 ++ .../states/mr_widget_ready_to_merge_spec.js | 44 ++++++++++++++++--- .../mr_widget_squash_before_merge_spec.js | 21 +++++++++ 6 files changed, 76 insertions(+), 9 deletions(-) diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue b/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue index 82be5eeb5ff65e..56cfd441fbc34f 100644 --- a/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue @@ -45,7 +45,8 @@ export default { isMakingRequest: false, isMergingImmediately: false, commitMessage: this.mr.commitMessage, - squashBeforeMerge: this.mr.squash, + squashBeforeMerge: this.mr.squashIsSelected, + isSquashReadOnly: this.mr.squashIsReadonly, successSvg, warningSvg, squashCommitMessage: this.mr.squashCommitMessage, @@ -106,7 +107,12 @@ export default { return this.isMergeButtonDisabled; }, shouldShowSquashBeforeMerge() { - const { commitsCount, enableSquashBeforeMerge } = this.mr; + const { commitsCount, enableSquashBeforeMerge, squashIsReadonly, squashIsSelected } = this.mr; + + if (squashIsReadonly && !squashIsSelected) { + return false; + } + return enableSquashBeforeMerge && commitsCount > 1; }, shouldShowMergeControls() { @@ -344,7 +350,7 @@ export default { v-if="shouldShowSquashBeforeMerge" v-model="squashBeforeMerge" :help-path="mr.squashBeforeMergeHelpPath" - :is-disabled="isMergeButtonDisabled" + :is-disabled="isSquashReadOnly" />