Skip to content

Commit

Permalink
Merge pull request #976 from DeepBlueCLtd/962_edit_form_go_to_show_af…
Browse files Browse the repository at this point in the history
…ter_completion

edit form go to show page after editing issue resolved
  • Loading branch information
IanMayo authored Jan 5, 2024
2 parents 994fe99 + 706c181 commit 25abc08
Show file tree
Hide file tree
Showing 11 changed files with 87 additions and 22 deletions.
11 changes: 9 additions & 2 deletions src/resources/addresses/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react'
import { Create, Edit, Show } from 'react-admin'
import { Create, Edit, Show, useRedirect } from 'react-admin'
import * as constants from '../../constants'
const AddressList = React.lazy(async () => await import('./AddressList'))
const AddressForm = React.lazy(async () => await import('./AddressForm'))
Expand All @@ -13,8 +13,15 @@ const AddressCreate = (): React.ReactElement => {
}

export const AddressEdit = (): React.ReactElement => {
const redirect = useRedirect()
return (
<Edit mutationMode={constants.MUTATION_MODE}>
<Edit
mutationMode={constants.MUTATION_MODE}
mutationOptions={{
onSuccess: (data: { addressNumber: string; id: number }): void => {
redirect(`/${constants.R_ADDRESSES}/${data?.id}/show`)
}
}}>
<AddressForm />
</Edit>
)
Expand Down
10 changes: 9 additions & 1 deletion src/resources/batches/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,16 @@ const Actions = (): React.ReactElement => {
}

const BatchEdit = (): React.ReactElement => {
const redirect = useRedirect()
return (
<Edit mutationMode={constants.MUTATION_MODE} actions={<Actions />}>
<Edit
mutationMode={constants.MUTATION_MODE}
actions={<Actions />}
mutationOptions={{
onSuccess: (data: { batchNumber: string; id: number }): void => {
redirect(`/${constants.R_BATCHES}/${data?.id}/show`)
}
}}>
<BatchForm isEdit />
</Edit>
)
Expand Down
11 changes: 9 additions & 2 deletions src/resources/destruction/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react'
import { Create, Edit } from 'react-admin'
import { Create, Edit, useRedirect } from 'react-admin'
import DestructionForm from './DestructionForm'
import * as constants from '../../constants'

Expand All @@ -19,8 +19,15 @@ const DestructionCreate = (): React.ReactElement => {
}

const DestructionEdit = (): React.ReactElement => {
const redirect = useRedirect()
return (
<Edit mutationMode={constants.MUTATION_MODE}>
<Edit
mutationMode={constants.MUTATION_MODE}
mutationOptions={{
onSuccess: (data: { destructionNumber: string; id: number }): void => {
redirect(`/${constants.R_DESTRUCTION}/${data?.id}/show`)
}
}}>
<DestructionForm disabledFields={['year', 'name']} isEdit />
</Edit>
)
Expand Down
9 changes: 8 additions & 1 deletion src/resources/dispatch/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,15 @@ const DispatchCreate = (): React.ReactElement => {
}

export const DispatchEdit = (): React.ReactElement => {
const redirect = useRedirect()
return (
<Edit mutationMode={constants.MUTATION_MODE}>
<Edit
mutationMode={constants.MUTATION_MODE}
mutationOptions={{
onSuccess: (data: Dispatch) => {
redirect(`/${constants.R_DISPATCH}/${data.id}/show`)
}
}}>
<DispatchForm edit />
</Edit>
)
Expand Down
8 changes: 5 additions & 3 deletions src/resources/items/ItemForm/ItemFormToolbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,11 @@ interface ActionsProps {

const Actions = (props: ActionsProps): React.ReactElement => {
const { onSuccess, setOpenRemarks, vLocationAudits } = props

const redirect = useRedirect()
const onSuccessWithRemarksClose = (data: any): void => {
onSuccess(data)
setOpenRemarks(false)
redirect(`/${constants.R_RICH_ITEMS}/${data?.id}/show`)
}

return (
Expand Down Expand Up @@ -71,10 +72,11 @@ interface Props {
onSave: (event: React.SyntheticEvent) => void
setOpenRemarks: React.Dispatch<boolean>
openRemarks: boolean
isEdit: boolean
}

const ItemFormToolbar = (props: Props): React.ReactElement => {
const { onSuccess, onSave, openRemarks, setOpenRemarks } = props
const { onSuccess, onSave, openRemarks, setOpenRemarks, isEdit } = props
const { notify } = useContext(NotificationContext)
const { reset, getValues, setValue } = useFormContext()
const [alwaysEnable, setAlwaysEnable] = useState(false)
Expand Down Expand Up @@ -141,7 +143,7 @@ const ItemFormToolbar = (props: Props): React.ReactElement => {
itemId
)
setTimeout(() => {
if (!clone) {
if (!clone && !isEdit) {
redirect(path)
}
}, 0)
Expand Down
1 change: 1 addition & 0 deletions src/resources/items/ItemForm/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ export default function ItemForm({ isEdit }: FormProps): React.ReactElement {
openRemarks={openRemarks}
setOpenRemarks={setOpenRemarks}
onSave={onSave}
isEdit
/>
}>
<CoreForm
Expand Down
19 changes: 17 additions & 2 deletions src/resources/platforms/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
import React from 'react'
import { SimpleForm, TextInput, BooleanInput, Create, Edit } from 'react-admin'
import {
SimpleForm,
TextInput,
BooleanInput,
Create,
Edit,
useRedirect
} from 'react-admin'
import { yupResolver } from '@hookform/resolvers/yup'
import * as yup from 'yup'
import PlatformList from './PlatformList'
Expand Down Expand Up @@ -42,8 +49,16 @@ const PlatformCreate = ({ name }: PropType): React.ReactElement => {

const PlatformEdit = ({ name }: PropType): React.ReactElement => {
const cName: string = name
const redirect = useRedirect()

return (
<Edit redirect={`/${cName}`} resource={constants.R_PLATFORMS}>
<Edit
resource={constants.R_PLATFORMS}
mutationOptions={{
onSuccess: (data: { platformNumber: string; id: number }): void => {
redirect(`/${cName}/${data?.id}/show`)
}
}}>
<PlatformForm />
</Edit>
)
Expand Down
11 changes: 9 additions & 2 deletions src/resources/projects/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react'
import { Create, Edit } from 'react-admin'
import { Create, Edit, useRedirect } from 'react-admin'
import ProjectForm from './ProjectForm'
import * as constants from '../../constants'

Expand All @@ -15,8 +15,15 @@ const ProjectCreate = (): React.ReactElement => {
}

const ProjectEdit = (): React.ReactElement => {
const redirect = useRedirect()
return (
<Edit mutationMode={constants.MUTATION_MODE}>
<Edit
mutationMode={constants.MUTATION_MODE}
mutationOptions={{
onSuccess: (data: { projectNumber: string; id: number }): void => {
redirect(`/${constants.R_PROJECTS}/${data?.id}/show`)
}
}}>
<ProjectForm isEdit />
</Edit>
)
Expand Down
9 changes: 7 additions & 2 deletions src/resources/reference-data/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react'
import { Create, Edit } from 'react-admin'
import { Create, Edit, useRedirect } from 'react-admin'
import ReferenceDataForm from './ReferenceDataForm'
import * as constants from '../../constants'
interface PropType {
Expand All @@ -17,11 +17,16 @@ const RerferenceDataCreate = ({ name }: PropType): React.ReactElement => {

export const ReferenceDataEdit = ({ name }: PropType): React.ReactElement => {
const cName: string = name
const redirect = useRedirect()

return (
<Edit
mutationMode={constants.MUTATION_MODE}
redirect={`/${cName}`}
mutationOptions={{
onSuccess: (data: { vaultNumber: string; id: number }): void => {
redirect(`/${cName}/${data?.id}/show`)
}
}}
resource={cName}>
<ReferenceDataForm isEdit name={cName} />
</Edit>
Expand Down
9 changes: 4 additions & 5 deletions src/resources/users/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React, { useState } from 'react'
import { Create, Edit, useEditContext } from 'react-admin'
import { Create, Edit, useEditContext, useRedirect } from 'react-admin'
import UserForm from './UserForm'
import * as constants from '../../constants'
import useAudit from '../../hooks/useAudit'
Expand All @@ -20,10 +20,9 @@ const UserCreate = (): React.ReactElement => {
}

const UserEdit = (): React.ReactElement => {
const path: string = `/${constants.R_USERS}`
const audit = useAudit()
const [prev, setPrev] = useState<User>()

const redirect = useRedirect()
return (
<Edit
mutationOptions={{
Expand All @@ -39,11 +38,11 @@ const UserEdit = (): React.ReactElement => {
subjectResource: null,
subjectId: null
})
redirect(`/${constants.R_USERS}/${data?.id}/show`)
}
}}
mutationMode={constants.MUTATION_MODE}
resource={constants.R_USERS}
redirect={path}>
resource={constants.R_USERS}>
<EditVal setPrev={setPrev} />
</Edit>
)
Expand Down
11 changes: 9 additions & 2 deletions src/resources/vault-locations/index.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react'
import { Create, Edit } from 'react-admin'
import { Create, Edit, useRedirect } from 'react-admin'
import VaultLocationForm from './VaultLocationForm'
import VaultLocationList from './VaultLocationList'
import ReferenceDataShow from '../reference-data/ReferenceDataShow'
Expand All @@ -14,8 +14,15 @@ const VaultLocationCreate = (): React.ReactElement => {
}

export const VaultLocationEdit = (): React.ReactElement => {
const redirect = useRedirect()
return (
<Edit mutationMode={constants.MUTATION_MODE}>
<Edit
mutationMode={constants.MUTATION_MODE}
mutationOptions={{
onSuccess: (data: { vaultNumber: string; id: number }): void => {
redirect(`/${constants.R_VAULT_LOCATION}/${data?.id}/show`)
}
}}>
<VaultLocationForm />
</Edit>
)
Expand Down

0 comments on commit 25abc08

Please sign in to comment.