Merge pull request #461 from ethereum/deactivatePlugin

Deactivate Plugins From Url Parameters
pull/5370/head
yann300 4 years ago committed by GitHub
commit c1f9d3a8ac
  1. 7
      apps/remix-ide-e2e/src/tests/workspace.test.ts
  2. 12
      apps/remix-ide/src/app.js
  3. 8
      apps/remix-ide/src/remixAppManager.js

@ -5,7 +5,7 @@ import sauce from './sauce'
module.exports = { module.exports = {
before: function (browser: NightwatchBrowser, done: VoidFunction) { before: function (browser: NightwatchBrowser, done: VoidFunction) {
init(browser, done, 'http://127.0.0.1:8080?plugins=solidity,udapp&plugincall=fileManager//open//3_Ballot.sol', false) init(browser, done, 'http://127.0.0.1:8080?activate=solidity,udapp&call=fileManager//open//3_Ballot.sol&deactivate=home', false)
}, },
'CheckSolidityActivatedAndUDapp': function (browser: NightwatchBrowser) { 'CheckSolidityActivatedAndUDapp': function (browser: NightwatchBrowser) {
@ -21,6 +21,11 @@ module.exports = {
.getEditorValue((content) => { .getEditorValue((content) => {
browser.assert.ok(content.indexOf('contract Ballot {') != -1, 'content doesn\'t include Ballot contract') browser.assert.ok(content.indexOf('contract Ballot {') != -1, 'content doesn\'t include Ballot contract')
}) })
},
'Home page should be deactivated': function (browser: NightwatchBrowser) {
browser
.waitForElementNotPresent('[data-id="landingPageHomeContainer"]')
.end() .end()
}, },

@ -405,11 +405,19 @@ Please make a backup of your contracts and start using http://remix.ethereum.org
// Set workspace after initial activation // Set workspace after initial activation
if (Array.isArray(workspace)) { if (Array.isArray(workspace)) {
appManager.activatePlugin(workspace).then(() => { appManager.activatePlugin(workspace).then(() => {
try {
if (params.deactivate) {
appManager.deactivatePlugin(params.deactivate.split(','))
}
} catch (e) {
console.log(e)
}
// If plugins are loaded from the URL params, we focus on the last one. // 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 (pluginLoader.current === 'queryParams' && workspace.length > 0) menuicons.select(workspace[workspace.length - 1])
if (params.plugincall) { if (params.call) {
const callDetails = params.plugincall.split('//') const callDetails = params.call.split('//')
if (callDetails.length > 1) { if (callDetails.length > 1) {
toolTip(`initiating ${callDetails[0]} ...`) toolTip(`initiating ${callDetails[0]} ...`)
// @todo(remove the timeout when activatePlugin is on 0.3.0) // @todo(remove the timeout when activatePlugin is on 0.3.0)

@ -135,13 +135,13 @@ class PluginLoader {
this.loaders['queryParams'] = { this.loaders['queryParams'] = {
set: () => {}, set: () => {},
get: () => { get: () => {
const { plugins } = queryParams.get() const { activate } = queryParams.get()
if (!plugins) return [] if (!activate) return []
return plugins.split(',') return activate.split(',')
} }
} }
this.current = queryParams.get()['plugins'] ? 'queryParams' : 'localStorage' this.current = queryParams.get()['activate'] ? 'queryParams' : 'localStorage'
} }
set (plugin, actives) { set (plugin, actives) {

Loading…
Cancel
Save