Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
8468 stevensc 1
import axios from 'axios'
2
import React, { useEffect, useState } from 'react'
3
import { Modal, Button } from 'react-bootstrap'
4
import { useForm } from 'react-hook-form'
5
import { getData } from '../../../helpers/fetchHelpers'
6
 
7
const IndustryModal = ({
8
    isOpen,
9
    closeModal,
10
    editUrl,
11
    action
12
}) => {
13
 
8473 stevensc 14
    const { handleSubmit, register, setValue } = useForm()
8468 stevensc 15
    const [error, setError] = useState(null);
8472 stevensc 16
    const [industries, setIndustries] = useState([]);
8473 stevensc 17
    const [currentIndustry, setCurrentIndustry] = useState("");
8468 stevensc 18
 
8480 stevensc 19
    const onSubmit = ({ industry }) => {
8468 stevensc 20
 
8480 stevensc 21
        const data = new FormData()
8479 stevensc 22
        data.append("industry_id", industry)
23
 
8468 stevensc 24
        axios.post(editUrl, data)
8480 stevensc 25
            .then(res => {
26
                console.log(res)
8468 stevensc 27
            })
8480 stevensc 28
            .catch((err) => console.log(err))
8468 stevensc 29
    }
30
 
31
    useEffect(() => {
32
        getData(editUrl)
8473 stevensc 33
            .then(({ industries, industry_id }) => {
8470 stevensc 34
                Object.entries(industries).map(([key, value]) => {
35
                    setIndustries(prev => [...prev, { value: key, name: value }])
36
                })
8473 stevensc 37
 
38
                setCurrentIndustry(industry_id)
8470 stevensc 39
            })
8468 stevensc 40
    }, [isOpen]);
41
 
8473 stevensc 42
    useEffect(() => {
8480 stevensc 43
        console.log(industries.find(el => el.value === currentIndustry))
8473 stevensc 44
    }, [industries]);
45
 
8468 stevensc 46
    return (
47
        <Modal
48
            size="md"
49
            show={isOpen}
50
            onHide={closeModal}
51
            autoFocus={false}
52
        >
53
            <Modal.Header closeButton>
54
                <Modal.Title>Cambiar</Modal.Title>
55
            </Modal.Header>
56
            <form onSubmit={handleSubmit(onSubmit)}>
57
                <Modal.Body>
58
                    <div className="mb-3">
8473 stevensc 59
                        <label className="form-label">Industria</label>
8470 stevensc 60
                        <select
61
                            className='form-control'
8468 stevensc 62
                            name="industry"
63
                            ref={register}
8470 stevensc 64
                        >
65
                            {
66
                                industries.map(({ value, name }) => (
67
                                    <option key={value} value={value}>{name}</option>
68
                                ))
69
                            }
70
                        </select>
8468 stevensc 71
                    </div>
72
                    {error && <p>{error}</p>}
73
                </Modal.Body>
74
                <Modal.Footer>
75
                    <Button
76
                        variant="primary"
77
                        type="submit"
78
                    >
79
                        Enviar
80
                    </Button>
81
                    <Button
82
                        variant="default"
83
                        onClick={closeModal}
84
                    >
85
                        Cancelar
86
                    </Button>
87
                </Modal.Footer>
88
            </form>
89
        </Modal >
90
    )
91
}
92
 
93
export default IndustryModal