import React, { useMemo, useCallback } from 'react'; import { FormattedMessage as T, useIntl } from 'react-intl'; import DataTable from 'components/DataTable'; import FinancialSheet from 'components/FinancialSheet'; import withARAgingSummary from './withARAgingSummary'; import { compose } from 'utils'; /** * AR aging summary table sheet. */ function ReceivableAgingSummaryTable({ // #withReceivableAgingSummary receivableAgingRows, receivableAgingLoading, receivableAgingColumns, // #ownProps onFetchData, organizationName, }) { const { formatMessage } = useIntl(); const agingColumns = useMemo(() => { return receivableAgingColumns.map((agingColumn) => { return `${agingColumn.before_days} - ${ agingColumn.to_days || 'And Over' }`; }); }, [receivableAgingColumns]); const columns = useMemo( () => [ { Header: , accessor: 'name', className: 'customer_name', sticky: 'left', width: 200, }, { Header: , accessor: 'current', className: 'current', width: 120, }, ...agingColumns.map((agingColumn, index) => ({ Header: agingColumn, accessor: `aging-${index }`, width: 120, })), { Header: (), id: 'total', accessor: 'total', className: 'total', width: 140, }, ], [agingColumns], ); const rowClassNames = (row) => [`row-type--${row.original.rowType}`]; const handleFetchData = useCallback((...args) => { // onFetchData && onFetchData(...args); }, []); return ( ); } export default compose( withARAgingSummary( ({ receivableAgingSummaryLoading, receivableAgingSummaryColumns, receivableAgingSummaryRows, }) => ({ receivableAgingLoading: receivableAgingSummaryLoading, receivableAgingColumns: receivableAgingSummaryColumns, receivableAgingRows: receivableAgingSummaryRows, }), ), )(ReceivableAgingSummaryTable);