Implementar seleccionar grupos en la tabla de Mi Horario

master
Araozu 2021-03-24 12:59:47 -05:00
parent e3d4c6da40
commit a5503e8d69
5 changed files with 19 additions and 20 deletions

View File

@ -75,7 +75,7 @@ export function Horarios(props: HorariosProps) {
anio={anioActual()}
idHover={idHover}
setIdHover={setIdHover}
setCursosUsuarios={props.setCursosUsuarios}
setCursosUsuarios={() => {}}
/>
</div>
<div>

View File

@ -43,11 +43,6 @@ export function MiHorario(props: MiHorarioProps) {
return obj;
});
const claseBotonMostrarDescansos = () =>
mostrarDescansos()
? "ph-check " + css(e.boton)
: "ph-circle " + css(e.boton);
const fnMaximizar = () => props.setEstadoLayout("MaxPersonal");
const fnMinimizar = () => props.setEstadoLayout("Normal");
const estadoActualLayout = () => props.estadoLayout;

View File

@ -1,5 +1,5 @@
import { StyleSheet, css } from "aphrodite";
import { createMemo, createSignal, For, SetStateFunction } from "solid-js";
import { createEffect, createMemo, createSignal, createState, For, SetStateFunction } from "solid-js";
import { estilosGlobales } from "../Estilos";
import { Cursos, Curso, ListaCursosUsuario } from "../types/DatosHorario";
import { Dia, dias, horas } from "../Store";
@ -113,8 +113,11 @@ const procesarAnio = (data: Cursos, anio: string, version: number, setCursosUsua
id,
txt: `${nombreAbreviado} ${grupoStr}`,
esLab: false,
seleccionado: false,
fnSeleccionar: () => {}
datosGrupo: grupo,
fnSeleccionar: () => {
/// @ts-ignore
setCursosUsuarios("cursos", indiceCurso, "Teoria", grupoStr, "seleccionado", x => !x);
}
});
}
}
@ -141,12 +144,10 @@ const procesarAnio = (data: Cursos, anio: string, version: number, setCursosUsua
id,
txt: `${nombreAbreviado} L${grupoStr}`,
esLab: true,
seleccionado: grupo.seleccionado,
datosGrupo: grupo,
fnSeleccionar: () => {
/// @ts-ignore
setCursosUsuarios("cursos", parseInt(indiceCurso), "Laboratorio", grupoStr, "seleccionado", true);
console.log("Seleccionando...", indiceCurso);
setCursosUsuarios("cursos", indiceCurso, "Laboratorio", grupoStr, "seleccionado", x => !x);
}
});
}

View File

@ -2,7 +2,7 @@ import { StyleSheet, css } from "aphrodite";
import { estilosGlobales } from "../../Estilos";
import { For, createSignal, createMemo, createEffect, SetStateFunction } from "solid-js";
import { Dia } from "../../Store";
import { ListaCursosUsuario } from "../../types/DatosHorario";
import { DatosGrupo, ListaCursosUsuario } from "../../types/DatosHorario";
const e = StyleSheet.create({
celdaComun: {
@ -72,7 +72,7 @@ interface Props {
id: string,
txt: string,
esLab: boolean,
seleccionado: boolean,
datosGrupo: DatosGrupo,
fnSeleccionar: () => void
}[],
idHover: () => string,
@ -100,14 +100,17 @@ export function CeldaFila(props: Props) {
const [estabaResaltado, setEstabaResaltado] = createSignal(false);
createEffect(() => {
const seleccionado = datos.seleccionado;
console.log("Cambiado \"seleccionado\":", seleccionado);
const estaSeleccionado = createMemo(() => {
return datos.datosGrupo.seleccionado;
});
const clases = createMemo(
() => {
const clases = [e.celdaCurso, esLab ? e.celdaCursoLab : e.celdaCursoTeoria];
const clases = [
e.celdaCurso,
esLab ? e.celdaCursoLab : e.celdaCursoTeoria,
estaSeleccionado() && estilosGlobales.contenedorCursorActivo
];
let adicional = "";
const idHoverS = idHover();
if (idHoverS !== "" && id.search(idHoverS) !== -1) {

View File

@ -70,7 +70,7 @@ export interface DataProcesada {
id: string,
txt: string,
esLab: boolean,
seleccionado: boolean,
datosGrupo: DatosGrupo,
fnSeleccionar: () => void
}[]
}