diff --git a/public/horarios/2018_2_fps_epis.yaml b/public/horarios/2018_2_fps_epis.yaml index 0734e2f..b448b55 100644 --- a/public/horarios/2018_2_fps_epis.yaml +++ b/public/horarios/2018_2_fps_epis.yaml @@ -1,6 +1,22 @@ titulo: Horarios 2018-2, Ingeniería de Sistemas. años: 1er año: + Realidad Nacional: + nombre: Realidad Nacional + abreviado: RN + Teoria: + A: + Docente: "?" + Horas: + - Ma0700 + - Ma0750 + - Ma0850 + B: + Docente: "?" + Horas: + - Lu1400 + - Lu1450 + - Lu1550 Calculo 1: nombre: Cálculo en 1 variable abreviado: C1V @@ -165,22 +181,6 @@ años: - Ma1450 - Ju1400 - Ju1450 - Realidad Nacional: - nombre: Realidad Nacional - abreviado: RN - Teoria: - A: - Docente: "?" - Horas: - - Ma0700 - - Ma0750 - - Ma0850 - B: - Docente: "?" - Horas: - - Lu1400 - - Lu1450 - - Lu1550 2do año: Ecologia: nombre: Ecologia y Medio Ambiente @@ -390,14 +390,22 @@ años: - Mi1740 - Mi1830 3er año: - Construccion de Software->CS: {} - Redes y Comunicacion de Datos-> RCD: {} - Tecnologia de Objetos->TO: {} + Construccion de Software->CS: + nombre: Construcción de Software + Redes y Comunicacion de Datos-> RCD: + nombre: Redes y Comunicacion de Datos + Tecnologia de Objetos->TO: + nombre: Tecnologia de Objetos + Sistemas Operativos: + nombre: Sistemas Operativos 4to año: - Aspectos Formales de Verif. y Esp.->AFVE: {} - Gestion de Proyectos de Software->GPS: {} + Aspectos Formales de Verif. y Esp.->AFVE: + nombre: Aspectos Formales de Verif. y Esp + Gestion de Proyectos de Software->GPS: + nombre: Gestion de Proyectos de Software 5to año: - Topicos Avanzados en Ing. de Software->TAIS: {} + Topicos Avanzados en Ing. de Software->TAIS: + nombre: Topicos Avanzados en Ing. de Software Practicas Pre-Profesionales: nombre: Practicas Pre-Profesionales abreviado: PPP diff --git a/src/components/Inicio/anio.vue b/src/components/Inicio/anio.vue index 6ed4bb9..71d21cf 100644 --- a/src/components/Inicio/anio.vue +++ b/src/components/Inicio/anio.vue @@ -3,7 +3,11 @@ h3 {{ nombreAño }} tabla-horarios(:nombreAño="nombreAño") - curso(v-for="(curso, n) in año" :key="n" :curso="curso" :nombreAño="nombreAño") + curso(v-for="(curso, nombre) in año" :key="nombre" + :curso="curso" + :nombreAño="nombreAño" + :nombreCurso="nombre") + // diff --git a/src/components/Inicio/curso.vue b/src/components/Inicio/curso.vue index d08bd22..a1af622 100644 --- a/src/components/Inicio/curso.vue +++ b/src/components/Inicio/curso.vue @@ -1,29 +1,32 @@ + + \ No newline at end of file diff --git a/src/components/Inicio/tablaHorarios/celda-curso.vue b/src/components/Inicio/tablaHorarios/celda-curso.vue index b44ca81..3dede69 100644 --- a/src/components/Inicio/tablaHorarios/celda-curso.vue +++ b/src/components/Inicio/tablaHorarios/celda-curso.vue @@ -56,28 +56,6 @@ diff --git a/src/components/Inicio/tablaHorarios/funcionesResaltado.coffee b/src/components/Inicio/tablaHorarios/funcionesResaltado.coffee index 8da687a..9efc1c2 100644 --- a/src/components/Inicio/tablaHorarios/funcionesResaltado.coffee +++ b/src/components/Inicio/tablaHorarios/funcionesResaltado.coffee @@ -10,14 +10,13 @@ export resaltarCurso = (nombreAño, cursoAbreviado) => nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ") clase = "_#{ nombreAñoF }_#{ cursoAbreviado }" - ejecutarEnElementos clase, (elementos) => - for elemento in elementos - nuevaClase = - if (elemento.getAttribute "eslab") is "true" - "celda__lab--resaltado" - else - "celda__teoria--resaltado" - elemento.className += " #{nuevaClase}" + ejecutarEnElementos clase, (elemento) => + nuevaClase = + if (elemento.getAttribute "eslab") is "true" + "celda__lab--resaltado" + else + "celda__teoria--resaltado" + elemento.className += " #{nuevaClase}" @@ -33,36 +32,40 @@ export removerResaltadoCurso = (nombreAño, cursoAbreviado) => elemento.className = clasesNueva -resaltarElemento = (elemento, esLab) => - nuevaClase = "celda__#{ if esLab then 'lab' else 'teoria' }--resaltado" +resaltarElemento = (elemento, esLab, etiqueta = "resaltado") => + nuevaClase = "celda__#{ if esLab then 'lab' else 'teoria' }--#{ etiqueta }" elemento.className += " #{nuevaClase}" -export resaltarGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) => + +export obtenerClaseGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) => nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ") - clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }" + "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }" + + + +export resaltarGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) => + clase = obtenerClaseGrupoCurso nombreAño, cursoAbreviado, grupo, esLab ejecutarEnElementos clase, (elemento) => resaltarElemento elemento, esLab -removerResaltadoElemento = (elemento) => +removerResaltadoElemento = (elemento, etiqueta = "resaltado") => clases = elemento.className - clasesNueva = clases.replace "celda__lab--resaltado", "" - clasesNueva = clasesNueva.replace "celda__teoria--resaltado", "" + clasesNueva = clases.replace "celda__lab--#{ etiqueta }", "" + clasesNueva = clasesNueva.replace "celda__teoria--#{ etiqueta }", "" elemento.className = clasesNueva export removerResaltadoGrupo = (nombreAño, cursoAbreviado, grupo, esLab) => - nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ") - clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }" + clase = obtenerClaseGrupoCurso nombreAño, cursoAbreviado, grupo, esLab - ejecutarEnElementos clase, (elemento) => removerResaltadoElemento elemento, esLab + ejecutarEnElementos clase, (elemento) => removerResaltadoElemento elemento export registrarCurso = (nombreAño, cursoAbreviado, grupo, esLab) => - nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ") - clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }" + clase = obtenerClaseGrupoCurso nombreAño, cursoAbreviado, grupo, esLab ejecutarEnElementos clase, (elemento) => nuevaClase = "celda__#{ if esLab then 'lab' else 'teoria' }--activo" @@ -71,8 +74,7 @@ export registrarCurso = (nombreAño, cursoAbreviado, grupo, esLab) => export desregistrarCurso = (nombreAño, cursoAbreviado, grupo, esLab) => - nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ") - clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }" + clase = obtenerClaseGrupoCurso nombreAño, cursoAbreviado, grupo, esLab ejecutarEnElementos clase, (elemento) => clases = elemento.className @@ -84,18 +86,17 @@ export desregistrarCurso = (nombreAño, cursoAbreviado, grupo, esLab) => export activarGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) => - nombreAñoF = nombreAño.substring 0, nombreAño.indexOf " " - clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }" + clase = obtenerClaseGrupoCurso nombreAño, cursoAbreviado, grupo, esLab elementos = document.getElementsByClassName clase for elemento in elementos estaActivo = ((elemento.getAttribute "activo") ? "no") is "si" if estaActivo - removerResaltadoElemento elemento, esLab + removerResaltadoElemento elemento, "activo" elemento.setAttribute "activo", "no" else - resaltarElemento elemento, esLab + resaltarElemento elemento, esLab, "activo" elemento.setAttribute "activo", "si" diff --git a/src/sass/Global.sass b/src/sass/Global.sass index 388c908..970700d 100644 --- a/src/sass/Global.sass +++ b/src/sass/Global.sass @@ -14,4 +14,38 @@ html h1, h2, h3 font-family: "Product Sans", Roboto, sans-serif -// \ No newline at end of file +// Varios + +.cursor_click + cursor: pointer + + +// Celdas del horario +$duracionTransicion: 100ms + + +.celda + white-space: pre + font-family: "Fira Code", monospace + cursor: pointer + user-select: none + transition: background-color $duracionTransicion linear, color $duracionTransicion linear + + +.celda__teoria + color: var(--colorTeoria) + + +.celda__teoria:hover, .celda__teoria--resaltado, .celda__teoria--activo + background-color: var(--colorTeoria) + color: white + + +.celda__lab + color: var(--colorLab) + + +.celda__lab:hover, .celda__lab--resaltado, .celda__lab--activo + background-color: var(--colorLab) + color: white + diff --git a/src/store/index.js b/src/store/index.js index 1e30290..f090342 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -5,7 +5,8 @@ Vue.use(Vuex); export default new Vuex.Store({ state: { - celdas: {} + celdas: {}, + horarioUsuario: {} }, mutations: { registrarCelda(state, idCelda) { @@ -13,6 +14,12 @@ export default new Vuex.Store({ }, agregarACelda(state, {idCelda, datos}) { state.celdas[idCelda].push(datos); + }, + agregarCursoAMiHorario(state, {nombre, datos} ) { + if (!state.horarioUsuario[nombre]) { + state.horarioUsuario[nombre] = datos; + state.horarioUsuario = Object.assign({}, state.horarioUsuario); + } } }, actions: { diff --git a/src/views/Inicio.vue b/src/views/Inicio.vue index 72a10f0..87788ab 100644 --- a/src/views/Inicio.vue +++ b/src/views/Inicio.vue @@ -1,6 +1,8 @@