Agregada funcionalidad para reiniciar la tabla.
This commit is contained in:
parent
472068a69b
commit
25d6e80495
@ -1,6 +1,7 @@
|
||||
<template lang="pug">
|
||||
div
|
||||
h3 {{ nombreAño }}
|
||||
div.reiniciar(@click="reiniciarTablaVue") Reiniciar
|
||||
|
||||
tabla-horarios(:nombreAño="nombreAño")
|
||||
curso(v-for="(curso, nombre) in año" :key="nombre"
|
||||
@ -14,6 +15,7 @@
|
||||
<script lang="coffee">
|
||||
import curso from "./curso.vue"
|
||||
import tablaHorarios from "./tabla-horarios.vue"
|
||||
import { reiniciarTabla } from "./tablaHorarios/funcionesResaltado.coffee"
|
||||
|
||||
export default
|
||||
name: "Anio"
|
||||
@ -25,12 +27,30 @@
|
||||
nombreAño:
|
||||
type: String
|
||||
required: true
|
||||
|
||||
methods:
|
||||
reiniciarTablaVue: ->
|
||||
nombreAño = "_" + (@nombreAño.substring 0, (@nombreAño.indexOf " "))
|
||||
reiniciarTabla nombreAño
|
||||
|
||||
#
|
||||
</script>
|
||||
|
||||
<style scoped lang="sass">
|
||||
|
||||
.reiniciar
|
||||
margin-left: 1rem
|
||||
padding: 0.25rem
|
||||
display: inline-block
|
||||
border-radius: 3px
|
||||
background-color: var(--colorTexto)
|
||||
color: var(--colorFondo)
|
||||
cursor: pointer
|
||||
user-select: none
|
||||
opacity: 0.75
|
||||
font:
|
||||
size: 1rem
|
||||
weight: normal
|
||||
|
||||
|
||||
//
|
||||
</style>
|
@ -4,12 +4,12 @@
|
||||
| {{ profesor }}
|
||||
span.ancho.cursor_click(
|
||||
v-for="grupo in grupos"
|
||||
:class="[obtenerClase(grupo), obtenerClaseGeneral()]"
|
||||
:class="obtenerClase(grupo)"
|
||||
@mouseenter="resaltarCeldasGrupo(grupo)"
|
||||
@mouseleave="quitarResaltadoGrupo(grupo)"
|
||||
@click="toggleActivo(grupo)"
|
||||
)
|
||||
| {{ esLab? 'T': 'G' }}{{ grupo }}
|
||||
| {{ esLab? 'L': 'T' }}{{ grupo }}
|
||||
|
||||
//
|
||||
</template>
|
||||
@ -20,6 +20,7 @@
|
||||
resaltarGrupoCurso
|
||||
removerResaltadoGrupo
|
||||
activarGrupoCurso
|
||||
obtenerClaseCursoGeneral
|
||||
} from "../tablaHorarios/funcionesResaltado.coffee"
|
||||
|
||||
export default
|
||||
@ -42,11 +43,10 @@
|
||||
required: true
|
||||
methods:
|
||||
obtenerClase: (grupo) ->
|
||||
obtenerClaseGrupoCurso @nombreAño, @abreviado, grupo, @esLab
|
||||
claseEspecifica = obtenerClaseGrupoCurso @nombreAño, @abreviado, grupo, @esLab
|
||||
claseGeneral = obtenerClaseCursoGeneral claseEspecifica
|
||||
|
||||
obtenerClaseGeneral: () ->
|
||||
nombreAñoF = @nombreAño.substring 0, (@nombreAño.indexOf " ")
|
||||
"_#{ nombreAñoF }_#{ @abreviado }"
|
||||
[claseEspecifica, claseGeneral]
|
||||
|
||||
resaltarCeldasGrupo: (grupo) ->
|
||||
resaltarGrupoCurso @nombreAño, @abreviado, grupo, @esLab
|
||||
|
@ -10,7 +10,12 @@
|
||||
</template>
|
||||
|
||||
<script lang="coffee">
|
||||
import { resaltarGrupoCurso, removerResaltadoGrupo, activarGrupoCurso } from "./funcionesResaltado.coffee"
|
||||
import {
|
||||
resaltarGrupoCurso
|
||||
removerResaltadoGrupo
|
||||
activarGrupoCursoStr
|
||||
obtenerClaseCursoGeneral
|
||||
} from "./funcionesResaltado.coffee"
|
||||
|
||||
export default
|
||||
name: "celda-curso"
|
||||
@ -43,13 +48,15 @@
|
||||
cursoAbreviado: -> @datos.cursoAbreviado
|
||||
nombreGrupo: -> @datos.nombreGrupo
|
||||
esLab: -> @datos.esLab
|
||||
claseCursoGeneral: ->
|
||||
obtenerClaseCursoGeneral @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab
|
||||
methods:
|
||||
resaltarCeldasGrupo: ->
|
||||
resaltarGrupoCurso @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab
|
||||
quitarResaltadoGrupo: ->
|
||||
removerResaltadoGrupo @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab
|
||||
toggleActivo: ->
|
||||
activarGrupoCurso @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab
|
||||
activarGrupoCursoStr @claseCursoGeneral
|
||||
|
||||
|
||||
#
|
||||
|
@ -56,6 +56,16 @@ export obtenerClaseGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) =>
|
||||
|
||||
|
||||
|
||||
export obtenerClaseCursoGeneral = (claseGrupoCurso) =>
|
||||
posPrimerRaya = claseGrupoCurso.indexOf "_"
|
||||
primerRaya = claseGrupoCurso.substr (posPrimerRaya + 1)
|
||||
posSegundaRaya = primerRaya.indexOf "_"
|
||||
segundaRaya = primerRaya.substr (posSegundaRaya + 1)
|
||||
posFinal = (segundaRaya.indexOf "_") + posPrimerRaya + posSegundaRaya + 2
|
||||
claseGrupoCurso.substr 0, posFinal
|
||||
|
||||
|
||||
|
||||
export resaltarGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) =>
|
||||
clase = obtenerClaseGrupoCurso nombreAño, cursoAbreviado, grupo, esLab
|
||||
|
||||
@ -97,11 +107,55 @@ export desregistrarCurso = (nombreAño, cursoAbreviado, grupo, esLab) =>
|
||||
|
||||
|
||||
|
||||
cursosActivos = {}
|
||||
|
||||
|
||||
obtenerNombreAño = (claseObjetivo) =>
|
||||
primerRaya = claseObjetivo.substr 1
|
||||
res = primerRaya.indexOf "_"
|
||||
claseObjetivo.substring 0, (res + 1)
|
||||
|
||||
|
||||
|
||||
registrarCursoActivo = (claseObjetivo) =>
|
||||
nombreAño = obtenerNombreAño claseObjetivo
|
||||
|
||||
unless cursosActivos[nombreAño]?
|
||||
cursosActivos[nombreAño] = new Set()
|
||||
|
||||
cursosActivos[nombreAño].add(claseObjetivo)
|
||||
|
||||
|
||||
|
||||
desregistrarCursoActivo = (claseObjetivo) =>
|
||||
nombreAño = obtenerNombreAño claseObjetivo
|
||||
|
||||
if cursosActivos[nombreAño]?
|
||||
cursosActivos[nombreAño].delete(claseObjetivo)
|
||||
|
||||
|
||||
|
||||
export reiniciarTabla = (nombreAño) =>
|
||||
datos = cursosActivos[nombreAño]
|
||||
if datos?
|
||||
```
|
||||
for (const nombre of datos) {
|
||||
activarGrupoCursoStr(nombre);
|
||||
}
|
||||
```
|
||||
datos.clear()
|
||||
|
||||
|
||||
|
||||
export activarGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) =>
|
||||
claseObjetivo = obtenerClaseGrupoCurso nombreAño, cursoAbreviado, grupo, esLab
|
||||
claseGeneral = do =>
|
||||
nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ")
|
||||
"_#{ nombreAñoF }_#{ cursoAbreviado }"
|
||||
activarGrupoCursoStr claseObjetivo
|
||||
|
||||
|
||||
|
||||
export activarGrupoCursoStr = (claseObjetivo) =>
|
||||
claseGeneral = obtenerClaseCursoGeneral claseObjetivo
|
||||
esLab = (claseObjetivo.substr -2, 1) is "L"
|
||||
|
||||
elementos = document.getElementsByClassName claseGeneral
|
||||
|
||||
@ -122,16 +176,17 @@ export activarGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) =>
|
||||
else
|
||||
if esLab and claseActual is "celda__lab"
|
||||
agregarAOpaco = yes
|
||||
else if esLab and claseActual is "celda__teoria"
|
||||
break
|
||||
else if !esLab and claseActual is "celda__teoria"
|
||||
agregarAOpaco = yes
|
||||
else if !esLab and claseActual is "celda__lab"
|
||||
break
|
||||
|
||||
i++
|
||||
|
||||
if agregarAOpaco then elementosAOpacar.push elemento
|
||||
|
||||
console.log elementosObjetivo
|
||||
console.log elementosAOpacar
|
||||
|
||||
opacarElementos = no
|
||||
|
||||
for elemento in elementosObjetivo
|
||||
@ -145,8 +200,15 @@ export activarGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) =>
|
||||
resaltarElemento elemento, esLab, "activo"
|
||||
elemento.setAttribute "activo", "si"
|
||||
|
||||
for elemento in elementosAOpacar
|
||||
if opacarElementos
|
||||
if opacarElementos
|
||||
registrarCursoActivo claseObjetivo
|
||||
for elemento in elementosAOpacar
|
||||
opacarElemento elemento
|
||||
else
|
||||
|
||||
else
|
||||
desregistrarCursoActivo claseObjetivo
|
||||
for elemento in elementosAOpacar
|
||||
desopacarElemento elemento
|
||||
|
||||
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
horarioUsuario: -> @$store.state.horarioUsuario
|
||||
created: ->
|
||||
vm = this
|
||||
resRaw = await fetch "/horarios/2019_2_fps_epis.yaml"
|
||||
resRaw = await fetch "/horarios/2018_2_fps_epis.yaml"
|
||||
res = YAML.parse await resRaw.text()
|
||||
vm.datos = res
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user