diff --git a/web/src/components/EditPartCell/EditPartCell.js b/web/src/components/EditPartCell/EditPartCell.js index 3ba7344..70c8a68 100644 --- a/web/src/components/EditPartCell/EditPartCell.js +++ b/web/src/components/EditPartCell/EditPartCell.js @@ -29,14 +29,11 @@ export const Success = ({ part }) => { const { addMessage } = useFlash() const [updatePart, { loading, error }] = useMutation(UPDATE_PART_MUTATION, { onCompleted: () => { - navigate(routes.parts()) addMessage('Part updated.', { classes: 'rw-flash-success' }) }, }) - const onSave = (input, id) => { - updatePart({ variables: { id, input } }) - } + const onSave = (input, id) => updatePart({ variables: { id, input } }) return ( diff --git a/web/src/components/PartForm/PartForm.js b/web/src/components/PartForm/PartForm.js index 64d8fbb..17126e3 100644 --- a/web/src/components/PartForm/PartForm.js +++ b/web/src/components/PartForm/PartForm.js @@ -8,16 +8,24 @@ import { Submit, } from '@redwoodjs/forms' import { useState } from 'react'; +import { navigate, routes } from '@redwoodjs/router' import Editor from "rich-markdown-editor"; const PartForm = (props) => { const [description, setDescription] = useState(props?.part?.description) - const onSubmit = (data) => { - props.onSave({ + const onSubmit = async (data, e) => { + + await props.onSave({ ...data, description, }, props?.part?.id) + const shouldOpenIde = e?.nativeEvent?.submitter?.dataset?.openIde + if(shouldOpenIde) { + navigate(routes.partIde({id: props?.part?.id})) + } else { + navigate(routes.part({id: props?.part?.id})) + } } return ( @@ -80,6 +88,9 @@ const PartForm = (props) => { Save + + Save and open IDE +