import React from 'react'; import { DataTable, Table, TableHead, TableRow, TableHeader, TableBody, TableCell, Layer, Button } from '@carbon/react'; import { Add } from '@carbon/react/icons'; import { useTranslation } from 'react-i18next'; import { parseDate, formatDatetime } from '@openmrs/esm-framework'; import { PriorityPill, StatusPill } from './OrderPills'; import { type Order } from '../../types/order/order'; import { CardHeader } from '@openmrs/esm-patient-common-lib'; type OrderTableProps = { title: string; orders: Order[]; onAdd: () => void; containerClassName: string; tableCellClassName: string; priorityPillClassName: string; statusPillClassName: string; }; const defaultHeaders = (t: (k: string, d: string) => string) => [ { header: t('orderNo', 'Order No'), key: 'orderNo' }, { header: t('dateOrdered', 'Date Ordered'), key: 'dateOrdered' }, { header: t('order', 'Order'), key: 'order' }, { header: t('priority', 'Priority'), key: 'priority' }, { header: t('orderBy', 'Order By'), key: 'orderBy' }, { header: t('status', 'Status'), key: 'status' }, ]; export const OrderTable: React.FC = ({ title, orders, onAdd, containerClassName, tableCellClassName, priorityPillClassName, statusPillClassName, }) => { const { t } = useTranslation(); const rows = orders.map((order) => ({ id: order.uuid, orderNo: order.orderNumber, dateOrdered: formatDatetime(parseDate(order.dateActivated), { mode: 'standard' }), order: order.concept?.display?.replace('_', ' ') ?? '--', priority: , orderBy: order.orderer?.display ?? '--', status: , })); if (orders?.length === 0) { return ; } return (
{({ getHeaderProps, getRowProps, getTableProps, headers, rows }) => ( {headers.map((header) => ( {header.header} ))} {rows.map((row) => ( {row.cells.map((cell) => ( {cell.value?.['content'] ?? cell.value} ))} ))}
)}
); }; export default OrderTable;