Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev 15120 Rev 15121
Línea 1... Línea 1...
1
import React, { useState, useEffect } from 'react'
1
import React, { useState, useEffect } from 'react'
2
import { Button, Modal } from 'react-bootstrap'
-
 
3
import axios from 'axios'
2
import axios from 'axios'
-
 
3
import { Button, Modal } from 'react-bootstrap'
4
import { useForm } from 'react-hook-form'
4
import { useForm } from 'react-hook-form'
-
 
5
import { CKEditor } from 'ckeditor4-react'
5
import { useDispatch } from 'react-redux'
6
import { useDispatch } from 'react-redux'
6
import { addNotification } from '../../../redux/notification/notification.actions'
7
import { addNotification } from '../../../redux/notification/notification.actions'
7
import DescriptionInput from '../../../shared/DescriptionInput'
8
import { config } from '../../../shared/helpers/ckeditor_config'
Línea 8... Línea 9...
8
 
9
 
Línea 9... Línea -...
9
const EditModal = ({ closeModal, isOpen, edit_link, resetLink }) => {
-
 
10
 
10
const EditModal = ({ closeModal, isOpen, edit_link, resetLink }) => {
11
	//Hooks
11
 
Línea 12... Línea -...
12
	const { register, handleSubmit, watch, errors, setValue, clearErrors } = useForm()
-
 
13
	const dispatch = useDispatch()
12
	const { register, handleSubmit, watch, errors, setValue, clearErrors, getValues } = useForm()
14
 
13
	const dispatch = useDispatch()
15
	//States
14
 
16
	const [fileUrl, setFileUrl] = useState('')
15
	const [fileUrl, setFileUrl] = useState('')
17
	const [pointsOptions] = useState([
16
	const [pointsOptions] = useState([
Línea 29... Línea 28...
29
	])
28
	])
Línea 30... Línea 29...
30
 
29
 
Línea 31... Línea 30...
31
	const onSubmit = (data) => {
30
	const onSubmit = (data) => {
32
 
31
 
33
		const submitData = new FormData()
32
		const submitData = new FormData()
34
		Object.entries(data).map(([key, value]) => {
-
 
Línea 35... Línea 33...
35
			submitData.append(key, value)
33
		Object.entries(data)
36
		})
34
			.map(([key, value]) => submitData.append(key, value))
37
 
35
 
38
		axios.post(edit_link, submitData)
36
		axios.post(edit_link, submitData)
Línea 106... Línea 104...
106
						<input type="email" name='email' className='form-control' ref={register({ required: true })} />
104
						<input type="email" name='email' className='form-control' ref={register({ required: true })} />
107
						{errors.email && <p>{errors.email.message}</p>}
105
						{errors.email && <p>{errors.email.message}</p>}
108
					</div>
106
					</div>
109
					<div className='form-group'>
107
					<div className='form-group'>
110
						<label className="form-label">Comentario</label>
108
						<label className="form-label">Comentario</label>
111
						<DescriptionInput
109
						<CKEditor
-
 
110
							onChange={(e) => setValue('coment', e.editor.getData())}
-
 
111
							onInstanceReady={(e) =>
112
							name='coment'
112
								getValues('coment')
113
							onChange={setValue}
113
									? e.editor.setData(getValues('coment'))
114
							defaultValue={watch('coment')}
114
									: e.editor.setData('')
115
						/>
115
							}
-
 
116
							config={config} />
116
						{errors.coment && <p>{errors.coment.message}</p>}
117
						{errors.coment && <p>{errors.coment.message}</p>}
117
					</div>
118
					</div>
118
					<div className='form-group'>
119
					<div className='form-group'>
119
						<label className="form-label">Evaluación</label>
120
						<label className="form-label">Evaluación</label>
120
						<select className='form-control' name='evaluation' ref={register({ required: true })}>
121
						<select className='form-control' name='evaluation' ref={register({ required: true })}>
-
 
122
							{pointsOptions.map(({ label, value }) =>
121
							{
123
								<option
122
								pointsOptions.map(({ label, value }) => {
124
									key={value}
123
									return <option selected={watch('evaluation') === value} key={value} value={value}>{label}</option>
125
									selected={watch('evaluation') === value}
-
 
126
									value={value}>
124
								})
127
									{label}
-
 
128
								</option>
125
							}
129
							)}
126
						</select>
130
						</select>
127
						{errors.evaluation && <p>Este campo es requerido</p>}
131
						{errors.evaluation && <p>Este campo es requerido</p>}
128
					</div>
132
					</div>
129
					<div className='form-group'>
133
					<div className='form-group'>
130
						<label className="form-label">Resumen Curricular</label>
134
						<label className="form-label">Resumen Curricular</label>
Línea 141... Línea 145...
141
						CV Actual
145
						CV Actual
142
					</a>
146
					</a>
143
					<div className='form-group'>
147
					<div className='form-group'>
144
						<label className="form-label">Estatus</label>
148
						<label className="form-label">Estatus</label>
145
						<select className='form-control' name='status' ref={register({ required: true })}>
149
						<select className='form-control' name='status' ref={register({ required: true })}>
-
 
150
							{statusOptions.map(({ label, value }) =>
146
							{
151
								<option
147
								statusOptions.map(({ label, value }) => {
152
									key={value}
148
									return <option selected={watch('status') === value} key={value} value={value}>{label}</option>
153
									selected={watch('status') === value}
-
 
154
									value={value}>
149
								})
155
									{label}
-
 
156
								</option>
150
							}
157
							)}
151
						</select>
158
						</select>
152
						{errors.status && <p>Este campo es requerido</p>}
159
						{errors.status && <p>Este campo es requerido</p>}
153
					</div>
160
					</div>
154
				</Modal.Body>
161
				</Modal.Body>
155
				<Modal.Footer>
162
				<Modal.Footer>
156
					<Button
-
 
157
						variant="primary"
163
					<Button variant="primary" type='submit'>
158
						type='submit'
-
 
159
					>
-
 
160
						Enviar
164
						Enviar
161
					</Button>
165
					</Button>
162
					<Button variant="danger" onClick={closeModal}>
166
					<Button variant="danger" onClick={closeModal}>
163
						Cancelar
167
						Cancelar
164
					</Button>
168
					</Button>