Browse Source

search prueba

amenpunk 3 years ago
parent
commit
581008b9e6
3 changed files with 118 additions and 112 deletions
  1. 21 0
      psicoadmin/src/App.css
  2. 3 0
      psicoadmin/src/Css/all.css
  3. 94 112
      psicoadmin/src/Pages/Pruebas.jsx

+ 21 - 0
psicoadmin/src/App.css

129
 }
129
 }
130
 
130
 
131
 
131
 
132
+#todas_las_pruebas_body{
133
+    display : block;
134
+}
135
+#comportamiento_body{
136
+    display : none;
137
+}
138
+#personalidad_body{
139
+    display : none;
140
+}
141
+#inteligencia_body{
142
+    display : none;
143
+}
144
+
145
+        /* $("#todas_las_pruebas_body").css('display', 'block'); */
146
+        /* $("#comportamiento_body").css('display', 'none'); */
147
+        /* $("#personalidad_body").css('display', 'none'); */
148
+        /* $("#inteligencia_body").css('display', 'none'); */
149
+        /* $("#todaspruebas").addClass("active"); */
150
+        /* $("#comportamiento").removeClass("active"); */
151
+        /* $("#personalidad").removeClass("active"); */
152
+        /* $("#inteligencia").removeClass("active"); */

+ 3 - 0
psicoadmin/src/Css/all.css

2097
     background: transparent;
2097
     background: transparent;
2098
     transition: all 0.3s;
2098
     transition: all 0.3s;
2099
 }
2099
 }
2100
+.prueba_item{
2101
+    padding-top : 15px;
2102
+}
2100
 .body_prueba_list .modern-Checkbox label {
2103
 .body_prueba_list .modern-Checkbox label {
2101
     color: #363636;
2104
     color: #363636;
2102
     background-color: #ffffff;
2105
     background-color: #ffffff;

+ 94 - 112
psicoadmin/src/Pages/Pruebas.jsx

1
-import React, { useEffect } from 'react'
1
+import React, { useEffect, useState } from 'react'
2
 import $ from 'jquery'
2
 import $ from 'jquery'
3
 import { Row, Col } from 'react-bootstrap'
3
 import { Row, Col } from 'react-bootstrap'
4
 
4
 
9
 
9
 
10
 function Pagination () {
10
 function Pagination () {
11
     return(
11
     return(
12
-        <div class="pagination_pruebas">
13
-            <div class="botones_pagination">
14
-                <span class="disabled">Ant.</span>
15
-                <span href="#" class="active">1</span>
16
-                <span href="#">2</span>
17
-                <span href="#">3</span>
18
-                <span href="#">4</span>
19
-                <span href="#">5</span>
20
-                <span href="#">Sig.</span>
12
+        <div className="pagination_pruebas">
13
+            <div className="botones_pagination">
14
+                <span className="disabled">Ant.</span>
15
+                <span className="active">1</span>
16
+                <span >2</span>
17
+                <span >3</span>
18
+                <span >4</span>
19
+                <span >5</span>
20
+                <span >Sig.</span>
21
             </div>
21
             </div>
22
         </div>
22
         </div>
23
     )
23
     )
24
 }
24
 }
25
     
25
     
26
-function ListTests(pruebas){
27
-    return pruebas.map( ( prueba, index ) => {
28
-        return(
29
-            <>
30
-                <Col key={index} md="3">
31
-                    <div className="body_prueba_list">
32
-                        <div className="botones_edicion">
33
-                            <div className="contenedor_botones">
34
-                                <Row>
35
-                                    <Col md="6">
36
-                                        {/*<a href="index" title="Editar"><i className="far fa-edit"></i></a> */}
37
-                                        <EditIcon className="grid_btn"/>
38
-                                    </Col>
39
-                                    <Col md="6">
40
-                                        <RemoveRedEyeIcon className="grid_btn"/>
41
-                                        {/*  <a href="index" title="Eliminar"><i className="fas fa-times"></i></a> */}
42
-                                    </Col>
43
-                                </Row>
44
-                            </div>
45
-                        </div>
46
-                        <div className="modern-Checkbox">
47
-                            <label htmlFor="box-21">{prueba}</label>
48
-                        </div>
26
+function CardPrueba(props){
27
+    let {index, prueba} = props
28
+    return(
29
+        <Col className="prueba_item" key={index} md="3">
30
+            <div className="body_prueba_list">
31
+                <div className="botones_edicion">
32
+                    <div className="contenedor_botones">
33
+                        <Row>
34
+                            <Col md="6">
35
+                                {/*<a href="index" title="Editar"><i className="far fa-edit"></i></a> */}
36
+                                <EditIcon className="grid_btn"/>
37
+                            </Col>
38
+                            <Col md="6">
39
+                                <RemoveRedEyeIcon className="grid_btn"/>
40
+                                {/*  <a href="index" title="Eliminar"><i className="fas fa-times"></i></a> */}
41
+                            </Col>
42
+                        </Row>
49
                     </div>
43
                     </div>
50
-                </Col>
51
-            </>
52
-        )
53
-    })
44
+                </div>
45
+                <div className="modern-Checkbox">
46
+                    <label htmlFor="box-21">{prueba}</label>
47
+                </div>
48
+            </div>
49
+        </Col>
50
+    )
54
 }
51
 }
55
 
52
 
56
 export function Pruebas() {
53
 export function Pruebas() {
92
         'NIC',
89
         'NIC',
93
     ]
90
     ]
94
 
91
 
95
-    useEffect(() => todaspruebas_list() ,[])
96
-    
97
-    function todaspruebas_list() {
98
-        $("#todas_las_pruebas_body").css('display', 'block');
99
-        $("#comportamiento_body").css('display', 'none');
100
-        $("#personalidad_body").css('display', 'none');
101
-        $("#inteligencia_body").css('display', 'none');
102
-        $("#todaspruebas").addClass("active");
103
-        $("#comportamiento").removeClass("active");
104
-        $("#personalidad").removeClass("active");
105
-        $("#inteligencia").removeClass("active");
106
-    };
107
-
108
-    function comportamiento_list() {
109
-        $("#comportamiento_body").css('display', 'block');
110
-        $("#personalidad_body").css('display', 'none');
111
-        $("#inteligencia_body").css('display', 'none');
112
-        $("#todas_las_pruebas_body").css('display', 'none');
113
-        $("#personalidad").removeClass("active");
114
-        $("#inteligencia").removeClass("active");
115
-        $("#comportamiento").addClass("active");
116
-        $("#todaspruebas").removeClass("active");
117
-    };
118
-
119
-    function personalidad_list() {
120
-        $("#comportamiento_body").css('display', 'none');
121
-        $("#personalidad_body").css('display', 'block');
122
-        $("#inteligencia_body").css('display', 'none');
123
-        $("#todas_las_pruebas_body").css('display', 'none');
124
-        $("#comportamiento").removeClass("active");
125
-        $("#inteligencia").removeClass("active");
126
-        $("#personalidad").addClass("active");
127
-        $("#todaspruebas").removeClass("active");
128
-    };
129
-
130
-    function inteligencia_list() {
131
-        $("#comportamiento_body").css('display', 'none');
132
-        $("#personalidad_body").css('display', 'none');
133
-        $("#inteligencia_body").css('display', 'block');
134
-        $("#todas_las_pruebas_body").css('display', 'none');
135
-        $("#comportamiento").removeClass("active");
136
-        $("#personalidad").removeClass("active");
137
-        $("#inteligencia").addClass("active");
138
-        $("#todaspruebas").removeClass("active");
139
-    };
92
+    const all = [...inteligencia, ...comportamiento, ...personalidad]
140
 
93
 
94
+    useEffect(() => {
95
+        setPruebas(all)
96
+        console.log('Pruebas >> ',pruebas)
97
+    },[])
98
+    
99
+    let [nombre, setNombre] = useState(null)
100
+    let [pruebas, setPruebas] = useState([])
141
  
101
  
142
     return (
102
     return (
143
         <section>
103
         <section>
149
                         <Col md='6' className="busqueda_prueba">
109
                         <Col md='6' className="busqueda_prueba">
150
                             <Row>
110
                             <Row>
151
                                 <Col md="6">
111
                                 <Col md="6">
152
-                                    <input type="text" name="nombreprueba" placeholder="Escribe el nombre de la prueba que deseas consultar"/>
112
+                                    <input 
113
+                                        onChange={(event) => {
114
+                                            let nombre = event.target.value
115
+                                            console.log('NOMBRE >>',nombre)
116
+                                            if(nombre){
117
+                                                // let temp = pruebas.filter( prueba  => prueba.search(nombre) )
118
+                                                let temp = pruebas.filter( prueba  => {
119
+                                                    let isset = prueba.toUpperCase().includes( nombre.toUpperCase())
120
+                                                    console.log('ISET >>',prueba,isset )
121
+                                                    return isset
122
+                                                })
123
+                                                console.log('TEMP >>', temp)
124
+                                                setPruebas(temp)
125
+                                                setNombre(nombre)
126
+                                            }else{
127
+                                                setPruebas(all)
128
+                                                setNombre(nombre)
129
+                                            }
130
+                                        }} 
131
+                                        type="text" 
132
+                                        name="nombreprueba" 
133
+                                        placeholder="Escribe el nombre de la prueba que deseas consultar"/>
153
                                 </Col>
134
                                 </Col>
154
                                 <Col md="6">
135
                                 <Col md="6">
155
                                     <div className="buscar_prueba">
136
                                     <div className="buscar_prueba">
168
                     <div className="tabs_pruebas">
149
                     <div className="tabs_pruebas">
169
                         <Row >
150
                         <Row >
170
                             <Col md="3">
151
                             <Col md="3">
171
-                                <div className="test_tab active" id="todaspruebas" onClick={todaspruebas_list}>
152
+                                <div 
153
+                                    className="test_tab active" 
154
+                                    id="todaspruebas" 
155
+                                    onClick={() => setPruebas(all)}
156
+                                >
172
                                     <p>TODAS LAS PRUEBAS</p>
157
                                     <p>TODAS LAS PRUEBAS</p>
173
                                 </div>
158
                                 </div>
174
                             </Col>
159
                             </Col>
175
                             <Col md="3">
160
                             <Col md="3">
176
-                                <div className="test_tab" id="comportamiento" onClick={comportamiento_list}>
161
+                                <div 
162
+                                    className="test_tab" 
163
+                                    id="comportamiento" 
164
+                                    onClick={() => setPruebas(comportamiento)}
165
+                                >
177
                                     <p>COMPORTAMIENTO</p>
166
                                     <p>COMPORTAMIENTO</p>
178
                                 </div>
167
                                 </div>
179
                             </Col>
168
                             </Col>
180
                             <Col md="3">
169
                             <Col md="3">
181
-                                <div className="test_tab" id="personalidad" onClick={personalidad_list}>
170
+                                <div 
171
+                                    className="test_tab" 
172
+                                    id="personalidad" 
173
+                                    onClick={() => setPruebas(personalidad)}
174
+                                >
182
                                     <p>PERSONALIDAD</p>
175
                                     <p>PERSONALIDAD</p>
183
                                 </div>
176
                                 </div>
184
                             </Col>
177
                             </Col>
185
                             <Col md="3">
178
                             <Col md="3">
186
-                                <div className="test_tab" id="inteligencia" onClick={inteligencia_list}>
179
+                                <div 
180
+                                    className="test_tab" 
181
+                                    id="inteligencia" 
182
+                                    onClick={() => setPruebas(inteligencia)}>
187
                                     <p>INTELIGENCIA</p>
183
                                     <p>INTELIGENCIA</p>
188
                                 </div>
184
                                 </div>
189
                             </Col>
185
                             </Col>
191
                     </div>
187
                     </div>
192
 
188
 
193
                     <div className="pruebas_grid">
189
                     <div className="pruebas_grid">
194
-                            <div className="todas_las_pruebas_body" id="todas_las_pruebas_body">
195
-                                <Row>
196
-                                    {ListTests([...inteligencia,...personalidad,...comportamiento])}
197
-                                </Row>
198
-                                <Pagination/>
199
-                            </div>
200
-
201
-                        <div className="comportamiento_body" id="comportamiento_body">
202
-                            <Row>
203
-                                {ListTests(comportamiento)}
204
-                            </Row>
205
-                            <Pagination/>
206
-                        </div>
207
-                            
208
-                        <div className="inteligencia_body" id="inteligencia_body">
190
+                        <div className="todas_las_pruebas_body" id="todas_las_pruebas_body">
209
                             <Row>
191
                             <Row>
210
-                                { ListTests(inteligencia)  }
211
-                            </Row>
212
-                            <Pagination/>
213
-                        </div>
214
-
215
-                        <div className="personalidad_body" id="personalidad_body">
216
-                            <Row >
217
-                                {ListTests(personalidad)}
192
+                                {
193
+                                    pruebas.length ?
194
+                                    pruebas.map( 
195
+                                        (prueba, index) => <CardPrueba prueba={prueba} index={index}/>  
196
+                                    )
197
+                                    : undefined
198
+                                }
218
                             </Row>
199
                             </Row>
219
                             <Pagination/>
200
                             <Pagination/>
220
                         </div>
201
                         </div>
221
                     </div>
202
                     </div>
203
+
222
                 </div>
204
                 </div>
223
-                </div>
224
-            </section>
205
+            </div>
206
+        </section>
225
     )
207
     )
226
 }
208
 }