Agregada reactividad al indicador de curso agregado. Arreglado error de persistencia de los cursos eliminados.
This commit is contained in:
parent
fd8500b24b
commit
5f2042932c
@ -1,12 +1,12 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
div.info_curso
|
div.info_curso
|
||||||
h4.titulo_curso(@mouseenter="resaltarTodasCeldas" @mouseleave="quitarResaltadoCeldas"
|
h4.titulo_curso(@mouseenter="resaltarTodasCeldas" @mouseleave="quitarResaltadoCeldas"
|
||||||
title="Agregar curso a mi horario."
|
:title="cursoAgregado? 'Remover de mi horario': 'Agregar curso a mi horario'"
|
||||||
@click.stop="agregarCursoAMiHorario"
|
@click.stop="agregarCursoAMiHorario"
|
||||||
)
|
)
|
||||||
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 }}
|
| {{ curso.nombre }} {{ nombreCurso }}
|
||||||
table.datos
|
table.datos
|
||||||
tr
|
tr
|
||||||
bloque(v-for="(grupos, profesor) in teoria"
|
bloque(v-for="(grupos, profesor) in teoria"
|
||||||
@ -49,8 +49,6 @@
|
|||||||
export default
|
export default
|
||||||
name: "curso"
|
name: "curso"
|
||||||
components: { bloque }
|
components: { bloque }
|
||||||
data: ->
|
|
||||||
cursoAgregado: no
|
|
||||||
props:
|
props:
|
||||||
curso:
|
curso:
|
||||||
type: Object
|
type: Object
|
||||||
@ -62,6 +60,7 @@
|
|||||||
type: String
|
type: String
|
||||||
required: true
|
required: true
|
||||||
computed:
|
computed:
|
||||||
|
esMiHorario: -> @nombreAño is "Mi horario"
|
||||||
teoria: ->
|
teoria: ->
|
||||||
vm = this
|
vm = this
|
||||||
profesores = {}
|
profesores = {}
|
||||||
@ -89,25 +88,38 @@
|
|||||||
break
|
break
|
||||||
|
|
||||||
estaVacio
|
estaVacio
|
||||||
|
nombreAñoMin: ->
|
||||||
|
nombreAño = @nombreAño
|
||||||
|
nombreAño.substring 0, nombreAño.indexOf " "
|
||||||
|
idCurso: ->
|
||||||
|
if @nombreAñoMin is "Mi"
|
||||||
|
@nombreCurso
|
||||||
|
else
|
||||||
|
"_" + @nombreAñoMin + @curso.abreviado
|
||||||
|
cursoAgregado: ->
|
||||||
|
cursosUsuario = @$store.state.horarioUsuario
|
||||||
|
|
||||||
|
for idCurso, _ of cursosUsuario
|
||||||
|
if idCurso is @idCurso then return true
|
||||||
|
|
||||||
|
false
|
||||||
methods:
|
methods:
|
||||||
agregarCursoAMiHorario: ->
|
agregarCursoAMiHorario: ->
|
||||||
if @cursoAgregado
|
if @cursoAgregado
|
||||||
@cursoAgregado = false
|
@$store.commit "removerCursoMiHorario", @idCurso
|
||||||
@$store.commit "removerCursoMiHorario", @nombreCurso
|
|
||||||
else
|
else
|
||||||
@cursoAgregado = true
|
idCurso = @idCurso
|
||||||
nombre = @nombreCurso
|
nombre = @nombreCurso
|
||||||
datos = @curso
|
datos = @curso
|
||||||
@$store.commit "agregarCursoAMiHorario", { nombre, datos }
|
@$store.commit "agregarCursoAMiHorario", { nombre: idCurso, datos: datos }
|
||||||
|
|
||||||
obtenerClase: (grupo, esLab) ->
|
obtenerClase: (grupo, esLab) ->
|
||||||
obtenerClaseGrupoCurso @nombreAño, @curso.abreviado, grupo, esLab
|
obtenerClaseGrupoCurso @nombreAño, @curso.abreviado, grupo, esLab
|
||||||
|
|
||||||
procesarTeoria: () ->
|
procesarTeoria: () ->
|
||||||
nombreAño = @nombreAño
|
|
||||||
cursoAbreviado = @curso.abreviado
|
cursoAbreviado = @curso.abreviado
|
||||||
curso = @curso
|
curso = @curso
|
||||||
nombreStore = "_" + (nombreAño.substring 0, nombreAño.indexOf " ")
|
nombreStore = "_" + @nombreAñoMin
|
||||||
|
|
||||||
for nombreGrupo, { Horas } of curso.Teoria
|
for nombreGrupo, { Horas } of curso.Teoria
|
||||||
for horaId in Horas
|
for horaId in Horas
|
||||||
@ -123,6 +135,25 @@
|
|||||||
|
|
||||||
@$store.commit "agregarACelda", {idCelda, datos}
|
@$store.commit "agregarACelda", {idCelda, datos}
|
||||||
|
|
||||||
|
desprocesarTeoria: () ->
|
||||||
|
cursoAbreviado = @curso.abreviado
|
||||||
|
curso = @curso
|
||||||
|
nombreStore = "_" + @nombreAñoMin
|
||||||
|
|
||||||
|
for nombreGrupo, { Horas } of curso.Teoria
|
||||||
|
for horaId in Horas
|
||||||
|
datos = { cursoAbreviado, nombreGrupo, esLab: no }
|
||||||
|
idCelda = nombreStore + horaId
|
||||||
|
|
||||||
|
@$store.commit "quitarDeCelda", idCelda
|
||||||
|
|
||||||
|
for nombreGrupo, { Horas } of curso.Laboratorio
|
||||||
|
for horaId in Horas
|
||||||
|
datos = { cursoAbreviado, nombreGrupo, esLab: yes }
|
||||||
|
idCelda = nombreStore + horaId
|
||||||
|
|
||||||
|
@$store.commit "quitarDeCelda", idCelda
|
||||||
|
|
||||||
resaltarTodasCeldas: () ->
|
resaltarTodasCeldas: () ->
|
||||||
resaltarCurso @nombreAño, @curso.abreviado
|
resaltarCurso @nombreAño, @curso.abreviado
|
||||||
|
|
||||||
@ -132,6 +163,9 @@
|
|||||||
mounted: ->
|
mounted: ->
|
||||||
@procesarTeoria()
|
@procesarTeoria()
|
||||||
|
|
||||||
|
beforeDestroy: ->
|
||||||
|
@desprocesarTeoria()
|
||||||
|
|
||||||
#
|
#
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
@mouseleave="quitarResaltadoGrupo(grupo)"
|
@mouseleave="quitarResaltadoGrupo(grupo)"
|
||||||
@click="toggleActivo(grupo)"
|
@click="toggleActivo(grupo)"
|
||||||
)
|
)
|
||||||
| L{{ grupo }}
|
| {{ esLab? 'T': 'G' }}{{ grupo }}
|
||||||
|
|
||||||
//
|
//
|
||||||
</template>
|
</template>
|
||||||
|
@ -15,8 +15,9 @@ export default new Vuex.Store({
|
|||||||
agregarACelda(state, {idCelda, datos}) {
|
agregarACelda(state, {idCelda, datos}) {
|
||||||
state.celdas[idCelda].push(datos);
|
state.celdas[idCelda].push(datos);
|
||||||
},
|
},
|
||||||
quitarDeCelda(state) {
|
quitarDeCelda(state, idCelda) {
|
||||||
|
const ref = state.celdas[idCelda];
|
||||||
|
while (ref.length > 0) ref.pop()
|
||||||
},
|
},
|
||||||
agregarCursoAMiHorario(state, {nombre, datos} ) {
|
agregarCursoAMiHorario(state, {nombre, datos} ) {
|
||||||
if (!state.horarioUsuario[nombre]) {
|
if (!state.horarioUsuario[nombre]) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
div.home
|
div.home
|
||||||
h2.titulo {{ datos.titulo }}
|
h2.titulo {{ datos.titulo }}
|
||||||
p Puedes agregar cursos de diferentes años al horario.
|
p Puedes agregar cursos de diferentes años a tu horario.
|
||||||
anio(:año="horarioUsuario" nombreAño="Mi horario")
|
anio(:año="horarioUsuario" nombreAño="Mi horario")
|
||||||
anio(v-for="(año, i) in datos.años" :key="i"
|
anio(v-for="(año, i) in datos.años" :key="i"
|
||||||
:año="año" :nombreAño="i"
|
:año="año" :nombreAño="i"
|
||||||
|
Loading…
Reference in New Issue
Block a user