Files
paperclip-wallet/renderer/addressBook.js
Taegus 91356cfc8f * address list addresses always in uppercase
+ copy address list address to clipboard
+ show address names under the addresses in the send screen
2019-02-03 11:13:36 +01:00

147 lines
4.4 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.toUpperCase()] = name;
EthoDatatabse.setAddresses(addressBook);
}
getAddressName(address) {
var addressBook = EthoDatatabse.getAddresses();
// set the wallet name from the dialog box
return addressBook.names[address.toUpperCase()] || "";
}
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();
});
});
$(".textAddress").off('click').on('click', function() {
EthoMainGUI.copyToClipboard($(this).html());
iziToast.success({
title: 'Copied',
message: 'Address was copied to clipboard',
position: 'topRight',
timeout: 2000
});
});
});
EthoAddressBook = new AddressBook();