deactivate remixd plugin if canceled or error

pull/3094/head
LianaHus 6 years ago
parent ca5a95d951
commit 54af6f6fe9
  1. 25
      src/app/files/remixd-handle.js
  2. 5
      src/remixAppManager.js

@ -1,7 +1,10 @@
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 {
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 {
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 {
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

Loading…
Cancel
Save