From 7cbd4be943375ffb05a14b9eefcd51c4d17823b5 Mon Sep 17 00:00:00 2001
From: yann300
Date: Wed, 24 Mar 2021 08:51:04 +0100
Subject: [PATCH] download file system
---
.../src/app/ui/landing-page/landing-page.js | 25 +++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/apps/remix-ide/src/app/ui/landing-page/landing-page.js b/apps/remix-ide/src/app/ui/landing-page/landing-page.js
index 0b550b1fab..85e7f61de5 100644
--- a/apps/remix-ide/src/app/ui/landing-page/landing-page.js
+++ b/apps/remix-ide/src/app/ui/landing-page/landing-page.js
@@ -297,6 +297,27 @@ export class LandingPage extends ViewPlugin {
this.call('fileExplorers', 'createNewFile')
}
+ const downloadFiles = async () => {
+ const fileProviders = globalRegistry.get('fileproviders').api
+ const json = await fileProviders.browser.copyFolderToJson('/')
+ const blob = new Blob([ JSON.stringify(json, null, '\t') ], { type: 'text/plain;charset=utf-8' })
+ const node = document.createElement('a')
+ node.download = 'remix.json'
+ node.rel = 'noopener'
+ node.href = URL.createObjectURL(blob)
+ setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s
+ setTimeout(function () {
+ try {
+ node.dispatchEvent(new MouseEvent('click'))
+ } catch (e) {
+ var evt = document.createEvent('MouseEvents')
+ evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,
+ 20, false, false, false, false, 0, null)
+ node.dispatchEvent(evt)
+ }
+ }, 0) // 40s
+ }
+
const uploadFile = (target) => {
this.call('fileExplorers', 'uploadFile', target)
}
@@ -413,6 +434,10 @@ export class LandingPage extends ViewPlugin {
connectToLocalhost()}>Connect to Localhost
+
+
+ downloadFiles()}>Download all Files
+