+ show commutative price and price per etho + use Roboto as the default font + use subscribe for new blocks to sync transactions better
136 lines
4.1 KiB
JavaScript
136 lines
4.1 KiB
JavaScript
const {ipcRenderer} = require('electron');
|
|
|
|
class AddressBook {
|
|
constructor() {
|
|
}
|
|
|
|
setAddressName(address, name) {
|
|
var addressBook = EthoDatatabse.getAddresses();
|
|
|
|
// set the wallet name from the dialog box
|
|
addressBook.names[address] = name;
|
|
EthoDatatabse.setAddresses(addressBook);
|
|
}
|
|
|
|
getAddressName(address) {
|
|
var addressBook = EthoDatatabse.getAddresses();
|
|
// set the wallet name from the dialog box
|
|
return addressBook.names[address] || "";
|
|
}
|
|
|
|
getAddressList() {
|
|
var addressBook = EthoDatatabse.getAddresses();
|
|
return addressBook.names;
|
|
}
|
|
|
|
deleteAddress(address) {
|
|
var addressBook = EthoDatatabse.getAddresses();
|
|
delete addressBook.names[address];
|
|
EthoDatatabse.setAddresses(addressBook);
|
|
}
|
|
|
|
enableButtonTooltips() {
|
|
}
|
|
|
|
renderAddressBook() {
|
|
var addressObject = EthoAddressBook.getAddressList();
|
|
var renderData = { addressData: [] };
|
|
|
|
for (var key in addressObject) {
|
|
if (addressObject.hasOwnProperty(key)) {
|
|
var addressEntry = {};
|
|
addressEntry.name = addressObject[key];
|
|
addressEntry.address = key;
|
|
renderData.addressData.push(addressEntry);
|
|
}
|
|
}
|
|
|
|
// render the wallets current state
|
|
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() {
|
|
$("#dlgCreateAddressAndName").iziModal();
|
|
$("#addressName").val("");
|
|
$("#addressHash").val("");
|
|
$('#dlgCreateAddressAndName').iziModal('open');
|
|
|
|
function doCreateNewWallet() {
|
|
$('#dlgCreateAddressAndName').iziModal('close');
|
|
|
|
if (!EthoBlockchain.isAddress($("#addressHash").val())) {
|
|
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() {
|
|
doCreateNewWallet();
|
|
});
|
|
|
|
$("#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');
|
|
|
|
$("#dlgChangeAddressName").iziModal();
|
|
$("#inputAddressName").val(walletName);
|
|
$('#dlgChangeAddressName').iziModal('open');
|
|
|
|
function doChangeAddressName() {
|
|
EthoAddressBook.setAddressName(walletAddress, $("#inputAddressName").val());
|
|
$('#dlgChangeAddressName').iziModal('close');
|
|
EthoAddressBook.renderAddressBook();
|
|
}
|
|
|
|
$("#btnChangeAddressNameConfirm").off('click').on('click', function() {
|
|
doChangeAddressName();
|
|
});
|
|
|
|
$("#dlgChangeAddressName").off('keypress').on('keypress', function(e) {
|
|
if(e.which == 13) {
|
|
doChangeAddressName();
|
|
}
|
|
});
|
|
});
|
|
|
|
$(".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');
|
|
});
|
|
|
|
$("#btnDeleteAddressConfirm").off('click').on('click', function() {
|
|
$('#dlgDeleteAddressConfirm').iziModal('close');
|
|
EthoAddressBook.deleteAddress(deleteAddress);
|
|
EthoAddressBook.renderAddressBook();
|
|
});
|
|
});
|
|
});
|
|
|
|
EthoAddressBook = new AddressBook(); |