Mercurial > gemma
comparison client/src/store/imports.js @ 2578:3ad81357a57c
overview2 WIP
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Mon, 11 Mar 2019 15:35:13 +0100 |
parents | 522024fa06eb |
children | 5472a5be09c2 |
comparison
equal
deleted
inserted
replaced
2577:fcb139bfa56b | 2578:3ad81357a57c |
---|---|
22 NEEDSAPPROVAL: "pending", | 22 NEEDSAPPROVAL: "pending", |
23 APPROVED: "accepted", | 23 APPROVED: "accepted", |
24 REJECTED: "declined" | 24 REJECTED: "declined" |
25 }; | 25 }; |
26 | 26 |
27 const NODETAILS = -1; | |
28 const NODIFF = -1; | |
29 | |
27 // initial state | 30 // initial state |
28 const init = () => { | 31 const init = () => { |
29 return { | 32 return { |
33 filters: [], | |
30 stretches: [], | 34 stretches: [], |
31 imports: [], | 35 imports: [], |
32 staging: [], | 36 staging: [], |
33 importToReview: null, | 37 importToReview: null, |
34 stagingVisible: true, | 38 stagingVisible: true, |
35 logsVisible: true | 39 logsVisible: true, |
40 show: NODETAILS, | |
41 showAdditional: NODETAILS, | |
42 showLogs: NODETAILS, | |
43 showDiff: NODIFF | |
36 }; | 44 }; |
37 }; | 45 }; |
38 | 46 |
39 const getStretchFromWFS = filter => { | 47 const getStretchFromWFS = filter => { |
40 return new Promise((resolve, reject) => { | 48 return new Promise((resolve, reject) => { |
68 const imports = { | 76 const imports = { |
69 init, | 77 init, |
70 namespaced: true, | 78 namespaced: true, |
71 state: init(), | 79 state: init(), |
72 getters: { | 80 getters: { |
81 toCommit: state => { | |
82 return state.imports.filter(x => { | |
83 return x.status && x.status !== STATES.NEEDSAPPROVAL; | |
84 }); | |
85 }, | |
73 processedReviews: state => { | 86 processedReviews: state => { |
74 return state.staging | 87 return state.staging |
75 .filter(x => x.status !== STATES.NEEDSAPPROVAL) | 88 .filter(x => x.status !== STATES.NEEDSAPPROVAL) |
76 .map(r => { | 89 .map(r => { |
77 return { | 90 return { |
80 }; | 93 }; |
81 }); | 94 }); |
82 } | 95 } |
83 }, | 96 }, |
84 mutations: { | 97 mutations: { |
98 setFilters: (state, filters) => { | |
99 state.filters = filters; | |
100 }, | |
101 clearFilters: state => { | |
102 state.filters = []; | |
103 }, | |
85 setStretches: (state, stretches) => { | 104 setStretches: (state, stretches) => { |
86 state.stretches = stretches; | 105 state.stretches = stretches; |
87 }, | 106 }, |
88 setImports: (state, imports) => { | 107 setImports: (state, imports) => { |
108 imports = imports.map(x => { | |
109 if (x.state === "pending") x["status"] = STATES.NEEDSAPPROVAL; | |
110 return x; | |
111 }); | |
89 state.imports = imports; | 112 state.imports = imports; |
90 }, | 113 }, |
91 setStagingVisibility: (state, visibility) => { | 114 setStagingVisibility: (state, visibility) => { |
92 state.stagingVisible = visibility; | 115 state.stagingVisible = visibility; |
93 }, | 116 }, |
165 return new Promise((resolve, reject) => { | 188 return new Promise((resolve, reject) => { |
166 HTTP.get("/imports" + queryParams, { | 189 HTTP.get("/imports" + queryParams, { |
167 headers: { "X-Gemma-Auth": localStorage.getItem("token") } | 190 headers: { "X-Gemma-Auth": localStorage.getItem("token") } |
168 }) | 191 }) |
169 .then(response => { | 192 .then(response => { |
170 commit("setImports", response.data.imports); | 193 const { imports } = response.data; |
194 commit("setImports", imports); | |
171 resolve(response); | 195 resolve(response); |
172 }) | 196 }) |
173 .catch(error => { | 197 .catch(error => { |
174 reject(error); | 198 reject(error); |
175 }); | 199 }); |