summaryrefslogtreecommitdiff
path: root/src/containers/Service
diff options
context:
space:
mode:
Diffstat (limited to 'src/containers/Service')
-rw-r--r--src/containers/Service/ServiceForm.tsx16
1 files changed, 10 insertions, 6 deletions
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<Params>();
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 (
<Page title={id ? item?.name : `Новый ${service.nameSingular}`} actions={actions}>
{(!id || item) && (