Merge pull request #1987 from ethereum/master_l

listen to PersonalMode changed event for Add Account ui updates
pull/3094/head
yann300 6 years ago committed by GitHub
commit 306930fa4a
  1. 23
      src/app/tabs/runTab/settings.js
  2. 3
      src/config.js

@ -24,9 +24,12 @@ class SettingsUI {
this._components.registry = globalRegistry this._components.registry = globalRegistry
this._deps = { this._deps = {
networkModule: this._components.registry.get('network').api networkModule: this._components.registry.get('network').api,
config: this._components.registry.get('config').api
} }
this._deps.config.events.on('settings/personal-mode_changed', this.onPersonalChange.bind(this))
setInterval(() => { setInterval(() => {
this.updateAccountBalances() this.updateAccountBalances()
}, 10 * 1000) }, 10 * 1000)
@ -87,7 +90,7 @@ class SettingsUI {
<div class="${css.crow}"> <div class="${css.crow}">
<div class="${css.col1_1}"> <div class="${css.col1_1}">
Account Account
<span id="remixRunPlusWraper" title="Create a new account"> <span id="remixRunPlusWraper" title="Create a new account" onload=${this.updatePlusButton.bind(this)}>
<i id="remixRunPlus" class="fas fa-plus-circle ${css.icon}" aria-hidden="true" onclick=${this.newAccount.bind(this)}"></i> <i id="remixRunPlus" class="fas fa-plus-circle ${css.icon}" aria-hidden="true" onclick=${this.newAccount.bind(this)}"></i>
</span> </span>
</div> </div>
@ -215,7 +218,17 @@ class SettingsUI {
} }
break break
case 'web3': { case 'web3': {
if (!this._components.registry.get('config').api.get('settings/personal-mode')) { this.onPersonalChange()
}
break
default:
}
}
onPersonalChange () {
let plusBtn = document.getElementById('remixRunPlus')
let plusTitle = document.getElementById('remixRunPlusWraper')
if (!this._deps.config.get('settings/personal-mode')) {
plusBtn.classList.add(css.disableMouseEvents) plusBtn.classList.add(css.disableMouseEvents)
plusTitle.title = 'Creating an account is possible only in Personal mode. Please go to Settings to enable it.' plusTitle.title = 'Creating an account is possible only in Personal mode. Please go to Settings to enable it.'
} else { } else {
@ -223,10 +236,6 @@ class SettingsUI {
plusTitle.title = 'Create a new account' plusTitle.title = 'Create a new account'
} }
} }
break
default:
}
}
newAccount () { newAccount () {
this.settings.newAccount( this.settings.newAccount(

@ -1,10 +1,12 @@
'use strict' 'use strict'
var CONFIG_FILE = '.remix.config' var CONFIG_FILE = '.remix.config'
const EventEmitter = require('events')
function Config (storage) { function Config (storage) {
this.items = {} this.items = {}
this.unpersistedItems = {} this.unpersistedItems = {}
this.events = new EventEmitter()
// load on instantiation // load on instantiation
try { try {
@ -28,6 +30,7 @@ function Config (storage) {
this.items[key] = content this.items[key] = content
try { try {
storage.set(CONFIG_FILE, JSON.stringify(this.items)) storage.set(CONFIG_FILE, JSON.stringify(this.items))
this.events.emit(key + '_changed', content)
} catch (exception) { } catch (exception) {
} }
} }

Loading…
Cancel
Save