diff --git a/apps/remix-ide-e2e/src/commands/addFile.ts b/apps/remix-ide-e2e/src/commands/addFile.ts index 4eeca25002..18260926c8 100644 --- a/apps/remix-ide-e2e/src/commands/addFile.ts +++ b/apps/remix-ide-e2e/src/commands/addFile.ts @@ -24,7 +24,7 @@ function addFile (browser: NightwatchBrowser, name: string, content: NightwatchC .sendKeys('*[data-id="treeViewLitreeViewItembrowser/blank"] .remixui_items', browser.Keys.ENTER) .pause(2000) .waitForElementVisible(`li[data-id="treeViewLitreeViewItembrowser/${name}"]`) - .click(`li[data-id="treeViewLitreeViewItembrowser/${name}"]`) + // .click(`li[data-id="treeViewLitreeViewItembrowser/${name}"]`) .setEditorValue(content.content) .pause(1000) .perform(function () { 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 } }) }