Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 9782 | Rev 9802 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
9779 stevensc 1
import React, { useState } from 'react'
9759 stevensc 2
import { useForm } from 'react-hook-form'
9782 stevensc 3
import Datetime from 'react-datetime'
9791 stevensc 4
import SearchLocationInput from '../../../shared/SearchLocationInput'
9782 stevensc 5
import "react-datetime/css/react-datetime.css"
9469 stevensc 6
 
9779 stevensc 7
const FormView = ({ actionLink, googleApiKey }) => {
9759 stevensc 8
 
9
  const { handleSubmit, register } = useForm()
9779 stevensc 10
  const [location, setLocation] = useState({})
9782 stevensc 11
  const [year, setYear] = useState(new Date())
9779 stevensc 12
  const [locationLabel, setLocationLabel] = useState('')
13
  const [jobsDescriptions, setJobsDescriptions] = useState([
14
    {
15
      value: "8ff86a9a-651c-4dd0-86c1-b9c0716d09e0",
16
      label: "Programador Junior"
17
    }
18
  ])
19
  const [jobsCategory, setJobsCategory] = useState([
20
    {
21
      value: "7bd009b8-bd25-4602-bf85-9496af80afbd",
22
      label: "Finanzas"
23
    }
24
  ])
25
  const [industry, setIndustry] = useState([
26
    {
27
      value: "307c261f-2d27-4b3c-a86a-6f69a596edb8",
28
      label: "Bienes raíces"
29
    }
30
  ])
9759 stevensc 31
 
9779 stevensc 32
 
9759 stevensc 33
  const onSubmit = (data) => {
34
    console.log(data)
35
  }
9469 stevensc 36
  return (
9759 stevensc 37
    <section className="container">
38
      <div className="row">
39
        <div className="col-xs-12 col-md-12">
40
          <form onSubmit={handleSubmit(onSubmit)}>
41
            <div className="form-group">
42
              <label>Nombre</label>
43
              <input
44
                type="text"
45
                name="name"
46
                className="form-control"
9761 stevensc 47
                ref={register({ required: true, maxLength: 120 })}
9759 stevensc 48
              />
49
            </div>
9779 stevensc 50
            <div className="form-group">
51
              <label>Cargo a evaluar</label>
52
              <select name="job_description_id" className="form-control" ref={register({ required: true })}>
53
                {
54
                  jobsDescriptions.map(({ label, value }) => (
55
                    <option value={value}>{label}</option>
56
                  ))
57
                }
58
              </select>
59
            </div>
60
            <div className="form-group">
61
              <label>Categoría de Empleo</label>
62
              <select name="job_category_id" className="form-control" ref={register({ required: true })}>
63
                {
64
                  jobsCategory.map(({ label, value }) => (
65
                    <option value={value}>{label}</option>
66
                  ))
67
                }
68
              </select>
69
            </div>
70
            <div className="form-group">
71
              <label>Ubicación</label>
9791 stevensc 72
              <SearchLocationInput
9779 stevensc 73
                value={locationLabel}
74
                setValue={setLocationLabel}
75
                googleApiKey={googleApiKey}
76
                updateData={setLocation}
77
              />
78
            </div>
79
            <div className="form-group">
80
              <label>Industria</label>
81
              <select name="industry_id" className="form-control" ref={register({ required: true })}>
82
                {
83
                  industry.map(({ label, value }) => (
84
                    <option value={value}>{label}</option>
85
                  ))
86
                }
87
              </select>
88
            </div>
89
            <div className="form-group">
90
              <label>Último día de aplicación</label>
9791 stevensc 91
              <Datetime
92
                dateFormat="DD-MM-YYYY"
93
                timeFormat={false}
94
                onChange={(e) =>
95
                  setYear(new Intl.DateTimeFormat({ year: 'numeric', month: 'numeric', day: 'numeric' }).format(e.toDate()))
96
                }
97
                inputProps={{ className: 'form-control' }}
98
                closeOnSelect
99
              />
9779 stevensc 100
            </div>
9759 stevensc 101
          </form>
102
        </div>
103
      </div>
104
    </section>
9469 stevensc 105
  )
106
}
107
export default FormView