Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 6486 | Rev 8520 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 6486 Rev 8516
Línea 1... Línea 1...
1
import axios from 'axios'
1
import axios from 'axios'
2
import React, { useEffect, useState } from 'react'
2
import React, { useEffect, useState } from 'react'
3
import { Modal, Button } from 'react-bootstrap'
3
import { Modal, Button } from 'react-bootstrap'
-
 
4
import { useForm } from 'react-hook-form'
4
import { getData } from '../../../helpers/fetchHelpers'
5
import { getData } from '../../../helpers/fetchHelpers'
Línea 5... Línea 6...
5
 
6
 
6
const CompanySizeModal = ({
7
const IndustryModal = ({
7
    isOpen,
8
    isOpen,
8
    closeModal,
9
    closeModal,
9
    companySizeUrl,
10
    editUrl,
10
    action
11
    action
Línea 11... Línea 12...
11
}) => {
12
}) => {
12
 
13
 
-
 
14
    const { handleSubmit, register } = useForm()
-
 
15
    const [error, setError] = useState(null);
-
 
16
    const [companySizes, setCompanySizes] = useState([]);
-
 
17
    const [currentCompanySizeId, setCurrentCompanySizeId] = useState("");
Línea 13... Línea -...
13
    const [companySizes, setCompanySizes] = useState([]);
-
 
14
    const [error, setError] = useState(null);
-
 
15
 
18
 
16
    const onSubmit = (e) => {
19
    const onSubmit = ({ company_size }) => {
Línea 17... Línea 20...
17
        e.preventDefault()
20
 
18
        const data = new FormData()
21
        const data = new FormData()
19
        data.append("company_size", companySizes)
22
        data.append("company_size_id", company_size)
20
 
23
 
21
        axios.post(companySizeUrl, data)
24
        axios.post(editUrl, data)
22
            .then(({ data }) => {
25
            .then(({ data }) => {
23
                if (!data.success) {
26
                if (!data.success) {
24
                    return setError(data.data)
27
                    return setError("Error en la respuesta")
25
                }
28
                }
26
                action(data.data)
29
                action(data.data.company_size)
27
            })
30
            })
28
            .then(() => {
31
            .then(() => {
29
                setError(null)
32
                setError(null)
Línea 30... Línea 33...
30
                closeModal()
33
                closeModal()
31
            })
34
            })
32
            .catch((err) => console.log(err))
35
            .catch((err) => console.log(err))
-
 
36
    }
-
 
37
 
-
 
38
    useEffect(() => {
-
 
39
        getData(editUrl)
33
    }
40
            .then(({ company_sizes, company_size_id }) => {
-
 
41
                Object.entries(company_sizes).map(([key, value]) => {
34
 
42
                    setCompanySizes(prev => [...prev, { value: key, name: value }])
Línea 35... Línea 43...
35
    useEffect(() => {
43
                })
36
        getData(companySizeUrl)
44
 
37
            .then((resp) => console.log(resp))
45
                setCurrentCompanySizeId(company_size_id)
Línea 46... Línea 54...
46
            autoFocus={false}
54
            autoFocus={false}
47
        >
55
        >
48
            <Modal.Header closeButton>
56
            <Modal.Header closeButton>
49
                <Modal.Title>Cambiar</Modal.Title>
57
                <Modal.Title>Cambiar</Modal.Title>
50
            </Modal.Header>
58
            </Modal.Header>
51
            <form onSubmit={(e) => onSubmit(e)}>
59
            <form onSubmit={handleSubmit(onSubmit)}>
52
                <Modal.Body>
60
                <Modal.Body>
53
                    <div className="mb-3">
61
                    <div className="mb-3">
54
                        <label className="form-label">Tamaño de la empresa</label>
62
                        <label className="form-label">Tamaño de la empresa</label>
-
 
63
                        <select
-
 
64
                            className='form-control'
-
 
65
                            name="company_size"
-
 
66
                            ref={register}
-
 
67
                        >
-
 
68
                            {
-
 
69
                                companySizes.map(({ value, name }) => (
-
 
70
                                    <option key={value} value={value}>{name}</option>
-
 
71
                                ))
-
 
72
                            }
-
 
73
                        </select>
55
                    </div>
74
                    </div>
56
                    {error && <p>{error}</p>}
75
                    {error && <p>{error}</p>}
57
                </Modal.Body>
76
                </Modal.Body>
58
                <Modal.Footer>
77
                <Modal.Footer>
59
                    <Button
78
                    <Button
Línea 72... Línea 91...
72
            </form>
91
            </form>
73
        </Modal >
92
        </Modal >
74
    )
93
    )
75
}
94
}
Línea 76... Línea -...
76
 
-
 
77
export default CompanySizeModal
95
 
-
 
96
export default IndustryModal
78
97