+ transaction details with explorer redirection
+ sorting and floating header for wallets and address book + detect geth crash and notify the user
This commit is contained in:
@@ -1,9 +1,8 @@
|
||||
const {ipcRenderer} = require('electron');
|
||||
const {ipcRenderer} = require("electron");
|
||||
|
||||
class AddressBook {
|
||||
constructor() {
|
||||
}
|
||||
|
||||
constructor() {}
|
||||
|
||||
setAddressName(address, name) {
|
||||
var addressBook = EthoDatatabse.getAddresses();
|
||||
|
||||
@@ -29,12 +28,13 @@ class AddressBook {
|
||||
EthoDatatabse.setAddresses(addressBook);
|
||||
}
|
||||
|
||||
enableButtonTooltips() {
|
||||
}
|
||||
|
||||
enableButtonTooltips() {}
|
||||
|
||||
renderAddressBook() {
|
||||
var addressObject = EthoAddressBook.getAddressList();
|
||||
var renderData = { addressData: [] };
|
||||
var renderData = {
|
||||
addressData: []
|
||||
};
|
||||
|
||||
for (var key in addressObject) {
|
||||
if (addressObject.hasOwnProperty(key)) {
|
||||
@@ -46,102 +46,94 @@ class AddressBook {
|
||||
}
|
||||
|
||||
// render the wallets current state
|
||||
EthoMainGUI.renderTemplate("addressBook.html", renderData);
|
||||
EthoMainGUI.renderTemplate("addressBook.html", renderData);
|
||||
$(document).trigger("render_addressBook");
|
||||
EthoAddressBook.enableButtonTooltips();
|
||||
}
|
||||
}
|
||||
|
||||
// the event to tell us that the wallets are rendered
|
||||
$(document).on("render_addressBook", function() {
|
||||
$("#btnNewAddress").off('click').on('click', function() {
|
||||
$(document).on("render_addressBook", function () {
|
||||
new Tablesort(document.getElementById("addressTable"));
|
||||
$("#addressTable").floatThead();
|
||||
|
||||
$("#btnNewAddress").off("click").on("click", function () {
|
||||
$("#dlgCreateAddressAndName").iziModal();
|
||||
$("#addressName").val("");
|
||||
$("#addressHash").val("");
|
||||
$('#dlgCreateAddressAndName').iziModal('open');
|
||||
$("#dlgCreateAddressAndName").iziModal("open");
|
||||
|
||||
function doCreateNewWallet() {
|
||||
$('#dlgCreateAddressAndName').iziModal('close');
|
||||
$("#dlgCreateAddressAndName").iziModal("close");
|
||||
|
||||
if (!EthoBlockchain.isAddress($("#addressHash").val())) {
|
||||
EthoMainGUI.showGeneralError("Address must be a valid address!");
|
||||
EthoMainGUI.showGeneralError("Address must be a valid address!");
|
||||
} else {
|
||||
EthoAddressBook.setAddressName($("#addressHash").val(), $("#addressName").val());
|
||||
EthoAddressBook.renderAddressBook();
|
||||
|
||||
iziToast.success({
|
||||
title: 'Created',
|
||||
message: 'New address was successfully created',
|
||||
position: 'topRight',
|
||||
timeout: 5000
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$("#btnCreateAddressConfirm").off('click').on('click', function() {
|
||||
iziToast.success({title: "Created", message: "New address was successfully created", position: "topRight", timeout: 5000});
|
||||
}
|
||||
}
|
||||
|
||||
$("#btnCreateAddressConfirm").off("click").on("click", function () {
|
||||
doCreateNewWallet();
|
||||
});
|
||||
|
||||
$("#dlgCreateAddressAndName").off('keypress').on('keypress', function(e) {
|
||||
if(e.which == 13) {
|
||||
$("#dlgCreateAddressAndName").off("keypress").on("keypress", function (e) {
|
||||
if (e.which == 13) {
|
||||
doCreateNewWallet();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(".btnChangAddressName").off('click').on('click', function() {
|
||||
var walletAddress = $(this).attr('data-address');
|
||||
var walletName = $(this).attr('data-name');
|
||||
});
|
||||
});
|
||||
|
||||
$(".btnChangAddressName").off("click").on("click", function () {
|
||||
var walletAddress = $(this).attr("data-address");
|
||||
var walletName = $(this).attr("data-name");
|
||||
|
||||
$("#dlgChangeAddressName").iziModal();
|
||||
$("#inputAddressName").val(walletName);
|
||||
$('#dlgChangeAddressName').iziModal('open');
|
||||
$("#dlgChangeAddressName").iziModal("open");
|
||||
|
||||
function doChangeAddressName() {
|
||||
EthoAddressBook.setAddressName(walletAddress, $("#inputAddressName").val());
|
||||
$('#dlgChangeAddressName').iziModal('close');
|
||||
$("#dlgChangeAddressName").iziModal("close");
|
||||
EthoAddressBook.renderAddressBook();
|
||||
}
|
||||
|
||||
$("#btnChangeAddressNameConfirm").off('click').on('click', function() {
|
||||
$("#btnChangeAddressNameConfirm").off("click").on("click", function () {
|
||||
doChangeAddressName();
|
||||
});
|
||||
|
||||
$("#dlgChangeAddressName").off('keypress').on('keypress', function(e) {
|
||||
if(e.which == 13) {
|
||||
$("#dlgChangeAddressName").off("keypress").on("keypress", function (e) {
|
||||
if (e.which == 13) {
|
||||
doChangeAddressName();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(".btnDeleteAddress").off('click').on('click', function() {
|
||||
var deleteAddress = $(this).attr('data-address');
|
||||
});
|
||||
});
|
||||
|
||||
$(".btnDeleteAddress").off("click").on("click", function () {
|
||||
var deleteAddress = $(this).attr("data-address");
|
||||
|
||||
$("#dlgDeleteAddressConfirm").iziModal();
|
||||
$('#dlgDeleteAddressConfirm').iziModal('open');
|
||||
|
||||
$("#btnDeleteAddressCancel").off('click').on('click', function() {
|
||||
$('#dlgDeleteAddressConfirm').iziModal('close');
|
||||
$("#dlgDeleteAddressConfirm").iziModal("open");
|
||||
|
||||
$("#btnDeleteAddressCancel").off("click").on("click", function () {
|
||||
$("#dlgDeleteAddressConfirm").iziModal("close");
|
||||
});
|
||||
|
||||
$("#btnDeleteAddressConfirm").off('click').on('click', function() {
|
||||
$('#dlgDeleteAddressConfirm').iziModal('close');
|
||||
$("#btnDeleteAddressConfirm").off("click").on("click", function () {
|
||||
$("#dlgDeleteAddressConfirm").iziModal("close");
|
||||
EthoAddressBook.deleteAddress(deleteAddress);
|
||||
EthoAddressBook.renderAddressBook();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
$(".textAddress").off('click').on('click', function() {
|
||||
$(".textAddress").off("click").on("click", function () {
|
||||
EthoMainGUI.copyToClipboard($(this).html());
|
||||
|
||||
iziToast.success({
|
||||
title: 'Copied',
|
||||
message: 'Address was copied to clipboard',
|
||||
position: 'topRight',
|
||||
timeout: 2000
|
||||
});
|
||||
iziToast.success({title: "Copied", message: "Address was copied to clipboard", position: "topRight", timeout: 2000});
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
EthoAddressBook = new AddressBook();
|
||||
@@ -1,3 +1,5 @@
|
||||
const {ipcRenderer} = require("electron");
|
||||
|
||||
class tableTransactions {
|
||||
constructor() {
|
||||
this.appState = "account";
|
||||
@@ -57,12 +59,15 @@ class tableTransactions {
|
||||
return moment(data, "YYYY-MM-DD HH:mm:ss").format("MMM Do YYYY HH:mm:ss");
|
||||
}
|
||||
}, {
|
||||
targets: 5,
|
||||
targets: 3,
|
||||
visible: false
|
||||
}, {
|
||||
targets: 6,
|
||||
render: function (data, type, row) {
|
||||
return parseFloat(web3Local.utils.fromWei(EthoUtils.toFixed(parseFloat(data)).toString(), "ether")).toFixed(2);
|
||||
}
|
||||
}, {
|
||||
targets: 6,
|
||||
targets: 7,
|
||||
defaultContent: "",
|
||||
render: function (data, type, row) {
|
||||
if (row[1]) {
|
||||
@@ -77,6 +82,36 @@ class tableTransactions {
|
||||
$("#loadingTransactionsOverlay").css("display", "none");
|
||||
}
|
||||
});
|
||||
|
||||
$(id + " tbody").off("click").on("click", "td", function () {
|
||||
if ($(id).DataTable().cell(this).index().column == 1) {
|
||||
var rowIdx = $(id).DataTable().cell(this).index().row;
|
||||
var rowData = $(id).DataTable().rows(rowIdx).data()[0];
|
||||
|
||||
console.log(rowData[6]);
|
||||
$("#dlgTransactionInfo").iziModal();
|
||||
$("#txBlockHeight").html(rowData[1]);
|
||||
$("#txTimestamp").html(rowData[2]);
|
||||
$("#txHash").html(rowData[3]);
|
||||
$("#txHash").attr("href", vsprintf("https://explorer.ether1.org/tx/%s", [rowData[3]]));
|
||||
$("#txFromAddress").html(rowData[4]);
|
||||
$("#txFromAddress").attr("href", vsprintf("https://explorer.ether1.org/addr/%s", [rowData[4]]));
|
||||
$("#txToAddress").html(rowData[5]);
|
||||
$("#txToAddress").attr("href", vsprintf("https://explorer.ether1.org/addr/%s", [rowData[5]]));
|
||||
$("#txValue").html(web3Local.utils.fromWei(EthoUtils.toFixed(parseFloat(rowData[6])).toString(), "ether"));
|
||||
|
||||
$("#dlgTransactionInfo a").off("click").on("click", function (even) {
|
||||
event.preventDefault();
|
||||
ipcRenderer.send("openURL", $(this).attr("href"));
|
||||
});
|
||||
|
||||
$("#btnTxInfoClose").off("click").on("click", function () {
|
||||
$("#dlgTransactionInfo").iziModal("close");
|
||||
});
|
||||
|
||||
$("#dlgTransactionInfo").iziModal("open");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user