Merge pull request #837 from ethereum/remixd-currentFolderChanged

current folder changed
remix_lie
David Disu 4 years ago committed by GitHub
commit 021e7e2ca5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      apps/remix-ide/src/app.js
  2. 4
      apps/remix-ide/src/app/files/remixDProvider.js
  3. 10
      libs/remix-ui/file-explorer/src/lib/file-explorer.tsx
  4. 4
      libs/remixd/src/index.ts
  5. 1
      libs/remixd/src/services/remixdClient.ts

@ -391,6 +391,10 @@ Please make a backup of your contracts and start using http://remix.ethereum.org
filePanel.gitHandle
])
if (isElectron()) {
appManager.activatePlugin('remixd')
}
try {
engine.register(await appManager.registeredPlugins())
} catch (e) {
@ -455,9 +459,5 @@ Please make a backup of your contracts and start using http://remix.ethereum.org
})
}
if (isElectron()) {
appManager.activatePlugin('remixd')
}
if (params.embed) framingService.embed()
}

@ -41,6 +41,10 @@ module.exports = class RemixDProvider {
this._appManager.on('remixd', 'fileRenamed', (oldPath, newPath) => {
this.event.trigger('fileRemoved', [this.addPrefix(oldPath), this.addPrefix(newPath)])
})
this._appManager.on('remixd', 'rootFolderChanged', () => {
this.event.trigger('rootFolderChanged', [])
})
}
isConnected () {

@ -127,6 +127,7 @@ export const FileExplorer = (props: FileExplorerProps) => {
if (state.fileManager) {
filesProvider.event.register('fileExternallyChanged', fileExternallyChanged)
filesProvider.event.register('fileRenamedError', fileRenamedError)
filesProvider.event.register('rootFolderChanged', rootFolderChanged)
}
}, [state.fileManager])
@ -482,6 +483,15 @@ export const FileExplorer = (props: FileExplorerProps) => {
}, null)
}
// register to event of the file provider
// files.event.register('rootFolderChanged', rootFolderChanged)
const rootFolderChanged = async () => {
const files = await fetchDirectoryContent(name)
setState(prevState => {
return { ...prevState, files }
})
}
const uploadFile = (target) => {
// TODO The file explorer is merely a view on the current state of
// the files module. Please ask the user here if they want to overwrite

@ -1,5 +1,6 @@
'use strict'
import { RemixdClient as sharedFolder } from './services/remixdClient'
import { GitClient } from './services/gitClient'
import Websocket from './websocket'
import * as utils from './utils'
@ -7,6 +8,7 @@ module.exports = {
Websocket,
utils,
services: {
sharedFolder
sharedFolder,
GitClient
}
}

@ -20,6 +20,7 @@ export class RemixdClient extends PluginClient {
sharedFolder (currentSharedFolder: string, readOnly: boolean): void {
this.currentSharedFolder = currentSharedFolder
this.readOnly = readOnly
if (this.isLoaded) this.emit('rootFolderChanged')
}
list (): Filelist {

Loading…
Cancel
Save