download file system

pull/5370/head
yann300 4 years ago
parent bf5362b211
commit 9d3ddb94c6
  1. 25
      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 {
<i class="far fa-hdd"></i>
<span class="ml-1 ${css.text}" onclick=${() => connectToLocalhost()}>Connect to Localhost</span>
</p>
<p class="mb-1">
<i class="mr-1 far fa-file"></i>
<span class="ml-1 mb-1 ${css.text}" onclick=${() => downloadFiles()}>Download all Files</span>
</p>
<p class="mt-3 mb-0"><label>IMPORT FROM:</label></p>
<div class="btn-group">
<button class="btn mr-1 btn-secondary" data-id="landingPageImportFromGistButton" onclick="${() => importFromGist()}">Gist</button>

Loading…
Cancel
Save