From 1b4607f382477276c722a385519f8f8a213d921c Mon Sep 17 00:00:00 2001 From: ioedeveloper Date: Fri, 22 Jan 2021 12:05:20 +0100 Subject: [PATCH] focus and open file and folders --- .../file-explorer/src/lib/file-explorer.tsx | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/libs/remix-ui/file-explorer/src/lib/file-explorer.tsx b/libs/remix-ui/file-explorer/src/lib/file-explorer.tsx index e7e2f6e31f..ba0b47ceb6 100644 --- a/libs/remix-ui/file-explorer/src/lib/file-explorer.tsx +++ b/libs/remix-ui/file-explorer/src/lib/file-explorer.tsx @@ -285,7 +285,12 @@ export const FileExplorer = (props: FileExplorerProps) => { const createFile = await fileManager.writeFile(newName, '') if (!createFile) { - toast('Failed to create file ' + newName) + return toast('Failed to create file ' + newName) + } else { + await fileManager.open(newName) + setState(prevState => { + return { ...prevState, focusElement: [{ key: newName, type: 'file' }] } + }) } } }) @@ -300,7 +305,9 @@ export const FileExplorer = (props: FileExplorerProps) => { if (exists) return await fileManager.mkdir(dirName) - // addFolder(parentFolder, newFolderPath) + setState(prevState => { + return { ...prevState, focusElement: [{ key: newFolderPath, type: 'folder' }] } + }) } catch (e) { console.log('error: ', e) toast('Failed to create folder: ' + newFolderPath) @@ -376,7 +383,7 @@ export const FileExplorer = (props: FileExplorerProps) => { setState(prevState => { const uniquePaths = [...new Set([...prevState.expandPath, ...expandPath])] - return { ...prevState, files, expandPath: uniquePaths, focusElement: [{ key: filePath, type: 'file' }] } + return { ...prevState, files, expandPath: uniquePaths } }) if (filePath.includes('_test.sol')) { plugin.event.trigger('newTestFileCreated', [filePath]) @@ -393,7 +400,7 @@ export const FileExplorer = (props: FileExplorerProps) => { setState(prevState => { const uniquePaths = [...new Set([...prevState.expandPath, ...expandPath])] - return { ...prevState, files, expandPath: uniquePaths, focusElement: [{ key: folderPath, type: 'folder' }] } + return { ...prevState, files, expandPath: uniquePaths } }) }