Skip to content
This repository was archived by the owner on Feb 26, 2021. It is now read-only.

Commit a689df6

Browse files
Add tag field.
1 parent 9f5d490 commit a689df6

File tree

3 files changed

+24
-5
lines changed

3 files changed

+24
-5
lines changed

ui/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ <h1>Send</h1>
7676
<input type="number" name="amount" id="transfer-amount" placeholder="Amount" autocomplete="off" min="0" />
7777
<label id="transfer-units-value">i</label>
7878
</div>
79+
<div class="input"><input type="text" name="tag" id="transfer-tag" placeholder="Optional Tag" autocomplete="off" /></div>
7980
</div>
8081
<input type="hidden" name="transfer-autofill" id="transfer-autofill" value="0" />
8182
<button id="transfer-btn" type="button" class="btn" data-initial="Send It Now" data-loading="Sending...">SEND IT NOW</button>

ui/js/ui.transfers.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ var UI = (function(UI, $, undefined) {
3131
if (!amount) {
3232
throw "Amount cannot be zero";
3333
}
34+
35+
var tag = $.trim($("#transfer-tag").val().toUpperCase());
36+
37+
if (tag && /[^A-Z9]/.test(tag)) {
38+
throw "Tag is invalid";
39+
}
3440
} catch (error) {
3541
$stack.removeClass("loading");
3642
UI.formError("transfer", error);
@@ -39,7 +45,7 @@ var UI = (function(UI, $, undefined) {
3945

4046
console.log("Server.transfer: " + address + " -> " + amount);
4147

42-
iota.api.sendTransfer(connection.seed, connection.depth, connection.minWeightMagnitude, [{"address": address, "value": amount, "message": "", "tag": ""}], function(error, transfers) {
48+
iota.api.sendTransfer(connection.seed, connection.depth, connection.minWeightMagnitude, [{"address": address, "value": amount, "message": "", "tag": tag}], function(error, transfers) {
4349
if (error) {
4450
console.log("UI.handleTransfers: Error");
4551
console.log(error);

ui/js/ui.url.js

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,22 @@ var UI = (function(UI, $, undefined) {
3535
$stack.trigger("click");
3636
}
3737
} else {
38-
var match = url.match(/(?:transfer|send)\/([A-Z9]{90})\/([0-9\.]+)\-?([TGMK]?i)?$/i);
38+
var match = url.match(/(?:transfer|send)\/([A-Z9]{90})\/([0-9\.]+)\-?([TGMK]?i)?(\/.*)?$/i);
39+
var submatch = false;
3940

4041
if (match && match[1] && match[2]) {
41-
if ($("#transfer-address").val() || $("#transfer-amount").val()) {
42-
UI.notify("error", "Address and/or amount are already filled, won't overwrite.");
42+
if (match[4]) {
43+
submatch = match[4].match(/^\/([A-Z9]{1,27})\/?$/i);
44+
if (!submatch) {
45+
UI.notify("error", "Invalid tag value. Ignoring.");
46+
return;
47+
}
48+
}
49+
50+
if ($("#transfer-address").val() || $("#transfer-amount").val() || (submatch && submatch[1] && $("#transfer-tag").val())) {
51+
UI.notify("error", "Transfer fields are already filled, won't overwrite.");
4352
} else {
44-
UI.notify("success", "Address and amount have been prefilled from a clicked link.");
53+
UI.notify("success", "Transfer fields have been prefilled from a clicked link.");
4554

4655
$("#transfer-address").val(match[1].toUpperCase());
4756
$("#transfer-amount").val(match[2]);
@@ -53,6 +62,9 @@ var UI = (function(UI, $, undefined) {
5362
$("#transfer-units-value").html(match[3].charAt(0).toUpperCase() + match[3].charAt(1).toLowerCase());
5463
}
5564

65+
if (submatch && submatch[1]) {
66+
$("#transfer-tag").val(submatch[1].toUpperCase());
67+
}
5668
var $stack = $("#transfer-stack");
5769

5870
if (!$stack.hasClass("open")) {

0 commit comments

Comments
 (0)