Mercurial > gemma
comparison client/src/components/importoverview/ImportOverview.vue @ 4801:b23414a3b333
import_overview: alternative save method for csv
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Mon, 28 Oct 2019 10:02:51 +0100 |
parents | d6d73ca5496a |
children | 008bc1ae8897 |
comparison
equal
deleted
inserted
replaced
4800:37429e50a74f | 4801:b23414a3b333 |
---|---|
134 import { displayError, displayInfo } from "@/lib/errors"; | 134 import { displayError, displayInfo } from "@/lib/errors"; |
135 import { STATES } from "@/store/imports"; | 135 import { STATES } from "@/store/imports"; |
136 import { sortTable } from "@/lib/mixins"; | 136 import { sortTable } from "@/lib/mixins"; |
137 import { HTTP } from "@/lib/http"; | 137 import { HTTP } from "@/lib/http"; |
138 import app from "@/main"; | 138 import app from "@/main"; |
139 import { saveAs } from "file-saver"; | |
139 import { | 140 import { |
140 startOfDay, | 141 startOfDay, |
141 startOfHour, | 142 startOfHour, |
142 endOfHour, | 143 endOfHour, |
143 endOfDay, | 144 endOfDay, |
267 ) | 268 ) |
268 .then(response => { | 269 .then(response => { |
269 const imports = response.data; | 270 const imports = response.data; |
270 app.$snotify.clear(); | 271 app.$snotify.clear(); |
271 if (!imports) return; | 272 if (!imports) return; |
272 const csvLink = | 273 const csvFile = new Blob([new TextEncoder().encode(imports)], { |
273 "data:text/csv;charset=utf-8," + encodeURIComponent(imports); | 274 type: "text/csv" |
274 let element = document.createElement("a"); | 275 }); |
275 element.setAttribute("download", "log.csv"); | 276 saveAs(csvFile, "log.csv"); |
276 element.setAttribute("href", csvLink); | |
277 document.querySelector("body").appendChild(element); | |
278 element.click(); | |
279 document.querySelector("body").removeChild(element); | |
280 }) | 277 }) |
281 .catch(error => { | 278 .catch(error => { |
279 console.log(error); | |
282 const { status, data } = error.response; | 280 const { status, data } = error.response; |
283 app.$snotify.clear(); | 281 app.$snotify.clear(); |
284 displayError({ | 282 displayError({ |
285 title: this.$gettext("Backend Error"), | 283 title: this.$gettext("Backend Error"), |
286 message: `${status}: ${data.message || data}` | 284 message: `${status}: ${data.message || data}` |