From f41c5764ff256232e4613251cd42e9ec295f85d9 Mon Sep 17 00:00:00 2001
From: Paul Kaplan <pkaplan@media.mit.edu>
Date: Fri, 1 Feb 2019 13:17:43 -0500
Subject: [PATCH] Use more generic download-url and remove older download-text
 utility

---
 src/containers/monitor.jsx |  5 +++--
 src/lib/download-text.js   | 13 -------------
 2 files changed, 3 insertions(+), 15 deletions(-)
 delete mode 100644 src/lib/download-text.js

diff --git a/src/containers/monitor.jsx b/src/containers/monitor.jsx
index e2c882220..039fa060d 100644
--- a/src/containers/monitor.jsx
+++ b/src/containers/monitor.jsx
@@ -8,7 +8,7 @@ import MonitorComponent, {monitorModes} from '../components/monitor/monitor.jsx'
 import {addMonitorRect, getInitialPosition, resizeMonitorRect, removeMonitorRect} from '../reducers/monitor-layout';
 import {getVariable, setVariableValue} from '../lib/variable-utils';
 import importCSV from '../lib/import-csv';
-import downloadText from '../lib/download-text';
+import download from '../lib/download-url';
 
 import {connect} from 'react-redux';
 import {Map} from 'immutable';
@@ -155,7 +155,8 @@ class Monitor extends React.Component {
     handleExport () {
         const {vm, targetId, id: variableId} = this.props;
         const variable = getVariable(vm, targetId, variableId);
-        downloadText(`${variable.name}.txt`, variable.value.join('\r\n'));
+        const text = variable.value.join('\r\n');
+        download(`${variable.name}.txt`, `data:text/plain;charset=utf-8,${encodeURIComponent(text)}`);
     }
     render () {
         const monitorProps = monitorAdapter(this.props);
diff --git a/src/lib/download-text.js b/src/lib/download-text.js
deleted file mode 100644
index 2c0bc91a5..000000000
--- a/src/lib/download-text.js
+++ /dev/null
@@ -1,13 +0,0 @@
-export default (filename, text) => {
-    const pom = document.createElement('a');
-    pom.setAttribute('href', `data:text/plain;charset=utf-8,${encodeURIComponent(text)}`);
-    pom.setAttribute('download', filename);
-
-    if (document.createEvent) {
-        const event = document.createEvent('MouseEvents');
-        event.initEvent('click', true, true);
-        pom.dispatchEvent(event);
-    } else {
-        pom.click();
-    }
-};
-- 
GitLab