mirror of
https://github.com/nowcommunity/nowdatabase.git
synced 2026-10-12 19:13:52 +03:00
Return locality id on writing new & redirect to it after success
This commit is contained in:
@@ -31,7 +31,7 @@ router.put(
|
||||
return res.status(400).send({ validationErrors })
|
||||
}
|
||||
const result = await write(editedLocality, 'now_loc', { authorizer: 'TEST-SU', userName: 'testuser' })
|
||||
return res.status(200).send(result ? { result: result } : { error: 'error' })
|
||||
return res.status(200).send(result ? { id: result } : { error: 'error' })
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useParams } from 'react-router-dom'
|
||||
import { useNavigate, useParams } from 'react-router-dom'
|
||||
import { useEditLocalityMutation, useGetLocalityDetailsQuery } from '../../redux/localityReducer'
|
||||
import { CircularProgress } from '@mui/material'
|
||||
import { DetailView, TabType } from '../DetailView/DetailView'
|
||||
@@ -19,9 +19,12 @@ import { emptyLocality } from '../DetailView/common/defaultValues'
|
||||
|
||||
export const LocalityDetails = () => {
|
||||
const { id } = useParams()
|
||||
const navigate = useNavigate()
|
||||
const isNew = id === 'new'
|
||||
const { isLoading, isFetching, isError, data } = useGetLocalityDetailsQuery(id!, { skip: isNew })
|
||||
const [editLocalityRequest] = useEditLocalityMutation()
|
||||
const [editLocalityRequest, { isSuccess, data: newData }] = useEditLocalityMutation()
|
||||
|
||||
if (isSuccess && newData) navigate(`/locality/${newData.id}`)
|
||||
if (isError) return <div>Error loading data</div>
|
||||
if (isLoading || isFetching || (!data && !isNew)) return <CircularProgress />
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ const localitiesApi = api.injectEndpoints({
|
||||
}),
|
||||
providesTags: result => (result ? [{ type: 'locality', id: result.lid }] : []),
|
||||
}),
|
||||
editLocality: builder.mutation<LocalityDetailsType, EditDataType<LocalityDetailsType>>({
|
||||
editLocality: builder.mutation<{ id: number }, EditDataType<LocalityDetailsType>>({
|
||||
query: locality => ({
|
||||
url: `/locality/`,
|
||||
method: 'PUT',
|
||||
|
||||
Reference in New Issue
Block a user