From ca70eae59f7cd98db5cd6825f7b8fb37a3cc18f7 Mon Sep 17 00:00:00 2001 From: lianahus Date: Fri, 20 May 2022 13:05:48 +0200 Subject: [PATCH] open on click, click outside is handled --- apps/remix-ide-e2e/src/tests/plugin_api.ts | 10 ++++++++-- apps/remix-ide/src/app/tabs/compile-tab.js | 6 ++++++ apps/solidity-compiler/src/app/compiler.ts | 5 +++++ libs/remix-lib/src/types/ICompilerApi.ts | 2 ++ .../solidity-compiler/src/lib/compiler-container.tsx | 9 ++++++++- libs/remix-ui/solidity-compiler/src/lib/css/style.css | 3 +++ .../solidity-compiler/src/lib/logic/compileTabLogic.ts | 1 - 7 files changed, 32 insertions(+), 4 deletions(-) diff --git a/apps/remix-ide-e2e/src/tests/plugin_api.ts b/apps/remix-ide-e2e/src/tests/plugin_api.ts index 792413d057..cf696f2bec 100644 --- a/apps/remix-ide-e2e/src/tests/plugin_api.ts +++ b/apps/remix-ide-e2e/src/tests/plugin_api.ts @@ -231,10 +231,10 @@ module.exports = { 'Should get current files #group7': async function (browser: NightwatchBrowser) { await clickAndCheckLog(browser, 'fileManager:readdir', { + 'compiler_config.json': { isDirectory: false }, contracts: { isDirectory: true }, scripts: { isDirectory: true }, tests: { isDirectory: true }, - 'compiler_config.json': { isDirectory: false }, 'README.txt': { isDirectory: false } }, null, '/') }, @@ -293,7 +293,13 @@ module.exports = { 'Should create workspace #group2': async function (browser: NightwatchBrowser) { await clickAndCheckLog(browser, 'filePanel:createWorkspace', null, null, 'testspace') await clickAndCheckLog(browser, 'filePanel:getCurrentWorkspace', { name: 'testspace', isLocalhost: false, absolutePath: '.workspaces/testspace' }, null, null) - await clickAndCheckLog(browser, 'fileManager:readdir', { contracts: { isDirectory: true }, scripts: { isDirectory: true }, tests: { isDirectory: true }, 'compiler_config.json': { isDirectory: false }, 'README.txt': { isDirectory: false } }, null, null) + await clickAndCheckLog(browser, 'fileManager:readdir', { + 'compiler_config.json': { isDirectory: false }, + contracts: { isDirectory: true }, + scripts: { isDirectory: true }, + tests: { isDirectory: true }, + 'README.txt': { isDirectory: false } + }, null, null) }, 'Should get all workspaces #group2': async function (browser: NightwatchBrowser) { await clickAndCheckLog(browser, 'filePanel:getWorkspaces', ['default_workspace', 'emptyworkspace', 'testspace'], null, null) diff --git a/apps/remix-ide/src/app/tabs/compile-tab.js b/apps/remix-ide/src/app/tabs/compile-tab.js index 8e3d17e366..5d4a3e69e4 100644 --- a/apps/remix-ide/src/app/tabs/compile-tab.js +++ b/apps/remix-ide/src/app/tabs/compile-tab.js @@ -135,9 +135,15 @@ class CompileTab extends CompilerApiMixin(ViewPlugin) { // implements ICompilerA } setCompilerParameters (params) { + console.log("compiler-tab.ts") + this.queryParams.update(params) } + async openFile (path) { + return await this.call('fileManager', 'open', path) + } + async getAppParameter (name) { return await this.call('config', 'getAppParameter', name) } diff --git a/apps/solidity-compiler/src/app/compiler.ts b/apps/solidity-compiler/src/app/compiler.ts index f49a7db36c..9d978e497a 100644 --- a/apps/solidity-compiler/src/app/compiler.ts +++ b/apps/solidity-compiler/src/app/compiler.ts @@ -52,11 +52,16 @@ export class CompilerClientApi extends CompilerApiMixin(PluginClient) implements } setCompilerParameters (params) { + console.log("compiler.ts") for (const key of Object.keys(params)) { localStorage.setItem(key, params[key]) } } + async openFile (path) { + return await PluginClient.call('fileManager', 'open', path) + } + async getAppParameter (name) { return await PluginClient.call('config', 'getAppParameter', name) } diff --git a/libs/remix-lib/src/types/ICompilerApi.ts b/libs/remix-lib/src/types/ICompilerApi.ts index 4d5326f073..d9b0258fc0 100644 --- a/libs/remix-lib/src/types/ICompilerApi.ts +++ b/libs/remix-lib/src/types/ICompilerApi.ts @@ -14,6 +14,8 @@ export interface ICompilerApi { getCompilerParameters: () => ConfigurationSettings setCompilerParameters: (ConfigurationSettings?) => void + openFile: (path: string) => Promise + getAppParameter: (value: string) => Promise setAppParameter: (name: string, value: string | boolean) => void diff --git a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx index e0f228f645..c986fff257 100644 --- a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx +++ b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx @@ -197,7 +197,10 @@ export const CompilerContainer = (props: CompilerContainerProps) => { return { ...prevState, useFileConfiguration: !state.useFileConfiguration } }) api.setAppParameter('useFileConfiguration', state.useFileConfiguration) + } + const openFile = async () => { + await api.openFile(state.configFilePath) } const createNewConfigFile = async () => { @@ -752,7 +755,11 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
- { (!showFilePathInput && state.useFileConfiguration) && {state.configFilePath} } + { (!showFilePathInput && state.useFileConfiguration) && {state.configFilePath} } { (!showFilePathInput&& !state.useFileConfiguration) && {state.configFilePath} } { this.compiler.set('configFileContent', contentConfig) })