From c222bc06f9c123d3e2fa4a428d74032f54887485 Mon Sep 17 00:00:00 2001 From: eug-vs Date: Sat, 17 Apr 2021 19:56:30 +0300 Subject: feat: add ServiceSearch --- src/lib/ServiceSearch.tsx | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/lib/ServiceSearch.tsx (limited to 'src/lib/ServiceSearch.tsx') diff --git a/src/lib/ServiceSearch.tsx b/src/lib/ServiceSearch.tsx new file mode 100644 index 0000000..b2509d3 --- /dev/null +++ b/src/lib/ServiceSearch.tsx @@ -0,0 +1,31 @@ +import React, { useContext } from 'react'; +import _ from 'lodash'; +import { InputBase } from '../components/Input'; +import ServiceContext from './ServiceContext'; +import useQuery from '../hooks/useQuery'; + +const ServiceSearch: React.FC = () => { + const service = useContext(ServiceContext); + const { query, setQuery } = useQuery(); + + const placeholder = `Искать ${service.name.toLowerCase()}`; + + const handleChange = _.debounce((event: React.ChangeEvent) => { + if (service.searchBy) { + const newQuery = service.searchBy.reduce((acc, key) => { + acc[`${key}[$regex]`] = event.target.value; + return acc; + }, query); + + setQuery(newQuery); + } + }, 250); + + return ( +
+ +
+ ); +}; + +export default ServiceSearch; -- cgit v1.2.3