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