DOM.privateKeyToggle = $(".private-key-toggle");
var derivationPath = DOM.bip44path.val();
+ var currentPhrase = DOM.phrase.val();
+ var currentPassphrase = DOM.passphrase.val();
function init() {
// Events
// Event handlers
function delayedPhraseChanged() {
+ if (!hasChanged()) {
+ return;
+ }
hideValidationError();
showPending();
if (phraseChangeTimeoutEvent != null) {
calcBip32Seed(phrase, passphrase, derivationPath);
displayBip32Info();
hidePending();
+ // Set current state so we only update as needed
+ currentPhrase = phrase;
+ currentPassphrase = passphrase;
}
function generateClicked() {
}
function derivationChanged() {
- delayedPhraseChanged();
+ hideValidationError();
+ showPending();
+ setTimeout(phraseChanged, 50);
}
function bip32Changed() {
.hide();
}
+ function hasChanged() {
+ var phraseChanged = DOM.phrase.val() != currentPhrase;
+ var passphraseChanged = DOM.passphrase.val() != currentPassphrase;
+ return phraseChanged || passphraseChanged;
+ }
+
init();
})();
DOM.privateKeyToggle = $(".private-key-toggle");
var derivationPath = DOM.bip44path.val();
+ var currentPhrase = DOM.phrase.val();
+ var currentPassphrase = DOM.passphrase.val();
function init() {
// Events
// Event handlers
function delayedPhraseChanged() {
+ if (!hasChanged()) {
+ return;
+ }
hideValidationError();
showPending();
if (phraseChangeTimeoutEvent != null) {
calcBip32Seed(phrase, passphrase, derivationPath);
displayBip32Info();
hidePending();
+ // Set current state so we only update as needed
+ currentPhrase = phrase;
+ currentPassphrase = passphrase;
}
function generateClicked() {
}
function derivationChanged() {
- delayedPhraseChanged();
+ hideValidationError();
+ showPending();
+ setTimeout(phraseChanged, 50);
}
function bip32Changed() {
.hide();
}
+ function hasChanged() {
+ var phraseChanged = DOM.phrase.val() != currentPhrase;
+ var passphraseChanged = DOM.passphrase.val() != currentPassphrase;
+ return phraseChanged || passphraseChanged;
+ }
+
init();
})();