From 04f789cdbdb8e50511efdf97c900f7f83662eedb Mon Sep 17 00:00:00 2001 From: Ian Coleman Date: Thu, 25 Sep 2014 10:32:50 +1000 Subject: Update only happens when phrase is changed ie not on keyup where the key is ctrl or arrow-key etc. --- bip39-standalone.html | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'bip39-standalone.html') diff --git a/bip39-standalone.html b/bip39-standalone.html index 591cdce..9bc6e88 100644 --- a/bip39-standalone.html +++ b/bip39-standalone.html @@ -22733,6 +22733,8 @@ WORDLISTS = { DOM.privateKeyToggle = $(".private-key-toggle"); var derivationPath = DOM.bip44path.val(); + var currentPhrase = DOM.phrase.val(); + var currentPassphrase = DOM.passphrase.val(); function init() { // Events @@ -22757,6 +22759,9 @@ WORDLISTS = { // Event handlers function delayedPhraseChanged() { + if (!hasChanged()) { + return; + } hideValidationError(); showPending(); if (phraseChangeTimeoutEvent != null) { @@ -22786,6 +22791,9 @@ WORDLISTS = { calcBip32Seed(phrase, passphrase, derivationPath); displayBip32Info(); hidePending(); + // Set current state so we only update as needed + currentPhrase = phrase; + currentPassphrase = passphrase; } function generateClicked() { @@ -22807,7 +22815,9 @@ WORDLISTS = { } function derivationChanged() { - delayedPhraseChanged(); + hideValidationError(); + showPending(); + setTimeout(phraseChanged, 50); } function bip32Changed() { @@ -23036,6 +23046,12 @@ WORDLISTS = { .hide(); } + function hasChanged() { + var phraseChanged = DOM.phrase.val() != currentPhrase; + var passphraseChanged = DOM.passphrase.val() != currentPassphrase; + return phraseChanged || passphraseChanged; + } + init(); })(); -- cgit v1.2.3