Merge branch 'master' into react-plugin-manager

pull/1344/head
David Disu 3 years ago committed by GitHub
commit 63489f5c76
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      apps/remix-ide-e2e/src/tests/url.spec.ts
  2. 10
      apps/remix-ide/src/app.js
  3. 12
      apps/remix-ide/src/framingService.js
  4. 6
      libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx

@ -71,13 +71,14 @@ module.exports = {
'Should load using URL compiler params': function (browser: NightwatchBrowser) { 'Should load using URL compiler params': function (browser: NightwatchBrowser) {
browser browser
.pause(5000) .pause(5000)
.url('http://127.0.0.1:8080/#optimize=true&runs=300&evmVersion=istanbul&version=soljson-v0.7.4+commit.3f05b770.js') .url('http://127.0.0.1:8080/#optimize=true&runs=300&autoCompile=true&evmVersion=istanbul&version=soljson-v0.7.4+commit.3f05b770.js')
.refresh() .refresh()
.pause(5000) .pause(5000)
.clickLaunchIcon('solidity') .clickLaunchIcon('solidity')
.assert.containsText('#versionSelector option[data-id="selected"]', '0.7.4+commit.3f05b770') .assert.containsText('#versionSelector option[data-id="selected"]', '0.7.4+commit.3f05b770')
.assert.containsText('#evmVersionSelector option[data-id="selected"]', 'istanbul') .assert.containsText('#evmVersionSelector option[data-id="selected"]', 'istanbul')
.verify.elementPresent('#optimize:checked') .verify.elementPresent('#optimize:checked')
.verify.elementPresent('#autoCompile:checked')
.verify.attributeEquals('#runs', 'value', '300') .verify.attributeEquals('#runs', 'value', '300')
}, },

@ -495,8 +495,13 @@ Please make a backup of your contracts and start using http://remix.ethereum.org
console.log(e) console.log(e)
} }
// If plugins are loaded from the URL params, we focus on the last one. if (params.code) {
if (pluginLoader.current === 'queryParams' && workspace.length > 0) menuicons.select(workspace[workspace.length - 1]) // if code is given in url we focus on solidity plugin
menuicons.select('solidity')
} else {
// If plugins are loaded from the URL params, we focus on the last one.
if (pluginLoader.current === 'queryParams' && workspace.length > 0) menuicons.select(workspace[workspace.length - 1])
}
if (params.call) { if (params.call) {
const callDetails = params.call.split('//') const callDetails = params.call.split('//')
@ -516,5 +521,6 @@ Please make a backup of your contracts and start using http://remix.ethereum.org
const framingService = new FramingService(sidePanel, menuicons, mainview, this._components.resizeFeature) const framingService = new FramingService(sidePanel, menuicons, mainview, this._components.resizeFeature)
if (params.embed) framingService.embed() if (params.embed) framingService.embed()
if (params.code) framingService.code()
framingService.start(params) framingService.start(params)
} }

@ -1,7 +1,7 @@
export class FramingService { export class FramingService {
constructor (sidePanel, verticalIcon, mainView, resizeFeature) { constructor (sidePanel, verticalIcons, mainView, resizeFeature) {
this.sidePanel = sidePanel this.sidePanel = sidePanel
this.verticalIcon = verticalIcon this.verticalIcons = verticalIcons
this.mainPanel = mainView.getAppPanel() this.mainPanel = mainView.getAppPanel()
this.mainView = mainView this.mainView = mainView
this.resizeFeature = resizeFeature this.resizeFeature = resizeFeature
@ -18,16 +18,16 @@ export class FramingService {
this.resizeFeature.showPanel() this.resizeFeature.showPanel()
}) })
this.verticalIcon.select('filePanel') this.verticalIcons.select('filePanel')
document.addEventListener('keypress', (e) => { document.addEventListener('keypress', (e) => {
if (e.shiftKey && e.ctrlKey) { if (e.shiftKey && e.ctrlKey) {
if (e.code === 'KeyF') { // Ctrl+Shift+F if (e.code === 'KeyF') { // Ctrl+Shift+F
this.verticalIcon.select('filePanel') this.verticalIcons.select('filePanel')
} else if (e.code === 'KeyA') { // Ctrl+Shift+A } else if (e.code === 'KeyA') { // Ctrl+Shift+A
this.verticalIcon.select('pluginManager') this.verticalIcons.select('pluginManager')
} else if (e.code === 'KeyS') { // Ctrl+Shift+S } else if (e.code === 'KeyS') { // Ctrl+Shift+S
this.verticalIcon.select('settings') this.verticalIcons.select('settings')
} }
e.preventDefault() e.preventDefault()
} }

@ -69,13 +69,14 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
const optimize = params.optimize === 'false' ? false : params.optimize === 'true' ? true : null const optimize = params.optimize === 'false' ? false : params.optimize === 'true' ? true : null
const runs = params.runs const runs = params.runs
const evmVersion = params.evmVersion const evmVersion = params.evmVersion
const autoCompile = params.autoCompile === 'false' ? false : params.autoCompile === 'true' ? true : null
return { return {
...prevState, ...prevState,
hideWarnings: api.getConfiguration('hideWarnings') || false, hideWarnings: api.getConfiguration('hideWarnings') || false,
autoCompile: api.getConfiguration('autoCompile') || false, autoCompile: typeof autoCompile === 'boolean' ? autoCompile : api.getConfiguration('autoCompile') || false,
includeNightlies: api.getConfiguration('includeNightlies') || false, includeNightlies: api.getConfiguration('includeNightlies') || false,
optimise: (optimize !== null) && (optimize !== undefined) ? optimize : api.getConfiguration('optimise') || false, optimise: typeof optimize === 'boolean' ? optimize : api.getConfiguration('optimise') || false,
runs: (runs !== null) && (runs !== 'null') && (runs !== undefined) && (runs !== 'undefined') ? runs : 200, runs: (runs !== null) && (runs !== 'null') && (runs !== undefined) && (runs !== 'undefined') ? runs : 200,
evmVersion: (evmVersion !== null) && (evmVersion !== 'null') && (evmVersion !== undefined) && (evmVersion !== 'undefined') ? evmVersion : 'default' evmVersion: (evmVersion !== null) && (evmVersion !== 'null') && (evmVersion !== undefined) && (evmVersion !== 'undefined') ? evmVersion : 'default'
} }
@ -407,6 +408,7 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
const checked = e.target.checked const checked = e.target.checked
api.setConfiguration('autoCompile', checked) api.setConfiguration('autoCompile', checked)
checked && compile()
setState(prevState => { setState(prevState => {
return { ...prevState, autoCompile: checked } return { ...prevState, autoCompile: checked }
}) })

Loading…
Cancel
Save