parent
d96a7a7d8b
commit
e44b0fad72
@ -0,0 +1,87 @@ |
||||
var yo = require('yo-yo') |
||||
var modalDialog = require('../ui/modaldialog') |
||||
|
||||
var csjs = require('csjs-inject') |
||||
var styleGuide = require('../ui/styles-guide/theme-chooser') |
||||
var styles = styleGuide.chooser() |
||||
|
||||
var css = csjs` |
||||
.dialog { |
||||
display: flex; |
||||
flex-direction: column; |
||||
} |
||||
.dialogParagraph { |
||||
${styles.infoTextBox} |
||||
margin-bottom: 2em; |
||||
word-break: break-word; |
||||
} |
||||
` |
||||
|
||||
export class RemixdHandle { |
||||
constructor (fileSystemExplorer, locahostProvider) { |
||||
this.fileSystemExplorer = fileSystemExplorer |
||||
this.locahostProvider = locahostProvider |
||||
} |
||||
|
||||
profile () { |
||||
return { |
||||
name: 'remixd', |
||||
methods: [], |
||||
events: [], |
||||
description: 'using Remixd daemon, allow to access file system', |
||||
kind: 'other' |
||||
} |
||||
} |
||||
|
||||
deactivate () { |
||||
this.locahostProvider.close((error) => { |
||||
if (error) console.log(error) |
||||
}) |
||||
} |
||||
|
||||
activate () { |
||||
this.connectToLocalhost() |
||||
} |
||||
|
||||
/** |
||||
* connect to localhost if no connection and render the explorer |
||||
* disconnect from localhost if connected and remove the explorer |
||||
* |
||||
* @param {String} txHash - hash of the transaction |
||||
*/ |
||||
connectToLocalhost () { |
||||
if (this.locahostProvider.isConnected()) { |
||||
this.locahostProvider.close((error) => { |
||||
if (error) console.log(error) |
||||
}) |
||||
} else { |
||||
modalDialog('Connect to localhost', remixdDialog(), |
||||
{ label: 'Connect', |
||||
fn: () => { |
||||
this.locahostProvider.init((error) => { |
||||
if (error) { |
||||
console.log(error) |
||||
} else { |
||||
this.fileSystemExplorer.ensureRoot() |
||||
} |
||||
}) |
||||
}}) |
||||
} |
||||
} |
||||
} |
||||
|
||||
function remixdDialog () { |
||||
return yo` |
||||
<div class=${css.dialog}> |
||||
<div class=${css.dialogParagraph}>Interact with your file system from Remix. Click connect and find shared folder in the Remix file explorer (under localhost). |
||||
Before you get started, check out <a target="_blank" href="https://remix.readthedocs.io/en/latest/tutorial_remixd_filesystem.html">Tutorial_remixd_filesystem</a> |
||||
to find out how to run Remixd. |
||||
</div> |
||||
<div class=${css.dialogParagraph}>Connection will start a session between <em>${window.location.href}</em> and your local file system <i>ws://127.0.0.1:65520</i> |
||||
so please make sure your system is secured enough (port 65520 neither opened nor forwarded). |
||||
<i class="fa fa-link"></i> will show you current connection status. |
||||
</div> |
||||
<div class=${css.dialogParagraph}>This feature is still in Alpha, so we recommend you to keep a copy of the shared folder.</div> |
||||
</div> |
||||
` |
||||
} |
Loading…
Reference in new issue