Proyectos de Subversion LeadersLinked - Backend

Rev

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

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