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
+