UNPKG

@openmrs/esm-laboratory-app

Version:

An O3 frontend module for managing laboratory requests and queues

26 lines (21 loc) 761 B
import { type Order } from '@openmrs/esm-patient-common-lib'; import { useMemo } from 'react'; interface CustomOrder extends Omit<Order, 'orderer' | 'patient'> { patient: string; patientUuid: string; orderer: string; } export default function useSearchResults(tableEntries: CustomOrder[], searchString): CustomOrder[] { const searchResults = useMemo(() => { if (searchString && searchString.trim() !== '') { const search = searchString.toLowerCase(); return tableEntries.filter((eachDataRow) => Object.entries(eachDataRow).some(([header, value]) => { return `${value}`.toLowerCase().includes(search); }), ); } return tableEntries; }, [searchString, tableEntries]); return searchResults; }