Agregada opacidad a grupos secundarios cuando se selecciona un grupo.

add-license-1
Araozu 2020-02-07 19:54:30 -05:00
parent 5f2042932c
commit 472068a69b
5 changed files with 64 additions and 7 deletions

View File

@ -6,7 +6,7 @@
) )
input.marcador_curso(type="checkbox" v-model="cursoAgregado") input.marcador_curso(type="checkbox" v-model="cursoAgregado")
span.ancho {{ curso.abreviado }} >  span.ancho {{ curso.abreviado }} > 
| {{ curso.nombre }} {{ nombreCurso }} | {{ curso.nombre }}
table.datos table.datos
tr tr
bloque(v-for="(grupos, profesor) in teoria" bloque(v-for="(grupos, profesor) in teoria"

View File

@ -4,7 +4,7 @@
| {{ profesor }} | {{ profesor }}
span.ancho.cursor_click( span.ancho.cursor_click(
v-for="grupo in grupos" v-for="grupo in grupos"
:class="obtenerClase(grupo)" :class="[obtenerClase(grupo), obtenerClaseGeneral()]"
@mouseenter="resaltarCeldasGrupo(grupo)" @mouseenter="resaltarCeldasGrupo(grupo)"
@mouseleave="quitarResaltadoGrupo(grupo)" @mouseleave="quitarResaltadoGrupo(grupo)"
@click="toggleActivo(grupo)" @click="toggleActivo(grupo)"
@ -44,6 +44,10 @@
obtenerClase: (grupo) -> obtenerClase: (grupo) ->
obtenerClaseGrupoCurso @nombreAño, @abreviado, grupo, @esLab obtenerClaseGrupoCurso @nombreAño, @abreviado, grupo, @esLab
obtenerClaseGeneral: () ->
nombreAñoF = @nombreAño.substring 0, (@nombreAño.indexOf " ")
"_#{ nombreAñoF }_#{ @abreviado }"
resaltarCeldasGrupo: (grupo) -> resaltarCeldasGrupo: (grupo) ->
resaltarGrupoCurso @nombreAño, @abreviado, grupo, @esLab resaltarGrupoCurso @nombreAño, @abreviado, grupo, @esLab

View File

@ -55,7 +55,10 @@
# #
</script> </script>
<style scoped lang="sass"> <style lang="sass">
.elementoOpaco
opacity: 0.3
// //
</style> </style>

View File

@ -38,6 +38,18 @@ resaltarElemento = (elemento, esLab, etiqueta = "resaltado") =>
opacarElemento = (elemento) =>
elemento.className += " elementoOpaco"
desopacarElemento = (elemento) =>
clases = elemento.className
clasesNueva = clases.replace "elementoOpaco", ""
elemento.className = clasesNueva
export obtenerClaseGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) => export obtenerClaseGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) =>
nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ") nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ")
"_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }" "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }"
@ -86,17 +98,55 @@ export desregistrarCurso = (nombreAño, cursoAbreviado, grupo, esLab) =>
export activarGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) => export activarGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) =>
clase = obtenerClaseGrupoCurso 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 }"
elementos = document.getElementsByClassName clase elementos = document.getElementsByClassName claseGeneral
elementosObjetivo = []
elementosAOpacar = []
for elemento in elementos for elemento in elementos
clases = elemento.classList
i = 0
agregarAOpaco = no
while i < clases.length
claseActual = clases[i]
if claseActual is claseObjetivo
elementosObjetivo.push elemento
agregarAOpaco = no
break
else
if esLab and claseActual is "celda__lab"
agregarAOpaco = yes
else if !esLab and claseActual is "celda__teoria"
agregarAOpaco = yes
i++
if agregarAOpaco then elementosAOpacar.push elemento
console.log elementosObjetivo
console.log elementosAOpacar
opacarElementos = no
for elemento in elementosObjetivo
estaActivo = ((elemento.getAttribute "activo") ? "no") is "si" estaActivo = ((elemento.getAttribute "activo") ? "no") is "si"
if estaActivo if estaActivo
removerResaltadoElemento elemento, "activo" removerResaltadoElemento elemento, "activo"
elemento.setAttribute "activo", "no" elemento.setAttribute "activo", "no"
else else
opacarElementos = yes
resaltarElemento elemento, esLab, "activo" resaltarElemento elemento, esLab, "activo"
elemento.setAttribute "activo", "si" elemento.setAttribute "activo", "si"
for elemento in elementosAOpacar
if opacarElementos
opacarElemento elemento
else
desopacarElemento elemento

View File

@ -25,7 +25,7 @@
horarioUsuario: -> @$store.state.horarioUsuario horarioUsuario: -> @$store.state.horarioUsuario
created: -> created: ->
vm = this vm = this
resRaw = await fetch "/horarios/2018_2_fps_epis.yaml" resRaw = await fetch "/horarios/2019_2_fps_epis.yaml"
res = YAML.parse await resRaw.text() res = YAML.parse await resRaw.text()
vm.datos = res vm.datos = res