1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
import { createAlert } from '~/flash';
import approvedByQuery from 'ee_else_ce/vue_merge_request_widget/components/approvals/queries/approvals.query.graphql';
import { FETCH_ERROR } from '../components/approvals/messages';
export default {
apollo: {
approvals: {
query: approvedByQuery,
variables() {
return {
projectPath: this.mr.targetProjectFullPath,
iid: `${this.mr.iid}`,
};
},
update: (data) => data.project.mergeRequest,
result({ data }) {
const { mergeRequest } = data.project;
this.mr.setApprovals(mergeRequest);
},
error() {
createAlert({
message: FETCH_ERROR,
});
},
},
},
data() {
return {
alerts: [],
approvals: {},
};
},
methods: {
clearError() {
this.$emit('clearError');
this.hasApprovalAuthError = false;
this.alerts.forEach((alert) => alert.dismiss());
this.alerts = [];
},
refreshApprovals() {
return this.service.fetchApprovals().then((data) => {
this.mr.setApprovals(data);
});
},
},
};
|