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"),