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}`