From 25b68cbd1a7c84f8a78964a1becaaeb1e5a950dc Mon Sep 17 00:00:00 2001 From: frab1t <33671357+frab1t@users.noreply.github.com> Date: Mon, 6 May 2019 19:36:39 +0200 Subject: [PATCH] edit: mv form in a Component --- src/containers/OpenTicket/OpenTicket.js | 150 +++++++----------------- 1 file changed, 40 insertions(+), 110 deletions(-) diff --git a/src/containers/OpenTicket/OpenTicket.js b/src/containers/OpenTicket/OpenTicket.js index 490d34c..0b9e399 100644 --- a/src/containers/OpenTicket/OpenTicket.js +++ b/src/containers/OpenTicket/OpenTicket.js @@ -1,23 +1,18 @@ import React, { Component } from 'react'; -import { Link } from 'react-router-dom'; -import { - Col, - Row, - Button, - Form, - FormGroup, - Label, - Input -} from 'reactstrap'; import Card from '../../components/Card'; +import InsertForm from '../../components/InsertForm'; +import TicketCreated from '../../containers/OpenTicket/TicketCreated'; +import MessageCard from '../MessageCard'; + class OpenTicket extends Component { constructor(props) { super(props); this.state = { - id: '', + ticketId: '', + ticketErr: '', firstName: '', lastName: '', email: '', @@ -43,7 +38,14 @@ class OpenTicket extends Component { handleSubmit(event) { event.preventDefault(); - const { id, ...rest } = this.state; + const { ticketId, ticketErr, ...rest } = this.state; + + if(!rest.firstName || !rest.lastName || !rest.email || !rest.message + || rest.type === '---' || !rest.subject ) { + alert('Form is invalid'); + return; + + } fetch("http://localhost:3001/tickets", { method: 'POST', @@ -55,120 +57,48 @@ class OpenTicket extends Component { }) .then((json) => { this.setState({ - id: json.id + ticketId: json.id }); + }) + .catch((err) => { + this.setState({ + ticketErr: err.message }); + }); } render() { - if (this.state.id) { + if (this.state.ticketId) { return ( -
- Go to home} /> -
+ + ); + } else if(this.state.ticketErr) { + return ( + ); - } - let FormOpenTicket = ( -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
); return (
+ } />