diff options
Diffstat (limited to 'app/assets/javascripts/vue_merge_request_widget/components/states/squash_before_merge.vue')
-rw-r--r-- | app/assets/javascripts/vue_merge_request_widget/components/states/squash_before_merge.vue | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/squash_before_merge.vue b/app/assets/javascripts/vue_merge_request_widget/components/states/squash_before_merge.vue new file mode 100644 index 00000000000..25ad329e196 --- /dev/null +++ b/app/assets/javascripts/vue_merge_request_widget/components/states/squash_before_merge.vue @@ -0,0 +1,63 @@ +<script> +import Icon from '~/vue_shared/components/icon.vue'; +import eventHub from '~/vue_merge_request_widget/event_hub'; +import tooltip from '~/vue_shared/directives/tooltip'; + +export default { + components: { + Icon, + }, + directives: { + tooltip, + }, + props: { + mr: { + type: Object, + required: true, + }, + isMergeButtonDisabled: { + type: Boolean, + required: true, + }, + }, + data() { + return { + squashBeforeMerge: this.mr.squash, + }; + }, + methods: { + updateSquashModel() { + eventHub.$emit('MRWidgetUpdateSquash', this.squashBeforeMerge); + }, + }, +}; +</script> + +<template> + <div class="accept-control inline"> + <label class="merge-param-checkbox"> + <input + v-model="squashBeforeMerge" + :disabled="isMergeButtonDisabled" + type="checkbox" + name="squash" + class="qa-squash-checkbox" + @change="updateSquashModel" + /> + {{ __('Squash commits') }} + </label> + <a + v-tooltip + :href="mr.squashBeforeMergeHelpPath" + data-title="About this feature" + data-placement="bottom" + target="_blank" + rel="noopener noreferrer nofollow" + data-container="body" + > + <icon + name="question-o" + /> + </a> + </div> +</template> |