]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/commitdiff
Client select has 'custom derivation path' option
authorIan Coleman <coleman.ian@gmail.com>
Sun, 19 Feb 2017 00:49:51 +0000 (11:49 +1100)
committerIan Coleman <coleman.ian@gmail.com>
Sun, 19 Feb 2017 00:49:51 +0000 (11:49 +1100)
* Specific clients cause derivation path input to be readonly
* Rename ambiguous variable client-phrase to bip32-client

src/index.html
src/js/index.js

index a5ac6370a8440fd424f4935da64febaf7f4e38d2..5495fe9ac58e3be9fad1e1f5e0df521c8b381b7a 100644 (file)
                                     </p>
                                 </div>
                                 <div class="form-group">
-                                    <label for="client-phrase" class="col-sm-2 control-label" data-translate>Client</label>
+                                    <label for="bip32-client" class="col-sm-2 control-label" data-translate>Client</label>
                                     <div class="col-sm-10">
-                                        <select id="client-phrase" class="client form-control">
+                                        <select id="bip32-client" class="client form-control">
+                                            <option value="custom">Custom derivation path</option>
                                             <!-- populated by javascript -->
                                         </select>
                                     </div>
index 8c54cab6c13ac41b5a7051e8e9529f512c4f8198..22bf599a38b14618d864d8205baca09e0e03c4fd 100644 (file)
@@ -23,9 +23,8 @@
 
     var DOM = {};
     DOM.network = $(".network");
-    DOM.client = $(".client");
+    DOM.bip32Client = $("#bip32-client");
     DOM.phraseNetwork = $("#network-phrase");
-    DOM.phraseClient = $("#client-phrase");
     DOM.useEntropy = $(".use-entropy");
     DOM.entropyContainer = $(".entropy-container");
     DOM.entropy = $(".entropy");
@@ -79,7 +78,7 @@
     function init() {
         // Events
         DOM.network.on("change", networkChanged);
-        DOM.client.on("change", clientChanged);
+        DOM.bip32Client.on("change", bip32ClientChanged);
         DOM.useEntropy.on("change", setEntropyVisibility);
         DOM.entropy.on("input", delayedEntropyChanged);
         DOM.entropyMnemonicLength.on("change", entropyChanged);
             rootKeyChanged();
         }
     }
-    
-    function clientChanged(e) {
-        var clientIndex = e.target.value;
-        clients[clientIndex].onSelect();
-        if (seed != null) {
-            phraseChanged();
+
+    function bip32ClientChanged(e) {
+        var clientIndex = DOM.bip32Client.val();
+        if (clientIndex == "custom") {
+            DOM.bip32path.prop("readonly", false);
         }
         else {
-            rootKeyChanged();
+            DOM.bip32path.prop("readonly", true);
+            clients[clientIndex].onSelect();
+            if (seed != null) {
+                phraseChanged();
+            }
+            else {
+                rootKeyChanged();
+            }
         }
     }
 
             DOM.phraseNetwork.append(option);
         }
     }
-    
+
     function populateClientSelect() {
         for (var i=0; i<clients.length; i++) {
             var client = clients[i];
             var option = $("<option>");
             option.attr("value", i);
             option.text(client.name);
-            DOM.phraseClient.append(option);
+            DOM.bip32Client.append(option);
         }
     }