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 filePanel.gitHandle
]) ])
if (isElectron()) {
appManager.activatePlugin('remixd')
}
try { try {
engine.register(await appManager.registeredPlugins()) engine.register(await appManager.registeredPlugins())
} catch (e) { } 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() if (params.embed) framingService.embed()
} }

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

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

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

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

Loading…
Cancel
Save