Commit f4ea0d0f authored by LianaHus's avatar LianaHus

deactivate remixd plugin if canceled or error

parent 43d90dc1
import { ApiFactory } from 'remix-plugin'
let globalRegistry = require('../../global/registry')
var yo = require('yo-yo')
var modalDialog = require('../ui/modaldialog')
var modalDialogCustom = require('../ui/modal-dialog-custom')
var csjs = require('csjs-inject')
......@@ -43,6 +46,11 @@ export class RemixdHandle extends ApiFactory {
this.connectToLocalhost()
}
canceled () {
let appManager = globalRegistry.get('appmanager').api
appManager.ensureDeactivated('remixd')
}
/**
* connect to localhost if no connection and render the explorer
* disconnect from localhost if connected and remove the explorer
......@@ -55,17 +63,30 @@ export class RemixdHandle extends ApiFactory {
if (error) console.log(error)
})
} else {
modalDialog('Connect to localhost', remixdDialog(),
modalDialog(
'Connect to localhost',
remixdDialog(),
{ label: 'Connect',
fn: () => {
this.locahostProvider.init((error) => {
if (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 {
this.fileSystemExplorer.ensureRoot()
}
})
}}
}
},
{ label: 'Cancel',
fn: () => {
this.canceled()
}
}
)
}
}
......
......@@ -21,6 +21,11 @@ export class RemixAppManager extends AppManagerApi {
this.event.emit('ensureActivated', apiName)
}
ensureDeactivated (apiName) {
if (this.store.isActive(apiName)) this.deactivateOne(apiName)
this.event.emit('ensureDeactivated', apiName)
}
proxy () {
// that's temporary. should be removed when we can have proper notification registration
return this.data.proxy
......
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