Implementar seleccionar grupos en la tabla de Mi Horario

This commit is contained in:
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()} anio={anioActual()}
idHover={idHover} idHover={idHover}
setIdHover={setIdHover} setIdHover={setIdHover}
setCursosUsuarios={props.setCursosUsuarios} setCursosUsuarios={() => {}}
/> />
</div> </div>
<div> <div>

View File

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

View File

@ -1,5 +1,5 @@
import { StyleSheet, css } from "aphrodite"; 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 { estilosGlobales } from "../Estilos";
import { Cursos, Curso, ListaCursosUsuario } from "../types/DatosHorario"; import { Cursos, Curso, ListaCursosUsuario } from "../types/DatosHorario";
import { Dia, dias, horas } from "../Store"; import { Dia, dias, horas } from "../Store";
@ -113,8 +113,11 @@ const procesarAnio = (data: Cursos, anio: string, version: number, setCursosUsua
id, id,
txt: `${nombreAbreviado} ${grupoStr}`, txt: `${nombreAbreviado} ${grupoStr}`,
esLab: false, esLab: false,
seleccionado: false, datosGrupo: grupo,
fnSeleccionar: () => {} 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, id,
txt: `${nombreAbreviado} L${grupoStr}`, txt: `${nombreAbreviado} L${grupoStr}`,
esLab: true, esLab: true,
seleccionado: grupo.seleccionado, datosGrupo: grupo,
fnSeleccionar: () => { fnSeleccionar: () => {
/// @ts-ignore /// @ts-ignore
setCursosUsuarios("cursos", parseInt(indiceCurso), "Laboratorio", grupoStr, "seleccionado", true); setCursosUsuarios("cursos", indiceCurso, "Laboratorio", grupoStr, "seleccionado", x => !x);
console.log("Seleccionando...", indiceCurso);
} }
}); });
} }

View File

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

View File

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