Commit 8ba6244e authored by Bryce Johnson's avatar Bryce Johnson

Completely wire up approvals_api.

parent 414f52ec
...@@ -5,11 +5,6 @@ ...@@ -5,11 +5,6 @@
Vue.component('approvals-body', { Vue.component('approvals-body', {
name: 'approvals-body', name: 'approvals-body',
props: ['approvedBy', 'approvalsLeft', 'userCanApprove', 'userHasApproved'], props: ['approvedBy', 'approvalsLeft', 'userCanApprove', 'userHasApproved'],
data() {
return {
loading: true,
};
},
computed: { computed: {
approvalsRequiredStringified() { approvalsRequiredStringified() {
return this.approvalsLeft === 1 ? 'one more approval' : return this.approvalsLeft === 1 ? 'one more approval' :
...@@ -37,9 +32,7 @@ ...@@ -37,9 +32,7 @@
}, },
}, },
beforeCreate() { beforeCreate() {
gl.ApprovalsStore.fetch().then(() => { return gl.ApprovalsStore.fetch().then();
this.loading = false;
});
}, },
template: ` template: `
<div> <div>
...@@ -53,7 +46,6 @@ ...@@ -53,7 +46,6 @@
</button> </button>
</div> </div>
</div> </div>
<loading-icon v-if='loading'></loading-icon>
</div> </div>
`, `,
}); });
......
//= require ../stores/approvals_store //= require ../stores/approvals_store
//= require vue_common_component/link_to_member_avatar //= require vue_common_component/link_to_member_avatar
//= require vue_common_component/loading_icon
(() => { (() => {
Vue.component('approvals-footer', { Vue.component('approvals-footer', {
name: 'approvals-footer', name: 'approvals-footer',
props: ['userCanApprove', 'userHasApproved', 'approvedBy', 'approvalsLeft', 'pendingAvatarSvg', 'checkmarkSvg'], props: ['userCanApprove', 'userHasApproved', 'approvedBy', 'approvalsLeft', 'pendingAvatarSvg', 'checkmarkSvg'],
data() {
return {
loading: true,
};
},
computed: { computed: {
hasApprovers() { hasApprovers() {
return this.approvedBy && this.approvedBy.length; return this.approvedBy && this.approvedBy.length;
...@@ -22,13 +16,11 @@ ...@@ -22,13 +16,11 @@
}, },
methods: { methods: {
removeApproval() { removeApproval() {
return gl.ApprovalsStore.unapprove(); gl.ApprovalsStore.unapprove();
}, },
}, },
beforeCreate() { beforeCreate() {
return gl.ApprovalsStore.fetch().then(() => { return gl.ApprovalsStore.fetch();
this.loading = false;
});
}, },
template: ` template: `
<div v-if='hasApprovers' class='mr-widget-footer approved-by-users approvals-footer clearfix'> <div v-if='hasApprovers' class='mr-widget-footer approved-by-users approvals-footer clearfix'>
...@@ -54,9 +46,8 @@ ...@@ -54,9 +46,8 @@
</span> </span>
<span class='unapprove-btn-wrap' v-if='showUnapproveButton'> <span class='unapprove-btn-wrap' v-if='showUnapproveButton'>
<i class='fa fa-close'></i> <i class='fa fa-close'></i>
<span @click='removeApproval'>Remove your approval</span> <span @click='removeApproval()'>Remove your approval</span>
</span> </span>
<loading-icon v-if='loading'></loading-icon>
</div> </div>
`, `,
}); });
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
init(mergeRequestEndpoint) { init(mergeRequestEndpoint) {
this.baseEndpoint = mergeRequestEndpoint; this.baseEndpoint = mergeRequestEndpoint;
Vue.http.headers.common['X-CSRF-Token'] = $.rails.csrfToken();
} }
fetchApprovals() { fetchApprovals() {
...@@ -20,7 +21,7 @@ ...@@ -20,7 +21,7 @@
approveMergeRequest() { approveMergeRequest() {
const endpoint = `${this.baseEndpoint}/approvals`; const endpoint = `${this.baseEndpoint}/approvals`;
return Vue.http.save(endpoint).catch((err) => { return Vue.http.post(endpoint).catch((err) => {
console.error(`Error approving merge request. ${err}`); console.error(`Error approving merge request. ${err}`);
}); });
} }
......
...@@ -28,12 +28,12 @@ ...@@ -28,12 +28,12 @@
approve() { approve() {
return this.api.approveMergeRequest() return this.api.approveMergeRequest()
.then(res => this.rootStore.assignToData(res.data)); .then(res => this.assignToRootStore(res.data));
} }
unapprove() { unapprove() {
return this.api.unapproveMergeRequest() return this.api.unapproveMergeRequest()
.then(res => this.rootStore.assignToData(res.data)); .then(res => this.assignToRootStore(res.data));
} }
} }
......
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