Agregada funcionalidad para seleccionar un curso.

add-license-1
Araozu 2020-01-22 20:12:08 -05:00
parent a389cfb28a
commit d5043c9b2e
3 changed files with 8771 additions and 50 deletions

8713
pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,7 @@
</template> </template>
<script lang="coffee"> <script lang="coffee">
import { resaltarGrupoCurso, removerResaltadoGrupo } from "./funcionesResaltado.coffee" import { resaltarGrupoCurso, removerResaltadoGrupo, activarGrupoCurso } from "./funcionesResaltado.coffee"
export default export default
name: "celda-curso" name: "celda-curso"
@ -44,21 +44,12 @@
nombreGrupo: -> @datos.nombreGrupo nombreGrupo: -> @datos.nombreGrupo
esLab: -> @datos.esLab esLab: -> @datos.esLab
methods: methods:
resaltarCeldasGrupo: () -> resaltarCeldasGrupo: ->
resaltarGrupoCurso @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab resaltarGrupoCurso @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab
quitarResaltadoGrupo: () -> quitarResaltadoGrupo: ->
removerResaltadoGrupo @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab removerResaltadoGrupo @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab
activarGrupo: () -> toggleActivo: ->
resaltarGrupoCurso @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab activarGrupoCurso @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab
desactivarGrupo: () ->
removerResaltadoGrupo @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab
# TODO: Hacer que el state se almacene en los elementos HTML en si
toggleActivo: () ->
@celdaCursoActiva = !@celdaCursoActiva
if @celdaCursoActiva
@activarGrupo()
else
@desactivarGrupo()
# #

View File

@ -1,26 +1,31 @@
ejecutarEnElementos = (clase, funcion) =>
elementos = document.getElementsByClassName clase
for elemento in elementos
funcion elemento
#: Txt -> Txt -> () #: Txt -> Txt -> ()
export resaltarCurso = (nombreAño, cursoAbreviado) => export resaltarCurso = (nombreAño, cursoAbreviado) =>
nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ") nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ")
clase = "_#{ nombreAñoF }_#{ cursoAbreviado }" clase = "_#{ nombreAñoF }_#{ cursoAbreviado }"
elementos = document.getElementsByClassName clase ejecutarEnElementos clase, (elementos) =>
for elemento in elementos
nuevaClase =
if (elemento.getAttribute "eslab") is "true"
"celda__lab--resaltado"
else
"celda__teoria--resaltado"
elemento.className += " #{nuevaClase}"
for elemento in elementos
nuevaClase =
if (elemento.getAttribute "eslab") is "true"
"celda__lab--resaltado"
else
"celda__teoria--resaltado"
elemento.className += " #{nuevaClase}"
export removerResaltadoCurso = (nombreAño, cursoAbreviado) => export removerResaltadoCurso = (nombreAño, cursoAbreviado) =>
nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ") nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ")
clase = "_#{ nombreAñoF }_#{ cursoAbreviado }" clase = "_#{ nombreAñoF }_#{ cursoAbreviado }"
elementos = document.getElementsByClassName clase ejecutarEnElementos clase, (elemento) =>
for elemento in elementos
clases = elemento.className clases = elemento.className
clasesNueva = clases.replace "celda__lab--resaltado", "" clasesNueva = clases.replace "celda__lab--resaltado", ""
clasesNueva = clasesNueva.replace "celda__teoria--resaltado", "" clasesNueva = clasesNueva.replace "celda__teoria--resaltado", ""
@ -28,57 +33,69 @@ export removerResaltadoCurso = (nombreAño, cursoAbreviado) =>
elemento.className = clasesNueva elemento.className = clasesNueva
resaltarElemento = (elemento, esLab) =>
nuevaClase = "celda__#{ if esLab then 'lab' else 'teoria' }--resaltado"
elemento.className += " #{nuevaClase}"
export resaltarGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) => export resaltarGrupoCurso = (nombreAño, cursoAbreviado, grupo, esLab) =>
nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ") nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ")
clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }" clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }"
elementos = document.getElementsByClassName clase ejecutarEnElementos clase, (elemento) => resaltarElemento elemento, esLab
for elemento in elementos
if (elemento.getAttribute "eslab") is esLab.toString() removerResaltadoElemento = (elemento) =>
nuevaClase = "celda__#{ if esLab then 'lab' else 'teoria' }--resaltado" clases = elemento.className
elemento.className += " #{nuevaClase}" clasesNueva = clases.replace "celda__lab--resaltado", ""
clasesNueva = clasesNueva.replace "celda__teoria--resaltado", ""
elemento.className = clasesNueva
export removerResaltadoGrupo = (nombreAño, cursoAbreviado, grupo, esLab) => export removerResaltadoGrupo = (nombreAño, cursoAbreviado, grupo, esLab) =>
nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ") nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ")
clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }" clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }"
elementos = document.getElementsByClassName clase ejecutarEnElementos clase, (elemento) => removerResaltadoElemento elemento, esLab
for elemento in elementos
if (elemento.getAttribute "eslab") is esLab.toString()
clases = elemento.className
clasesNueva = clases.replace "celda__lab--resaltado", ""
clasesNueva = clasesNueva.replace "celda__teoria--resaltado", ""
elemento.className = clasesNueva
export registrarCurso = (nombreAño, cursoAbreviado, grupo, esLab) => export registrarCurso = (nombreAño, cursoAbreviado, grupo, esLab) =>
nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ") nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ")
clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }" clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }"
elementos = document.getElementsByClassName clase ejecutarEnElementos clase, (elemento) =>
nuevaClase = "celda__#{ if esLab then 'lab' else 'teoria' }--activo"
for elemento in elementos elemento.className += " #{nuevaClase}"
if (elemento.getAttribute "eslab") is esLab.toString()
nuevaClase = "celda__#{ if esLab then 'lab' else 'teoria' }--activo"
elemento.className += " #{nuevaClase}"
export desregistrarCurso = (nombreAño, cursoAbreviado, grupo, esLab) => export desregistrarCurso = (nombreAño, cursoAbreviado, grupo, esLab) =>
nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ") nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ")
clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }" clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }"
ejecutarEnElementos clase, (elemento) =>
clases = elemento.className
clasesNueva = clases.replace "celda__lab--activo", ""
clasesNueva = clasesNueva.replace "celda__teoria--activo", ""
elemento.className = clasesNueva
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 }"
elementos = document.getElementsByClassName clase elementos = document.getElementsByClassName clase
for elemento in elementos for elemento in elementos
if (elemento.getAttribute "eslab") is esLab.toString() estaActivo = ((elemento.getAttribute "activo") ? "no") is "si"
clases = elemento.className if estaActivo
clasesNueva = clases.replace "celda__lab--activo", "" removerResaltadoElemento elemento, esLab
clasesNueva = clasesNueva.replace "celda__teoria--activo", "" elemento.setAttribute "activo", "no"
else
resaltarElemento elemento, esLab
elemento.setAttribute "activo", "si"
elemento.className = clasesNueva