mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-23 18:41:38 +01:00
7b94ac5eca
* refactor backup controller to return the data to be backed up and do the actual backup in the UI. Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com> * Move export-utils to ui/helpers as it's only used in the UI now. Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com> * use context to call event tracker. Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com> * Don't make backup function inline. Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com> Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>
20 lines
684 B
JavaScript
20 lines
684 B
JavaScript
import { getRandomFileName } from './util';
|
|
|
|
export function exportAsFile(filename, data, type = 'text/csv') {
|
|
// eslint-disable-next-line no-param-reassign
|
|
filename = filename || getRandomFileName();
|
|
// source: https://stackoverflow.com/a/33542499 by Ludovic Feltz
|
|
const blob = new window.Blob([data], { type });
|
|
if (window.navigator.msSaveOrOpenBlob) {
|
|
window.navigator.msSaveBlob(blob, filename);
|
|
} else {
|
|
const elem = window.document.createElement('a');
|
|
elem.target = '_blank';
|
|
elem.href = window.URL.createObjectURL(blob);
|
|
elem.download = filename;
|
|
document.body.appendChild(elem);
|
|
elem.click();
|
|
document.body.removeChild(elem);
|
|
}
|
|
}
|