X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git;a=blobdiff_plain;f=src%2Fjs%2Findex.js;h=5f688f01b2f1df58e997ed946aac4a8548dc6ad2;hp=82e216179bcc98da895753338f38015575be2a36;hb=e00964ccf7a556895784ed05f0fdec954f5558d5;hpb=fc7c248fafef4ba2aecf9dcf4718b3d4c91d94b0 diff --git a/src/js/index.js b/src/js/index.js index 82e2161..5f688f0 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -13,6 +13,7 @@ var showAddress = true; var showPubKey = true; var showPrivKey = true; + var showQr = true; var entropyChangeTimeoutEvent = null; var phraseChangeTimeoutEvent = null; @@ -63,6 +64,10 @@ DOM.publicKeyToggle = $(".public-key-toggle"); DOM.privateKeyToggle = $(".private-key-toggle"); DOM.languages = $(".languages a"); + DOM.qrContainer = $(".qr-container"); + DOM.qrImage = DOM.qrContainer.find(".qr-image"); + DOM.qrHint = DOM.qrContainer.find(".qr-hint"); + DOM.showQrEls = $("[data-show-qr]"); function init() { // Events @@ -87,6 +92,7 @@ DOM.publicKeyToggle.on("click", togglePublicKeys); DOM.privateKeyToggle.on("click", togglePrivateKeys); DOM.languages.on("click", languageChanged); + setQrEvents(DOM.showQrEls); disableForms(); hidePending(); hideValidationError(); @@ -555,6 +561,8 @@ privkeyCell.addClass("invisible"); } DOM.addresses.append(row); + var rowShowQrEls = row.find("[data-show-qr]"); + setQrEvents(rowShowQrEls); } function hasStrongRandom() { @@ -902,6 +910,35 @@ return typeStr; } + function setQrEvents(els) { + els.on("mouseenter", createQr); + els.on("mouseleave", destroyQr); + els.on("click", toggleQr); + } + + function createQr(e) { + var content = e.target.textContent || e.target.value; + if (content) { + var size = 130; + DOM.qrImage.qrcode({width: size, height: size, text: content}); + if (!showQr) { + DOM.qrImage.addClass("hidden"); + } + DOM.qrContainer.removeClass("hidden"); + } + } + + function destroyQr() { + DOM.qrImage.text(""); + DOM.qrContainer.addClass("hidden"); + } + + function toggleQr() { + showQr = !showQr; + DOM.qrImage.toggleClass("hidden"); + DOM.qrHint.toggleClass("hidden"); + } + var networks = [ { name: "Bitcoin",