From de8aa8a3ca71655f1c18255ce5ec92b0c6e547a6 Mon Sep 17 00:00:00 2001 From: LianaHus Date: Mon, 20 May 2019 11:41:44 +0200 Subject: [PATCH] added event listener to runTab settings to listen on personal mode change event --- src/app/tabs/runTab/settings.js | 25 +++++++++++++++++-------- src/config.js | 4 +++- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/app/tabs/runTab/settings.js b/src/app/tabs/runTab/settings.js index ddc6a0b054..f0124f1156 100644 --- a/src/app/tabs/runTab/settings.js +++ b/src/app/tabs/runTab/settings.js @@ -24,9 +24,12 @@ class SettingsUI { this._components.registry = globalRegistry 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) + setInterval(() => { this.updateAccountBalances() }, 10 * 1000) @@ -215,19 +218,25 @@ class SettingsUI { } break case 'web3': { - if (!this._components.registry.get('config').api.get('settings/personal-mode')) { - plusBtn.classList.add(css.disableMouseEvents) - plusTitle.title = 'Creating an account is possible only in Personal mode. Please go to Settings to enable it.' - } else { - plusBtn.classList.remove(css.disableMouseEvents) - plusTitle.title = 'Create a new account' - } + 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) + plusTitle.title = 'Creating an account is possible only in Personal mode. Please go to Settings to enable it.' + } else { + plusBtn.classList.remove(css.disableMouseEvents) + plusTitle.title = 'Create a new account' + } + } + newAccount () { this.settings.newAccount( (cb) => { diff --git a/src/config.js b/src/config.js index b4d112d508..d9334bfbf9 100644 --- a/src/config.js +++ b/src/config.js @@ -1,10 +1,12 @@ 'use strict' var CONFIG_FILE = '.remix.config' +const EventEmitter = require('events') function Config (storage) { this.items = {} this.unpersistedItems = {} + this.events = new EventEmitter() // load on instantiation try { @@ -28,7 +30,7 @@ function Config (storage) { this.items[key] = content try { storage.set(CONFIG_FILE, JSON.stringify(this.items)) - event.emit(key+'_changed', content) + this.events.emit(key+'_changed', content) } catch (exception) { } }