浏览代码

search prueba

amenpunk 3 年之前
父节点
当前提交
581008b9e6
共有 3 个文件被更改,包括 118 次插入112 次删除
  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,3 +129,24 @@
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,6 +2097,9 @@ label {
2097 2097
     background: transparent;
2098 2098
     transition: all 0.3s;
2099 2099
 }
2100
+.prueba_item{
2101
+    padding-top : 15px;
2102
+}
2100 2103
 .body_prueba_list .modern-Checkbox label {
2101 2104
     color: #363636;
2102 2105
     background-color: #ffffff;

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

@@ -1,4 +1,4 @@
1
-import React, { useEffect } from 'react'
1
+import React, { useEffect, useState } from 'react'
2 2
 import $ from 'jquery'
3 3
 import { Row, Col } from 'react-bootstrap'
4 4
 
@@ -9,48 +9,45 @@ import { useNavigate } from 'react-router-dom'
9 9
 
10 10
 function Pagination () {
11 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 21
             </div>
22 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 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 53
 export function Pruebas() {
@@ -92,52 +89,15 @@ export function Pruebas() {
92 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 102
     return (
143 103
         <section>
@@ -149,7 +109,28 @@ export function Pruebas() {
149 109
                         <Col md='6' className="busqueda_prueba">
150 110
                             <Row>
151 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 134
                                 </Col>
154 135
                                 <Col md="6">
155 136
                                     <div className="buscar_prueba">
@@ -168,22 +149,37 @@ export function Pruebas() {
168 149
                     <div className="tabs_pruebas">
169 150
                         <Row >
170 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 157
                                     <p>TODAS LAS PRUEBAS</p>
173 158
                                 </div>
174 159
                             </Col>
175 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 166
                                     <p>COMPORTAMIENTO</p>
178 167
                                 </div>
179 168
                             </Col>
180 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 175
                                     <p>PERSONALIDAD</p>
183 176
                                 </div>
184 177
                             </Col>
185 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 183
                                     <p>INTELIGENCIA</p>
188 184
                                 </div>
189 185
                             </Col>
@@ -191,36 +187,22 @@ export function Pruebas() {
191 187
                     </div>
192 188
 
193 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 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 199
                             </Row>
219 200
                             <Pagination/>
220 201
                         </div>
221 202
                     </div>
203
+
222 204
                 </div>
223
-                </div>
224
-            </section>
205
+            </div>
206
+        </section>
225 207
     )
226 208
 }