From 14318c898208977fbff261888348f1412d40fd88 Mon Sep 17 00:00:00 2001 From: Kmaschta Date: Thu, 22 Dec 2016 18:00:23 +0100 Subject: [PATCH] Allow IE11 & Edge to export CSV Fix #1116 --- .../ng-admin/Crud/button/maExportToCsvButton.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/javascripts/ng-admin/Crud/button/maExportToCsvButton.js b/src/javascripts/ng-admin/Crud/button/maExportToCsvButton.js index 42b548ff..33f96f58 100644 --- a/src/javascripts/ng-admin/Crud/button/maExportToCsvButton.js +++ b/src/javascripts/ng-admin/Crud/button/maExportToCsvButton.js @@ -58,9 +58,16 @@ export default function maExportToCsvButton ($stateParams, Papa, notification, A var fakeLink = document.createElement('a'); document.body.appendChild(fakeLink); - fakeLink.setAttribute('href', 'data:application/octet-stream;charset=utf-8,' + encodeURIComponent(csv)); - fakeLink.setAttribute('download', scope.entity.name() + '.csv'); - fakeLink.click(); + const blobName = `${scope.entity.name()}.csv`; + + if (window.navigator && window.navigator.msSaveOrOpenBlob) { // Manage IE11+ & Edge + var blob = new Blob([csv], { type: 'text/csv' }); + window.navigator.msSaveOrOpenBlob(blob, blobName); + } else { + fakeLink.setAttribute('href', 'data:application/octet-stream;charset=utf-8,' + encodeURIComponent(csv)); + fakeLink.setAttribute('download', blobName); + fakeLink.click(); + } }, function (error) { notification.log(error.message, {addnCls: 'humane-flatty-error'}); });