Unverified Commit 2feda567 authored by yann300's avatar yann300 Committed by GitHub

Merge pull request #1987 from ethereum/master_l

listen to PersonalMode changed event for Add Account ui updates
parents 4a4852f4 fc8e43e2
...@@ -24,9 +24,12 @@ class SettingsUI { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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(
......
'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) { ...@@ -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) {
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment