From f3fffe25e542223f86bde50c9a7d17716ebb4783 Mon Sep 17 00:00:00 2001 From: Araozu Date: Wed, 17 Mar 2021 19:03:10 -0500 Subject: [PATCH] Incorporar CursosElem a Mi Horario --- src/ContenedorHorarios/ContenedorHorarios.tsx | 6 ++- src/ContenedorHorarios/CursosElem.tsx | 28 +++++++++----- src/ContenedorHorarios/Horarios.tsx | 14 +++---- src/ContenedorHorarios/MiHorario.tsx | 37 +++++++++---------- 4 files changed, 48 insertions(+), 37 deletions(-) diff --git a/src/ContenedorHorarios/ContenedorHorarios.tsx b/src/ContenedorHorarios/ContenedorHorarios.tsx index 8a897bf..8cd4cf5 100755 --- a/src/ContenedorHorarios/ContenedorHorarios.tsx +++ b/src/ContenedorHorarios/ContenedorHorarios.tsx @@ -120,7 +120,11 @@ export function ContenedorHorarios() { return
- +
diff --git a/src/ContenedorHorarios/CursosElem.tsx b/src/ContenedorHorarios/CursosElem.tsx index 984580c..78032bf 100755 --- a/src/ContenedorHorarios/CursosElem.tsx +++ b/src/ContenedorHorarios/CursosElem.tsx @@ -19,6 +19,9 @@ const e = StyleSheet.create({ display: "inline-block", verticalAlign: "top" }, + cursoOculto: { + display: "none" + }, botonTexto: { padding: "0.25rem 0.35rem", borderRadius: "5px" @@ -31,7 +34,8 @@ interface Props { fnAgregarCurso: (c: Curso) => void, listaCursosUsuario: ListaCursosUsuario, idHover: () => string, - setIdHover: (v: string) => string + setIdHover: (v: string) => string, + esCursoMiHorario: boolean } function IndicadorGrupo(props: { nombre: string, esLab: boolean, idParcial: string, setIdHover: (v: string) => string }) { @@ -68,9 +72,11 @@ export function CursosElem(props: Props) { const claseCursoAgregado = css( e.contenedorCurso, estilosGlobales.contenedor, - estilosGlobales.contenedorCursorActivo, + !props.esCursoMiHorario && estilosGlobales.contenedorCursorActivo, ); + const claseCursoOculto = css(e.cursoOculto); + return <> {([_, datosCurso]) => { @@ -90,10 +96,14 @@ export function CursosElem(props: Props) { : `Agregar a mi horario` ); - const claseMemo = createMemo(() => cursoAgregadoMemo() - ? claseCursoAgregado - : claseCursoNoAgregado - ); + const claseMemo = createMemo(() => { + if (props.esCursoMiHorario && datosCurso.oculto) { + return claseCursoOculto + } + return cursoAgregadoMemo() + ? claseCursoAgregado + : claseCursoNoAgregado + }); const profesoresTeoria = createMemo(() => agruparProfesores(datosCurso.Teoria)); const profesoresLab = createMemo(() => agruparProfesores(datosCurso.Laboratorio ?? {})); @@ -158,6 +168,6 @@ export function CursosElem(props: Props) {
}} - - ; -} + + ; + } diff --git a/src/ContenedorHorarios/Horarios.tsx b/src/ContenedorHorarios/Horarios.tsx index 52b646d..343b5c1 100755 --- a/src/ContenedorHorarios/Horarios.tsx +++ b/src/ContenedorHorarios/Horarios.tsx @@ -77,13 +77,13 @@ export function Horarios(props: HorariosProps) { />
-
diff --git a/src/ContenedorHorarios/MiHorario.tsx b/src/ContenedorHorarios/MiHorario.tsx index 33c2b80..e8950e7 100755 --- a/src/ContenedorHorarios/MiHorario.tsx +++ b/src/ContenedorHorarios/MiHorario.tsx @@ -3,27 +3,17 @@ import { StyleSheet, css } from "aphrodite"; import { Tabla } from "./Tabla"; import { mostrarDescansos } from "../Store"; import { EstadoLayout } from "./ContenedorHorarios"; -import { Switch, Match, For, createMemo } from "solid-js"; +import { Switch, Match, For, createMemo, createSignal } from "solid-js"; import { BotonMaxMin } from "./BotonMaxMin"; import { BotonIcono } from "./BotonIcono"; -import { Cursos, ListaCursosUsuario } from "../types/DatosHorario"; +import { Curso, Cursos, ListaCursosUsuario } from "../types/DatosHorario"; +import { CursosElem } from "./CursosElem"; interface MiHorarioProps { estadoLayout: EstadoLayout, setEstadoLayout: (v: EstadoLayout) => EstadoLayout, - cursosUsuario: ListaCursosUsuario -} - -function Horario(props: { cursosUsuario: ListaCursosUsuario }) { - return
- - {c => { - return
-

{c.abreviado} - {c.nombre}

-
- }} -
-
+ cursosUsuario: ListaCursosUsuario, + fnAgregarCurso: (c: Curso) => void, } const e = StyleSheet.create({ @@ -40,6 +30,7 @@ const e = StyleSheet.create({ }); export function MiHorario(props: MiHorarioProps) { + const [idHover, setIdHover] = createSignal(""); const datosMiHorario = createMemo(() => { const obj: Cursos = {}; @@ -119,13 +110,19 @@ export function MiHorario(props: MiHorarioProps) { ""} - setIdHover={(v: string) => ""} + idHover={idHover} + setIdHover={setIdHover} /> - - - + + "Mi horario"} + dataAnio={datosMiHorario()} + fnAgregarCurso={props.fnAgregarCurso} + listaCursosUsuario={props.cursosUsuario} + idHover={idHover} + setIdHover={setIdHover} + esCursoMiHorario={true} + />