From 7c2f2f2835ac7a8a13704bbc9fd706128243286a Mon Sep 17 00:00:00 2001 From: eug-vs Date: Sun, 14 Mar 2021 15:43:27 +0300 Subject: feat: add Delete button --- src/containers/Home.tsx | 6 +++--- src/containers/Service/ServiceForm.tsx | 16 ++++++++++------ 2 files changed, 13 insertions(+), 9 deletions(-) (limited to 'src/containers') diff --git a/src/containers/Home.tsx b/src/containers/Home.tsx index 82fbf25..697cc66 100644 --- a/src/containers/Home.tsx +++ b/src/containers/Home.tsx @@ -28,15 +28,15 @@ const cards = [ ]; const Home: React.FC = () => ( - +
{cards.map(card => ( - +
Накладная

{card.text}

- +
diff --git a/src/containers/Service/ServiceForm.tsx b/src/containers/Service/ServiceForm.tsx index e2dfef6..69cc3c8 100644 --- a/src/containers/Service/ServiceForm.tsx +++ b/src/containers/Service/ServiceForm.tsx @@ -4,24 +4,22 @@ import { Formik } from 'formik'; import _ from 'lodash'; import Page, { Action } from '../Page'; import hooks from '../../hooks/useAPIClient'; -import { post, patch } from '../../requests'; +import { post, patch, del } from '../../requests'; import ServiceContext from './ServiceContext'; interface Params { id: string; } -const actions: Action[] = [ - { name: 'Назад', variant: 'outlined', route: '..' }, - { name: 'Сохранить', type: 'submit', form: 'form' }, -]; - const ServiceForm: React.FC = () => { const service = useContext(ServiceContext); const history = useHistory(); const { id } = useParams(); const { data: item } = hooks[service.route].useItem(id); + const handleDelete = () => del(`/${service.route}/${id}`) + .then(() => history.push(`/${service.route}`)); + const onSubmit = (values: any) => { const promise = id ? patch(`/${service.route}/${id}`, values) @@ -29,6 +27,12 @@ const ServiceForm: React.FC = () => { return promise.then(() => history.push(`/${service.route}`)); }; + const actions: Action[] = [ + { name: 'Назад', variant: 'outlined', route: '..' }, + { name: 'Удалить', variant: 'outlined', onClick: handleDelete }, + { name: 'Сохранить', type: 'submit', form: 'form' }, + ]; + return ( {(!id || item) && ( -- cgit v1.2.3