nuevaSolicitud.js
1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import { merge, mergeAll, mergeDeepRight } from 'ramda'
import {
SELECCIONAR_INSTITUCION,
CAMBIAR_TITULO,
CAMBIAR_DESCRIPCION,
CAMBIAR_FORMATO,
CAMBIAR_SOPORTE,
CAMBIAR_TIPO_RESPUESTA,
} from '../actions/nuevaSolicitud'
import { SOLICITUD_POST_SUCCESS } from '../actions/solicitudes'
const payload = {
mail: '',
nombre: '',
apellido: '',
domicilio: '',
telefono: '',
sexo: '',
especificarSexo: '',
nacionalidad: '',
titulo: '',
descripcion: '',
fechaNacimiento: 0,
distritoID: 0,
institucionID: 0, //ya
tipoRespuestaID: 0, //ya
soporteID: 0, //ya
formatoID: 0//ya
}
const nuevaSolicitud = {
payload,
solicitud: {
titulo: '',
descripcion: ''
},
institucion: null,
tipoRespuesta: null,
soporte: null,
formato: null,
loading: false,
error: null,
}
export default (state, action) => {
switch (action.type) {
case SELECCIONAR_INSTITUCION:
return merge(state, { institucion: action.institucion })
case CAMBIAR_TITULO:
return mergeDeepRight(state, { solicitud: { titulo: action.titulo } })
case CAMBIAR_DESCRIPCION:
return mergeDeepRight(state, { solicitud: { descripcion: action.descripcion } })
case CAMBIAR_FORMATO:
return merge(state, { formato: action.formato })
case CAMBIAR_SOPORTE:
return merge(state, { soporte: action.soporte })
case CAMBIAR_TIPO_RESPUESTA:
return merge(state, { tipoRespuesta: action.tipoRespuesta })
case SOLICITUD_POST_SUCCESS:
return mergeAll([state, { result: action.result }, nuevaSolicitud])
default:
return state || nuevaSolicitud
}
}