+ address list for recipient
+ filter table helper * copy address simply by clicking on it
This commit is contained in:
@@ -164,6 +164,34 @@ class Blockchain {
|
||||
}
|
||||
}
|
||||
|
||||
getAddressListData(clbError, clbSuccess) {
|
||||
var rendererData = {};
|
||||
rendererData.addressData = [];
|
||||
|
||||
var wallets = ipcRenderer.sendSync('getJSONFile', 'wallets.json');
|
||||
var counter = 0;
|
||||
|
||||
web3Local.eth.getAccounts(function(err, res) {
|
||||
if (err) {
|
||||
clbError(err);
|
||||
} else {
|
||||
for (var i = 0; i < res.length; i++) {
|
||||
var walletName = vsprintf("Account %d", [i + 1]);
|
||||
if (wallets) {
|
||||
walletName = wallets.names[res[i]] || walletName;
|
||||
}
|
||||
|
||||
var addressInfo = {};
|
||||
addressInfo.address = res[i];
|
||||
addressInfo.name = walletName;
|
||||
rendererData.addressData.push(addressInfo);
|
||||
}
|
||||
|
||||
clbSuccess(rendererData);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
createNewAccount(password, clbError, clbSuccess) {
|
||||
web3Local.eth.personal.newAccount(password, function(error, account) {
|
||||
if (error) {
|
||||
|
||||
@@ -43,11 +43,15 @@ class MainGUI {
|
||||
});
|
||||
}
|
||||
|
||||
renderTemplate(template, data) {
|
||||
renderTemplate(template, data, container) {
|
||||
var template = Handlebars.compile(ipcRenderer.sendSync('getTemplateContent', template));
|
||||
|
||||
$("#mainContent").empty();
|
||||
$("#mainContent").html(template(data));
|
||||
if (!container) {
|
||||
container = $("#mainContent")
|
||||
}
|
||||
|
||||
container.empty();
|
||||
container.html(template(data));
|
||||
}
|
||||
|
||||
copyToClipboard(text) {
|
||||
|
||||
@@ -66,55 +66,40 @@ $(document).on("render_send", function() {
|
||||
web3Local.eth.getBalance(this.value, function(error, balance) {
|
||||
$("#sendMaxAmmount").html(parseFloat(web3Local.utils.fromWei(balance, 'ether')));
|
||||
});
|
||||
|
||||
/*
|
||||
// list all transactions for this address
|
||||
if (this.value) {
|
||||
$("#cardTransactionsForAddress").css("display", "block");
|
||||
|
||||
setTimeout(() => {
|
||||
// render the transactions
|
||||
$('#tableTransactionsForAddress').DataTable({
|
||||
"paging": false,
|
||||
"scrollY": "calc(100vh - 115px)",
|
||||
"responsive": true,
|
||||
"processing": true,
|
||||
"order": [[ 0, "desc" ]],
|
||||
"data": ipcRenderer.sendSync('getTransactions', this.value),
|
||||
"columnDefs": [
|
||||
{
|
||||
"className": "transactionsBlockNum",
|
||||
"targets": 0
|
||||
},
|
||||
{
|
||||
"targets": 1,
|
||||
"render": function ( data, type, row ) {
|
||||
return moment(data).format("MMM Do YYYY");
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": 4,
|
||||
"render": function ( data, type, row ) {
|
||||
return parseFloat(web3Local.utils.fromWei(EthoUtils.toFixed(parseFloat(data)).toString(), 'ether')).toFixed(2);
|
||||
}
|
||||
}
|
||||
],
|
||||
"drawCallback": function( settings ) {
|
||||
$("#loadingTransactionsOverlay").css("display", "none");
|
||||
}
|
||||
});
|
||||
}, 200);
|
||||
} else {
|
||||
$("#cardTransactionsForAddress").css("display", "none");
|
||||
}
|
||||
*/
|
||||
});
|
||||
|
||||
$("#btnSendAll").off('click').on('click', function() {
|
||||
$("#sendAmmount").focus();
|
||||
$("#sendAmmount").val($("#sendMaxAmmount").html());
|
||||
});
|
||||
|
||||
$("#btnLookForToAddress").off('click').on('click', function() {
|
||||
EthoBlockchain.getAddressListData(
|
||||
function(error) {
|
||||
EthoMainGUI.showGeneralError(error);
|
||||
},
|
||||
function(data) {
|
||||
$("#dlgAddressList").iziModal({ width: "800px" });
|
||||
EthoMainGUI.renderTemplate("addresslist.html", data, $("#dlgAddressListBody"));
|
||||
$('#dlgAddressList').iziModal('open');
|
||||
|
||||
$(".btnSelectToAddress").off('click').on('click', function() {
|
||||
$("#sendToAddress").val($(this).attr('data-wallet'));
|
||||
$('#dlgAddressList').iziModal('close');
|
||||
});
|
||||
|
||||
$('#addressListFilter').off('input').on('input',function(e){
|
||||
EthoUtils.filterTable($("#addressTable"), $('#addressListFilter').val());
|
||||
});
|
||||
|
||||
$("#btnClearSearchField").off('click').on('click', function() {
|
||||
EthoUtils.filterTable($("#addressTable"), "");
|
||||
$('#addressListFilter').val("")
|
||||
});
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
$("#btnSendTransaction").off('click').on('click', function() {
|
||||
if (EthoSend.validateSendForm()) {
|
||||
EthoBlockchain.getTranasctionFee($("#sendFromAddress").val(), $("#sendToAddress").val(), $("#sendAmmount").val(),
|
||||
|
||||
@@ -18,6 +18,27 @@ class Utils {
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
||||
filterTable(table, text) {
|
||||
// Declare variables
|
||||
var filter, tr, td, i, txtValue;
|
||||
filter = text.toUpperCase();
|
||||
tr = $(table).find("tr");
|
||||
|
||||
// Loop through all table rows, and hide those who don't match the search query
|
||||
for (i = 0; i < tr.length; i++) {
|
||||
td = $(tr[i]).find("td")[0];
|
||||
|
||||
if (td) {
|
||||
txtValue = td.textContent || td.innerText;
|
||||
if (txtValue.toUpperCase().indexOf(filter) > -1) {
|
||||
$(tr[i]).css("display", "");
|
||||
} else {
|
||||
$(tr[i]).css("display", "none");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
EthoUtils = new Utils();
|
||||
@@ -62,8 +62,8 @@ renderWalletsState() {
|
||||
EthoMainGUI.renderTemplate("wallets.html", data);
|
||||
$(document).trigger("render_wallets");
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// the event to tell us that the wallets are rendered
|
||||
@@ -142,8 +142,8 @@ $(document).on("render_wallets", function() {
|
||||
});
|
||||
});
|
||||
|
||||
$(".btnCopyWalletAddress").off('click').on('click', function() {
|
||||
EthoMainGUI.copyToClipboard($(this).attr('data-wallet'));
|
||||
$(".textAddress").off('click').on('click', function() {
|
||||
EthoMainGUI.copyToClipboard($(this).html());
|
||||
|
||||
iziToast.success({
|
||||
title: 'Copied',
|
||||
|
||||
Reference in New Issue
Block a user