Mercurial > gemma
comparison client/src/store/imports.js @ 2654:3c04c8e46bd4
importoverview: reload reloads current selection
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Thu, 14 Mar 2019 15:37:10 +0100 |
parents | 9f3856337f55 |
children | 501967471981 |
comparison
equal
deleted
inserted
replaced
2653:7fd47d9641ac | 2654:3c04c8e46bd4 |
---|---|
27 const NODETAILS = -1; | 27 const NODETAILS = -1; |
28 | 28 |
29 // initial state | 29 // initial state |
30 const init = () => { | 30 const init = () => { |
31 return { | 31 return { |
32 filters: [], | 32 failed: false, |
33 pending: false, | |
34 accepted: false, | |
35 declined: false, | |
36 warning: false, | |
33 stretches: [], | 37 stretches: [], |
34 imports: [], | 38 imports: [], |
35 reviewed: [], | 39 reviewed: [], |
36 show: NODETAILS, | 40 show: NODETAILS, |
37 showAdditional: NODETAILS, | 41 showAdditional: NODETAILS, |
66 reject(error); | 70 reject(error); |
67 }); | 71 }); |
68 }); | 72 }); |
69 }; | 73 }; |
70 | 74 |
75 const clearFilterCriteria = state => { | |
76 state.warning = false; | |
77 state.successful = false; | |
78 state.failed = false; | |
79 state.pending = false; | |
80 state.accepted = false; | |
81 state.declined = false; | |
82 }; | |
83 | |
71 const imports = { | 84 const imports = { |
72 init, | 85 init, |
73 namespaced: true, | 86 namespaced: true, |
74 state: init(), | 87 state: init(), |
88 getters: { | |
89 filters: state => { | |
90 return ["failed", "pending", "accepted", "declined", "warning"].filter( | |
91 x => state[x] | |
92 ); | |
93 } | |
94 }, | |
75 mutations: { | 95 mutations: { |
76 setFilters: (state, filters) => { | 96 toggleFilter: (state, name) => { |
77 state.filters = filters; | 97 state[name] = !state[name]; |
98 const allSet = | |
99 state.failed && | |
100 state.pending && | |
101 state.accepted && | |
102 state.declined && | |
103 state.warning; | |
104 if (allSet) { | |
105 clearFilterCriteria(state); | |
106 } | |
78 }, | 107 }, |
79 clearFilters: state => { | 108 clearFilters: state => { |
80 state.filters = []; | 109 clearFilterCriteria(state); |
81 }, | 110 }, |
82 setStretches: (state, stretches) => { | 111 setStretches: (state, stretches) => { |
83 state.stretches = stretches; | 112 state.stretches = stretches; |
84 }, | 113 }, |
85 setReviewed: (state, reviewed) => { | 114 setReviewed: (state, reviewed) => { |
198 .catch(error => { | 227 .catch(error => { |
199 reject(error); | 228 reject(error); |
200 }); | 229 }); |
201 }); | 230 }); |
202 }, | 231 }, |
203 getStaging({ commit }) { | |
204 return new Promise((resolve, reject) => { | |
205 HTTP.get("/imports?states=pending", { | |
206 headers: { "X-Gemma-Auth": localStorage.getItem("token") } | |
207 }) | |
208 .then(response => { | |
209 commit("setStaging", response.data.imports); | |
210 resolve(response); | |
211 }) | |
212 .catch(error => { | |
213 reject(error); | |
214 }); | |
215 }); | |
216 }, | |
217 confirmReview({ state }, reviewResults) { | 232 confirmReview({ state }, reviewResults) { |
218 return new Promise((resolve, reject) => { | 233 return new Promise((resolve, reject) => { |
219 HTTP.patch("/imports", reviewResults, { | 234 HTTP.patch("/imports", reviewResults, { |
220 headers: { | 235 headers: { |
221 "X-Gemma-Auth": localStorage.getItem("token"), | 236 "X-Gemma-Auth": localStorage.getItem("token"), |