Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
6848 stevensc 1
import React, { useEffect, useState } from 'react'
2
import { Link } from 'react-router-dom'
3
import { getData } from '../../helpers/fetchHelpers';
4
import EditItem from '../components/EditItem';
7066 stevensc 5
import StatusModal from '../components/Modals/StatusModal';
6628 stevensc 6
 
6848 stevensc 7
const JobsEditView = ({ linkEdit }) => {
8
 
7066 stevensc 9
    const [modalToShow, setModalToShow] = useState(null);
6848 stevensc 10
    const [itemsData, setItemsData] = useState({
11
        title: '',
12
        status: '',
13
        description: '',
14
        location: '',
15
        employment_type: '',
16
        last_date_of_application: '',
17
        job_category: '',
18
        experience: '',
19
        salary: '',
20
        degrees: [],
21
        languages: [],
22
        skills: []
23
    });
7066 stevensc 24
    const [itemsRoutes, setItemsRoutes] = useState({
25
        route_degrees: "",
26
        route_employment_type: "",
27
        route_experience: "",
28
        route_extended: "",
29
        route_job_category: "",
30
        route_languages: "",
31
        route_last_date_of_application: "",
32
        route_location: "",
33
        route_salary: "",
34
        route_skills: "",
35
        route_status: "",
36
        route_title: ""
37
    });
6848 stevensc 38
 
7066 stevensc 39
    const closeModal = () => setModalToShow(null)
40
 
6848 stevensc 41
    useEffect(() => {
42
        getData(linkEdit)
43
            .then(results => {
44
                setItemsData({
45
                    title: results.title,
46
                    status: results.status,
47
                    description: results.description,
48
                    location: results.location,
49
                    employment_type: results.employment_type,
50
                    last_date_of_application: results.last_date_of_application,
51
                    job_category: results.job_category,
52
                    experience: results.experience,
53
                    salary: results.salary,
54
                    degrees: results.degrees,
55
                    languages: results.languages,
56
                    skills: results.skills
57
                })
7066 stevensc 58
                setItemsRoutes({
59
                    route_degrees: results.route_degrees,
60
                    route_employment_type: results.route_employment_type,
61
                    route_experience: results.route_experience,
62
                    route_extended: results.route_extended,
63
                    route_job_category: results.route_job_category,
64
                    route_languages: results.route_languages,
65
                    route_last_date_of_application: results.route_last_date_of_application,
66
                    route_location: results.route_location,
67
                    route_salary: results.route_salary,
68
                    route_skills: results.route_skills,
69
                    route_status: results.route_status,
70
                    route_title: results.route_title
71
                })
6848 stevensc 72
            })
73
    }, []);
74
 
7066 stevensc 75
    const ModalOptions = {
76
        "Estatus": <StatusModal closeModal={closeModal} getLink={itemsRoutes.route_status}/>,
77
        "Título": "",
78
        "Visión general": "",
79
        "Último día de aplicación": "",
80
        "Tipo de empleo": "",
81
        "Ubicación": "",
82
        "Experiencia": "",
83
        "Salario": "",
84
        "Categoría": "",
85
        "Habilidades": "",
86
        "Idiomas": "",
87
        "Grados": "",
88
    }
89
 
6628 stevensc 90
    return (
91
        <>
92
            <section className="content-header">
93
                <div className="container-fluid">
94
                    <div className="row mb-2">
95
                        <div className="col-sm-12">
6848 stevensc 96
                            <Link to='/jobs' className='text-decoration-none text-body'>
97
                                <h1>
98
                                    <i className='fa fa-angle-left fw-bold mr-2' />
99
                                    Editar empleo
100
                                </h1>
101
                            </Link>
6628 stevensc 102
                        </div>
103
                    </div>
104
                </div>
105
            </section>
6848 stevensc 106
            <section class="content">
107
                <div class="container-fluid">
108
                    <div class="row">
109
                        <div class="col-lg-3">
110
                        </div>
111
                        <div class="col-lg-6">
112
                            <div class="main-ws-sec">
7066 stevensc 113
                                <EditItem title='Estatus' data={itemsData.status} showModal={setModalToShow} />
114
                                <EditItem title='Título' data={itemsData.title} showModal={setModalToShow} />
115
                                <EditItem title='Visión general' data={itemsData.description} showModal={setModalToShow} />
116
                                <EditItem title='Último día de aplicación' data={itemsData.last_date_of_application} showModal={setModalToShow} />
117
                                <EditItem title='Tipo de empleo' data={itemsData.employment_type} showModal={setModalToShow} />
118
                                <EditItem title='Ubicación' data={itemsData.location} showModal={setModalToShow} />
119
                                <EditItem title='Experiencia' data={itemsData.experience} showModal={setModalToShow} />
120
                                <EditItem title='Salario' data={itemsData.salary} showModal={setModalToShow} />
121
                                <EditItem title='Categoría' data={itemsData.job_category} showModal={setModalToShow} />
122
                                <EditItem title='Habilidades' data={itemsData.skills} showModal={setModalToShow} />
123
                                <EditItem title='Idiomas' data={itemsData.languages} showModal={setModalToShow} />
124
                                <EditItem title='Grados' data={itemsData.degrees} showModal={setModalToShow} />
125
                                {
126
                                    ModalOptions[modalToShow]
127
                                }
6848 stevensc 128
                            </div>
129
                        </div>
130
                        <div class="col-lg-3">
131
                        </div>
132
                    </div>
133
                </div>
134
            </section>
6628 stevensc 135
        </>
136
    )
137
}
138
 
139
export default JobsEditView