Commit c09217e7 authored by Bryce Johnson's avatar Bryce Johnson

Disable approval buttons during API calls.

parent ccf8b725
......@@ -27,6 +27,11 @@
required: false,
},
},
data() {
return {
approving: false,
};
},
computed: {
approvalsRequiredStringified() {
const baseString = `${this.approvalsLeft} more approval`;
......@@ -61,7 +66,10 @@
},
methods: {
approveMergeRequest() {
return gl.ApprovalsStore.approve();
this.approving = true;
return gl.ApprovalsStore.approve().then(() => {
this.approving = false;
});
},
},
beforeCreate() {
......@@ -74,6 +82,7 @@
</h4>
<div v-if='showApproveButton' class='append-bottom-10'>
<button
:disabled='approving'
@click='approveMergeRequest'
class='btn btn-primary approve-btn'>
Approve Merge Request
......
......@@ -35,14 +35,22 @@
required: true,
},
},
data() {
return {
unapproving: false,
};
},
computed: {
showUnapproveButton() {
return this.userHasApproved && !this.userCanApprove;
},
},
methods: {
removeApproval() {
gl.ApprovalsStore.unapprove();
unapproveMergeRequest() {
this.unapproving = true;
gl.ApprovalsStore.unapprove().then(() => {
this.unapproving = false;
});
},
},
beforeCreate() {
......@@ -70,9 +78,13 @@
</link-to-member-avatar>
</span>
<span class='unapprove-btn-wrap' v-if='showUnapproveButton'>
<span class='unapprove-btn' @click='removeApproval()'>
<button
:disabled='unapproving'
@click='unapproveMergeRequest'
class='btn btn-link unapprove-btn'>
<i class='fa fa-close'></i>
Remove your approval</span>
</button>
</span>
</div>
`,
......
......@@ -473,15 +473,22 @@
.unapprove-btn-wrap {
border-left: 1px solid $gl-gray-light;
padding-left: 15px;
padding-left: 5px;
margin-left: 10px;
}
.unapprove-btn {
border: none;
background: transparent;
cursor: pointer;
&:hover {
color: $gl-gray-light;
text-decoration: none;
}
&:focus {
outline: none;
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment