You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.9 KiB
76 lines
1.9 KiB
import React from 'react';
|
|
import {
|
|
copyCoinAddress,
|
|
getNewKMDAddresses
|
|
} from '../../../actions/actionCreators';
|
|
import Store from '../../../store';
|
|
import {
|
|
AddressListRender,
|
|
WalletsNativeReceiveRender
|
|
} from './walletsNativeReceive.render';
|
|
|
|
class WalletsNativeReceive extends React.Component {
|
|
constructor(props) {
|
|
super(props);
|
|
this.state = {
|
|
openDropMenu: false,
|
|
};
|
|
this.openDropMenu = this.openDropMenu.bind(this);
|
|
this.handleClickOutside = this.handleClickOutside.bind(this);
|
|
}
|
|
|
|
componentWillMount() {
|
|
document.addEventListener('click', this.handleClickOutside, false);
|
|
}
|
|
|
|
componentWillUnmount() {
|
|
document.removeEventListener('click', this.handleClickOutside, false);
|
|
}
|
|
|
|
handleClickOutside(e) {
|
|
if (e.srcElement.className.indexOf('dropdown') === -1 &&
|
|
(e.srcElement.offsetParent && e.srcElement.offsetParent.className.indexOf('dropdown') === -1)) {
|
|
this.setState({
|
|
openDropMenu: false,
|
|
});
|
|
}
|
|
}
|
|
|
|
openDropMenu() {
|
|
this.setState(Object.assign({}, this.state, {
|
|
openDropMenu: !this.state.openDropMenu,
|
|
}));
|
|
}
|
|
|
|
copyZAddress(address) {
|
|
Store.dispatch(copyCoinAddress(address));
|
|
}
|
|
|
|
renderAddressList(type) {
|
|
if (this.props.ActiveCoin.addresses &&
|
|
this.props.ActiveCoin.addresses[type] &&
|
|
this.props.ActiveCoin.addresses[type].length) {
|
|
return this.props.ActiveCoin.addresses[type].map((address) =>
|
|
AddressListRender.call(this, address, type)
|
|
);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
getNewAddress(type) {
|
|
Store.dispatch(getNewKMDAddresses(this.props.ActiveCoin.coin, type));
|
|
}
|
|
|
|
render() {
|
|
if (this.props &&
|
|
this.props.ActiveCoin &&
|
|
this.props.ActiveCoin.nativeActiveSection === 'receive') {
|
|
return WalletsNativeReceiveRender.call(this);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
}
|
|
|
|
export default WalletsNativeReceive;
|
|
|