From 36e84493831f9aace37bcc1cd3cb389dcbb4a915 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Thu, 12 Dec 2019 22:06:35 -0800 Subject: [PATCH] In progress update job mutation. Unknown how to have this use an input object. --- .../job-tombstone/job-tombstone.component.jsx | 9 +++++++-- .../manage-sign-in-button.component.jsx | 5 +++-- client/src/components/sign-out/sign-out.component.jsx | 6 +++--- client/src/graphql/jobs.queries.js | 10 ++++++++++ client/src/pages/jobs-detail/jobs-detail.page.jsx | 2 -- .../src/pages/unauthorized/unauthorized.component.jsx | 2 +- 6 files changed, 24 insertions(+), 10 deletions(-) diff --git a/client/src/components/job-tombstone/job-tombstone.component.jsx b/client/src/components/job-tombstone/job-tombstone.component.jsx index e546deeb2..03bef3666 100644 --- a/client/src/components/job-tombstone/job-tombstone.component.jsx +++ b/client/src/components/job-tombstone/job-tombstone.component.jsx @@ -1,9 +1,12 @@ import React, { useState } from "react"; import AlertComponent from "../alert/alert.component"; import { Form, Input, Row, Col, Button } from "antd"; +import { UPDATE_JOB } from "../../graphql/jobs.queries"; +import { useMutation } from "@apollo/react-hooks"; function JobTombstone({ job, ...otherProps }) { const [jobContext, setJobContext] = useState(job); + const [mutationUpdateJob] = useMutation(UPDATE_JOB); if (!job) { return ( @@ -20,6 +23,10 @@ function JobTombstone({ job, ...otherProps }) { otherProps.form.validateFieldsAndScroll((err, values) => { if (!err) { console.log("Received values of form: ", values); + + mutationUpdateJob({ + variables: { jobId: jobContext.id, job: JSON.stringify(values) } + }).then(r => console.log("result", r)); } }); }; @@ -27,10 +34,8 @@ function JobTombstone({ job, ...otherProps }) { const handleChange = event => { const { name, value } = event.target; setJobContext({ ...jobContext, [name]: value }); - console.log("jobContext", jobContext); }; - console.log("#DEBUG", job); const { getFieldDecorator } = otherProps.form; return (
diff --git a/client/src/components/manage-sign-in-button/manage-sign-in-button.component.jsx b/client/src/components/manage-sign-in-button/manage-sign-in-button.component.jsx index dca1ad63f..f2ae7dd19 100644 --- a/client/src/components/manage-sign-in-button/manage-sign-in-button.component.jsx +++ b/client/src/components/manage-sign-in-button/manage-sign-in-button.component.jsx @@ -3,6 +3,7 @@ import { useQuery } from "react-apollo"; import { Link } from "react-router-dom"; import { GET_CURRENT_USER } from "../../graphql/local.queries"; import { Icon } from "antd"; +import LoadingSpinner from "../loading-spinner/loading-spinner.component"; export default function ManageSignInButton() { const { @@ -11,9 +12,9 @@ export default function ManageSignInButton() { data: { currentUser } } = useQuery(GET_CURRENT_USER); - if (loading) return "MSI Loading"; + if (loading) return ; if (error) return error.message; - console.log("currentUser", currentUser); + return currentUser ? (
{" "} diff --git a/client/src/components/sign-out/sign-out.component.jsx b/client/src/components/sign-out/sign-out.component.jsx index 22c58c61e..5b8b31203 100644 --- a/client/src/components/sign-out/sign-out.component.jsx +++ b/client/src/components/sign-out/sign-out.component.jsx @@ -9,9 +9,9 @@ export default class SignOut extends Component { signOut = async () => { try { await firebase.auth().signOut(); - this.setState({ - redirect: true - }); + // this.setState({ + // redirect: true + // }); } catch (error) { console.log(error); } diff --git a/client/src/graphql/jobs.queries.js b/client/src/graphql/jobs.queries.js index 60ff26078..fa07e71f0 100644 --- a/client/src/graphql/jobs.queries.js +++ b/client/src/graphql/jobs.queries.js @@ -103,3 +103,13 @@ export const GET_JOB_BY_PK = gql` } } `; + +export const UPDATE_JOB = gql` + mutation UPDATE_JOB($jobId: uuid!, $job: json!) { + update_jobs(where: { id: { _eq: $jobId } }, _set: $job) { + returning { + id + } + } + } +`; diff --git a/client/src/pages/jobs-detail/jobs-detail.page.jsx b/client/src/pages/jobs-detail/jobs-detail.page.jsx index 1ec904e8a..c3e4aacba 100644 --- a/client/src/pages/jobs-detail/jobs-detail.page.jsx +++ b/client/src/pages/jobs-detail/jobs-detail.page.jsx @@ -15,10 +15,8 @@ function JobsDetailPage({ match }) { if (loading) return ; if (error) return ; - console.log("routes", match); return (
-
); diff --git a/client/src/pages/unauthorized/unauthorized.component.jsx b/client/src/pages/unauthorized/unauthorized.component.jsx index b0a50a3ee..913be8192 100644 --- a/client/src/pages/unauthorized/unauthorized.component.jsx +++ b/client/src/pages/unauthorized/unauthorized.component.jsx @@ -1,6 +1,6 @@ import React from "react"; import { Typography } from "antd"; -import HeaderContainer from "../../components/header/header.component"; +import HeaderContainer from "../../components/header/header.container"; export default function Unauthorized() { return (