@dlr-eoc/utils-browser
Version:
This library contains a collection of utilities like download data as blob and Paper layout.
21 lines • 3.22 kB
JavaScript
export function downloadJson(data, fileName) {
const jsonData = JSON.stringify(data);
const blob = new Blob([jsonData], { type: 'text/json;charset=utf-8;' });
return downloadBlob(blob, fileName);
}
export function downloadBlob(blob, fileName) {
const url = window.URL.createObjectURL(blob);
downloadUrl(url, fileName);
}
export function downloadUrl(url, fileName) {
// window.open(url) doesn't work here. Instead, we create a temporary link item and simulate a click on it.
const a = document.createElement('a');
document.body.appendChild(a);
a.style.display = 'none';
a.href = url;
a.download = fileName;
a.click();
window.URL.revokeObjectURL(url);
document.body.removeChild(a);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy1icm93c2VyL3NyYy9saWIvZG93bmxvYWQvZG93bmxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFZLEVBQUUsUUFBZ0I7SUFDdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFLENBQUMsQ0FBQztJQUN4RSxPQUFPLFlBQVksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUdELE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBVSxFQUFFLFFBQWdCO0lBQ3JELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQUdELE1BQU0sVUFBVSxXQUFXLENBQUMsR0FBVyxFQUFFLFFBQWdCO0lBQ3JELDJHQUEyRztJQUMzRyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUVWLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZXhwb3J0IGZ1bmN0aW9uIGRvd25sb2FkSnNvbihkYXRhOiBvYmplY3QsIGZpbGVOYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBqc29uRGF0YSA9IEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbanNvbkRhdGFdLCB7IHR5cGU6ICd0ZXh0L2pzb247Y2hhcnNldD11dGYtODsnIH0pO1xuICAgIHJldHVybiBkb3dubG9hZEJsb2IoYmxvYiwgZmlsZU5hbWUpO1xufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBkb3dubG9hZEJsb2IoYmxvYjogQmxvYiwgZmlsZU5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgIGRvd25sb2FkVXJsKHVybCwgZmlsZU5hbWUpO1xufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBkb3dubG9hZFVybCh1cmw6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZykge1xuICAgIC8vIHdpbmRvdy5vcGVuKHVybCkgZG9lc24ndCB3b3JrIGhlcmUuIEluc3RlYWQsIHdlIGNyZWF0ZSBhIHRlbXBvcmFyeSBsaW5rIGl0ZW0gYW5kIHNpbXVsYXRlIGEgY2xpY2sgb24gaXQuXG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgIGEuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICBhLmhyZWYgPSB1cmw7XG4gICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xuICAgIGEuY2xpY2soKTtcblxuICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKTtcbn0iXX0=