Merge pull request #11 from Irev-Dev/route-to-ide-from-edit

Route to ide from edit
This commit was merged in pull request #11.
This commit is contained in:
Kurt Hutten
2020-10-19 07:22:47 +11:00
committed by GitHub
2 changed files with 19 additions and 14 deletions

View File

@@ -1,5 +1,4 @@
import { useMutation, useFlash } from '@redwoodjs/web'
import { navigate, routes } from '@redwoodjs/router'
import { useMutation } from '@redwoodjs/web'
import PartForm from 'src/components/PartForm'
export const QUERY = gql`
@@ -26,17 +25,9 @@ const UPDATE_PART_MUTATION = gql`
export const Loading = () => <div>Loading...</div>
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 [updatePart, { loading, error }] = useMutation(UPDATE_PART_MUTATION)
const onSave = (input, id) => {
updatePart({ variables: { id, input } })
}
const onSave = (input, id) => updatePart({ variables: { id, input } })
return (
<PartForm part={part} onSave={onSave} error={error} loading={loading} />

View File

@@ -8,16 +8,27 @@ import {
Submit,
} from '@redwoodjs/forms'
import { useState } from 'react';
import { navigate, routes } from '@redwoodjs/router'
import { useFlash } from '@redwoodjs/web'
import Editor from "rich-markdown-editor";
const PartForm = (props) => {
const { addMessage } = useFlash()
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}))
}
addMessage('Part updated.', { classes: 'rw-flash-success' })
}
return (
@@ -80,6 +91,9 @@ const PartForm = (props) => {
<Submit disabled={props.loading} className="rw-button rw-button-blue">
Save
</Submit>
<Submit disabled={props.loading} data-open-ide={true} className="rw-button rw-button-blue">
Save and open IDE
</Submit>
</div>
</Form>
</div>