addProvider / removeProvider

pull/1/head
yann300 6 years ago
parent e8c17819c2
commit 277666772c
  1. 2
      src/app/plugin/plugin.md
  2. 8
      src/app/plugin/pluginAPI.js
  3. 17
      src/app/tabs/run-tab.js

@ -26,6 +26,8 @@ plugin api
- getProviderEndpoint `@return {String} url` - getProviderEndpoint `@return {String} url`
- updateTitle `@param {String} title` - updateTitle `@param {String} title`
- detectNetWork `@return {Object} {name, id}` - detectNetWork `@return {Object} {name, id}`
- addProvider `@param {String} name, @param {String} url`
- removeProvider `@return {String} name`
### config ### config

@ -26,6 +26,14 @@ module.exports = (pluginManager, fileProviders, fileManager, compiler, udapp) =>
executionContext.detectNetwork((error, network) => { executionContext.detectNetwork((error, network) => {
cb(error, network) cb(error, network)
}) })
},
addProvider: (mod, name, url, cb) => {
executionContext.addProvider({ name, url })
cb()
},
removeProvider: (mod, name, cb) => {
executionContext.removeProvider(name)
cb()
} }
}, },
config: { config: {

@ -22,6 +22,7 @@ var css = require('./styles/run-tab-styles')
var MultiParamManager = require('../../multiParamManager') var MultiParamManager = require('../../multiParamManager')
var modalDialog = require('../ui/modaldialog') var modalDialog = require('../ui/modaldialog')
var CompilerAbstract = require('../compiler/compiler-abstract') var CompilerAbstract = require('../compiler/compiler-abstract')
var tootip = require('../ui/tooltip')
function runTab (opts, localRegistry) { function runTab (opts, localRegistry) {
/* ------------------------- /* -------------------------
@ -639,6 +640,22 @@ function settings (container, self) {
instanceContainer.appendChild(self._view.noInstancesText) instanceContainer.appendChild(self._view.noInstancesText)
}) })
executionContext.event.register('addProvider', (network) => {
selectExEnv.appendChild(yo`<option
title="Manually added environment: ${network.url}"
value="${network.name}" name="executionContext"> ${network.name}
</option>`)
tootip(`${network.name} [${network.url}] added`)
})
executionContext.event.register('removeProvider', (name) => {
var env = selectExEnv.querySelector(`option[value="${name}"]`)
if (env) {
selectExEnv.removeChild(env)
tootip(`${name} removed`)
}
})
selectExEnv.addEventListener('change', function (event) { selectExEnv.addEventListener('change', function (event) {
let context = selectExEnv.options[selectExEnv.selectedIndex].value let context = selectExEnv.options[selectExEnv.selectedIndex].value
executionContext.executionContextChange(context, null, () => { executionContext.executionContextChange(context, null, () => {

Loading…
Cancel
Save