diff options
Diffstat (limited to 'src/containers/Service/ServiceList.tsx')
-rw-r--r-- | src/containers/Service/ServiceList.tsx | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/containers/Service/ServiceList.tsx b/src/containers/Service/ServiceList.tsx index 7d30c14..a0536b5 100644 --- a/src/containers/Service/ServiceList.tsx +++ b/src/containers/Service/ServiceList.tsx @@ -1,29 +1,28 @@ import React, { useContext } from 'react'; -import { useHistory } from 'react-router-dom'; +import { useHistory, useLocation } from 'react-router-dom'; import Page from '../Page'; import ListTable from '../../components/ListTable'; import hooks from '../../hooks/useAPIClient'; import ServiceContext from './ServiceContext'; - const ServiceList: React.FC = () => { const service = useContext(ServiceContext); const history = useHistory(); - const { data } = hooks[service.route].useList(); + const location = useLocation(); + const { data } = hooks[service.route].useList(location.search); - const actions = [ - ...( - service.actions?.map(action => ({ - ...action, - route: `/${service.route}/${action.route}`, - })) || [] - ), - { name: 'Добавить', route: `/${service.route}/add` }, - ]; + const actions = service.actions || [{ + name: 'Добавить', + route: `/${service.route}/add`, + }]; const handleRowClick = (index: number) => { const item = data && data[index]; - history.push(`/${service.route}/${item?._id}`); + const route = service.rowLink + ? service.rowLink(item) + : `/${service.route}/${item?._id}`; + + history.push(route); }; return ( |