Commit f4ea0d0f authored by LianaHus's avatar LianaHus

deactivate remixd plugin if canceled or error

parent 43d90dc1
import { ApiFactory } from 'remix-plugin' import { ApiFactory } from 'remix-plugin'
let globalRegistry = require('../../global/registry')
var yo = require('yo-yo') var yo = require('yo-yo')
var modalDialog = require('../ui/modaldialog') var modalDialog = require('../ui/modaldialog')
var modalDialogCustom = require('../ui/modal-dialog-custom')
var csjs = require('csjs-inject') var csjs = require('csjs-inject')
...@@ -43,6 +46,11 @@ export class RemixdHandle extends ApiFactory { ...@@ -43,6 +46,11 @@ export class RemixdHandle extends ApiFactory {
this.connectToLocalhost() this.connectToLocalhost()
} }
canceled () {
let appManager = globalRegistry.get('appmanager').api
appManager.ensureDeactivated('remixd')
}
/** /**
* connect to localhost if no connection and render the explorer * connect to localhost if no connection and render the explorer
* disconnect from localhost if connected and remove the explorer * disconnect from localhost if connected and remove the explorer
...@@ -55,17 +63,30 @@ export class RemixdHandle extends ApiFactory { ...@@ -55,17 +63,30 @@ export class RemixdHandle extends ApiFactory {
if (error) console.log(error) if (error) console.log(error)
}) })
} else { } else {
modalDialog('Connect to localhost', remixdDialog(), modalDialog(
'Connect to localhost',
remixdDialog(),
{ label: 'Connect', { label: 'Connect',
fn: () => { fn: () => {
this.locahostProvider.init((error) => { this.locahostProvider.init((error) => {
if (error) { if (error) {
console.log(error) console.log(error)
modalDialogCustom.alert(
'Cannot connect to the remixd daemon.' +
'Please make sure you have the remixd running in the background.'
)
this.canceled()
} else { } else {
this.fileSystemExplorer.ensureRoot() this.fileSystemExplorer.ensureRoot()
} }
}) })
}} }
},
{ label: 'Cancel',
fn: () => {
this.canceled()
}
}
) )
} }
} }
......
...@@ -21,6 +21,11 @@ export class RemixAppManager extends AppManagerApi { ...@@ -21,6 +21,11 @@ export class RemixAppManager extends AppManagerApi {
this.event.emit('ensureActivated', apiName) this.event.emit('ensureActivated', apiName)
} }
ensureDeactivated (apiName) {
if (this.store.isActive(apiName)) this.deactivateOne(apiName)
this.event.emit('ensureDeactivated', apiName)
}
proxy () { proxy () {
// that's temporary. should be removed when we can have proper notification registration // that's temporary. should be removed when we can have proper notification registration
return this.data.proxy return this.data.proxy
...@@ -82,4 +87,4 @@ export class RemixAppManager extends AppManagerApi { ...@@ -82,4 +87,4 @@ export class RemixAppManager extends AppManagerApi {
new Plugin(vyper) new Plugin(vyper)
] ]
} }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment