import React, { useCallback } from 'react';
import { CloudLoadingIndicator } from 'components';
import classNames from 'classnames';
import { FormattedMessage as T } from 'components';
import { CLASSES } from 'common/classes';
import { DataTableEditable } from 'components';
import { usePaymentMadeEntriesTableColumns } from './components';
import { usePaymentMadeInnerContext } from './PaymentMadeInnerProvider';
import { compose, updateTableCell } from 'utils';
import { useFormikContext } from 'formik';
/**
* Payment made items table.
*/
export default function PaymentMadeEntriesTable({
onUpdateData,
entries,
currencyCode,
}) {
// Payment made inner context.
const { isNewEntriesFetching } = usePaymentMadeInnerContext();
// Payment entries table columns.
const columns = usePaymentMadeEntriesTableColumns();
// Formik context.
const {
values: { vendor_id },
} = useFormikContext();
// Handle update data.
const handleUpdateData = useCallback(
(rowIndex, columnId, value) => {
const newRows = compose(updateTableCell(rowIndex, columnId, value))(
entries,
);
onUpdateData(newRows);
},
[onUpdateData, entries],
);
// Detarmines the right no results message before selecting vendor and aftering
// selecting vendor id.
const noResultsMessage = vendor_id ? (
) : (
);
return (
);
}