diff --git a/frontend/src/Metamaps/GlobalUI/ImportDialog.js b/frontend/src/Metamaps/GlobalUI/ImportDialog.js index dfc319b7..fd183033 100644 --- a/frontend/src/Metamaps/GlobalUI/ImportDialog.js +++ b/frontend/src/Metamaps/GlobalUI/ImportDialog.js @@ -24,7 +24,8 @@ const ImportDialog = { `)) ReactDOM.render(React.createElement(ImportDialogBox, { onFileAdded: PasteInput.handleFile, - exampleImageUrl: serverData['import-example.png'] + exampleImageUrl: serverData['import-example.png'], + downloadScreenshot: ImportDialog.downloadScreenshot }), $('.importDialogWrapper').get(0)) }, show: function() { @@ -32,6 +33,10 @@ const ImportDialog = { }, hide: function() { ImportDialog.closeLightbox('import-dialog') + }, + downloadScreenshot: function() { + ImportDialog.hide() + Map.offerScreenshotDownload() } } diff --git a/frontend/src/Metamaps/Map/index.js b/frontend/src/Metamaps/Map/index.js index cf02b57a..a92eebfc 100644 --- a/frontend/src/Metamaps/Map/index.js +++ b/frontend/src/Metamaps/Map/index.js @@ -251,19 +251,22 @@ const Map = { } }, exportImage: function() { + Map.offerScreenshotDownload() + Map.uploadMapScreenshot() + }, + offerScreenshotDownload: () => { const canvas = Map.getMapCanvasForScreenshots() const filename = Map.getMapScreenshotFilename(Active.Map) - Map.offerScreenshotDownload(canvas, filename) - Map.uploadMapScreenshot(canvas, filename) - }, - offerScreenshotDownload: (canvas, filename) => { var downloadMessage = outdent` Captured map screenshot! DOWNLOAD` GlobalUI.notifyUser(downloadMessage) }, - uploadMapScreenshot: (canvas, filename) => { + uploadMapScreenshot: () => { + const canvas = Map.getMapCanvasForScreenshots() + const filename = Map.getMapScreenshotFilename(Active.Map) + canvas.canvas.toBlob(imageBlob => { const formData = new window.FormData() formData.append('map[screenshot]', imageBlob, filename) diff --git a/frontend/src/components/ImportDialogBox.js b/frontend/src/components/ImportDialogBox.js index ddf81c38..ae2b6185 100644 --- a/frontend/src/components/ImportDialogBox.js +++ b/frontend/src/components/ImportDialogBox.js @@ -27,6 +27,9 @@ class ImportDialogBox extends Component {
To upload a file, drop it here: