Implementar seleccionar grupos en la tabla de horarios
This commit is contained in:
parent
93bb41582b
commit
d79f44575d
@ -1,12 +1,11 @@
|
||||
import { Curso, CursoRaw, Cursos, DatosHorario, DatosHorarioRaw, ListaCursosUsuario } from "../types/DatosHorario";
|
||||
import { For, createSignal, createMemo, SetStateFunction, batch, untrack } from "solid-js";
|
||||
import { Curso, Cursos, DatosHorario, ListaCursosUsuario } from "../types/DatosHorario";
|
||||
import { batch, createMemo, createSignal, For, Match, SetStateFunction, Switch, untrack } from "solid-js";
|
||||
import { css } from "aphrodite";
|
||||
import { estilosGlobales } from "../Estilos";
|
||||
import { Tabla } from "./Tabla";
|
||||
import { CursosElem } from "./CursosElem";
|
||||
import { EstadoLayout } from "./ContenedorHorarios";
|
||||
import { BotonMaxMin } from "./BotonMaxMin";
|
||||
import { Switch, Match } from "solid-js";
|
||||
import { useListaCursos } from "./useListaCursos";
|
||||
|
||||
interface HorariosProps {
|
||||
@ -58,9 +57,8 @@ export function Horarios(props: HorariosProps) {
|
||||
|
||||
let i = 0;
|
||||
for (const [, curso] of Object.entries(cursos)) {
|
||||
agregarCursoALista(curso);
|
||||
|
||||
obj[i] = curso;
|
||||
// El curso devuelto por esta fun. es reactivo
|
||||
obj[i] = agregarCursoALista(curso);
|
||||
i++;
|
||||
}
|
||||
});
|
||||
|
@ -101,7 +101,6 @@ export function CeldaFila(props: Props) {
|
||||
const [estabaResaltado, setEstabaResaltado] = createSignal(false);
|
||||
|
||||
const estaSeleccionado = createMemo(() => {
|
||||
console.log("Seleccionado actualizado")
|
||||
return datos.datosGrupo.seleccionado;
|
||||
});
|
||||
|
||||
|
@ -4,7 +4,7 @@ import { Curso, ListaCursosUsuario } from "../types/DatosHorario";
|
||||
interface ReturnType {
|
||||
listaCursos: State<ListaCursosUsuario>,
|
||||
setListaCursos: SetStateFunction<ListaCursosUsuario>,
|
||||
agregarCursoALista: (c: Curso) => void,
|
||||
agregarCursoALista: (c: Curso) => Curso,
|
||||
eliminarCursosDeLista: () => void
|
||||
}
|
||||
|
||||
@ -14,14 +14,16 @@ export const useListaCursos = (): ReturnType => {
|
||||
cursos: []
|
||||
});
|
||||
|
||||
const agregarCursoALista = (curso: Curso) => {
|
||||
const agregarCursoALista = (curso: Curso): Curso => {
|
||||
// Si el horario ya se habia agregado, ocultarlo
|
||||
const cursoActualIndex = listaCursos.cursos.findIndex(x => x.nombre === curso.nombre);
|
||||
if (cursoActualIndex !== -1) {
|
||||
setListaCursos("cursos", cursoActualIndex, "oculto", x => !x);
|
||||
return listaCursos.cursos[cursoActualIndex];
|
||||
} else {
|
||||
setListaCursos("cursos", listaCursos.sigIndice, curso);
|
||||
setListaCursos("sigIndice", x => x + 1);
|
||||
return listaCursos.cursos[listaCursos.sigIndice - 1];
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user