import React from 'react'; import TransactionListItem from './internal/TransactionListItem'; import FormField from 'component/formField'; import Link from 'component/link'; import * as icons from 'constants/icons'; import * as modals from 'constants/modal_types'; class TransactionList extends React.PureComponent { constructor(props) { super(props); this.state = { filter: null, }; } handleFilterChanged(event) { this.setState({ filter: event.target.value, }); } filterTransaction(transaction) { const { filter } = this.state; return !filter || filter == transaction.type; } isRevokeable(txid, nout) { // a claim/support/update is revokable if it // is in my claim list(claim_list_mine) return this.props.myClaims.has(`${txid}:${nout}`); } revokeClaim(txid, nout) { this.props.openModal(modals.CONFIRM_CLAIM_REVOKE, { txid, nout }); } render() { const { emptyMessage, rewards, transactions } = this.props; const transactionList = transactions.filter(this.filterTransaction.bind(this)); return (
{(transactionList.length || this.state.filter) && ( {__('Filter')}{' '} {' '} )} {!transactionList.length && (
{emptyMessage || __('No transactions to list.')}
)} {Boolean(transactionList.length) && ( {transactionList.map(t => ( ))}
{__('Date')} {__('Amount (Fee)')} {__('Type')} {__('Details')} {__('Transaction')}
)}
); } } export default TransactionList;