Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 14167 | Ir a la última revisión | | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
8452 stevensc 1
import React, { useState } from 'react'
2
import { useEffect } from 'react';
3
import { useForm } from 'react-hook-form';
4
import { getData } from '../../../helpers/fetchHelpers';
5
import SubmitModal from './SubmitModal'
6
 
7
const ExperienceModal = ({
8
    closeModal,
9
    dataLink
10
}) => {
11
 
12
    const [isActive, setIsActive] = useState(false)
13
    const { register, watch, setValue } = useForm()
14
 
15
    useEffect(() => {
16
        getData(dataLink)
17
            .then(({
18
                experience_visible,
19
                experience_min,
20
                experience_max }) => {
21
                setValue("experience_min", experience_min)
22
                setValue("experience_max", experience_max)
23
                experience_visible === "y" ? setIsActive(true) : setIsActive(false)
24
 
25
            })
26
    }, [])
27
 
28
    return (
29
        <SubmitModal
30
            title='Salario'
31
            closeModal={closeModal}
32
            submitData={{
33
                experience_visible: isActive ? "y" : "n",
34
                experience_min: watch("experience_min"),
35
                experience_max: watch("experience_max")
36
            }}
37
            postLink={dataLink}
38
        >
39
            <div
40
                className={`toggle btn btn-block btn-primary ${!isActive && "off"}`}
41
                data-toggle="toggle"
42
                role="button"
43
                style={{ width: '130px' }}
44
                onClick={() => setIsActive(!isActive)}
45
            >
46
                <input
47
                    type="checkbox"
48
                    checked={isActive}
49
                />
50
                <div className="toggle-group">
51
                    <label for="status" className="btn btn-primary toggle-on">Mostrar</label>
52
                    <label for="status" className="btn btn-light toggle-off">No mostrar</label>
53
                    <span className="toggle-handle btn btn-light"></span>
54
                </div>
55
            </div>
56
            <div className='form-group'>
57
                <label className="form-label">Minimo</label>
58
                <input
59
                    type='text'
60
                    className='form-control'
61
                    disabled={!isActive}
62
                    name='experience_min'
63
                    ref={register({
64
                        required: true,
65
                        valueAsNumber: true,
66
                        min: 1
67
                    })}
68
                />
69
            </div>
70
            <div className='form-group'>
71
                <label className="form-label">Maximo</label>
72
                <input
73
                    type='text'
74
                    className='form-control'
75
                    disabled={!isActive}
76
                    name='experience_max'
77
                    ref={register({
78
                        required: true,
79
                        valueAsNumber: true,
80
                        validate: value => value > watch("experience_min")
81
                    })}
82
                />
83
            </div>
84
        </SubmitModal>
85
    )
86
}
87
 
88
export default ExperienceModal