Actualizados todos los componentes a Vue3
This commit is contained in:
parent
96e99f3292
commit
cfead45f2f
@ -23,7 +23,30 @@ td
|
|||||||
obtenerClaseCursoGeneral
|
obtenerClaseCursoGeneral
|
||||||
} from "../tablaHorarios/funcionesResaltado.coffee"
|
} from "../tablaHorarios/funcionesResaltado.coffee"
|
||||||
|
|
||||||
export default
|
setup = (props) =>
|
||||||
|
|
||||||
|
obtenerClase = (grupo) =>
|
||||||
|
claseEspecifica = obtenerClaseGrupoCurso props.nombreAño, props.abreviado, grupo, props.esLab
|
||||||
|
claseGeneral = obtenerClaseCursoGeneral claseEspecifica
|
||||||
|
|
||||||
|
[claseEspecifica, claseGeneral]
|
||||||
|
|
||||||
|
resaltarCeldasGrupo = (grupo) =>
|
||||||
|
resaltarGrupoCurso props.nombreAño, props.abreviado, grupo, props.esLab
|
||||||
|
|
||||||
|
quitarResaltadoGrupo = (grupo) =>
|
||||||
|
removerResaltadoGrupo props.nombreAño, props.abreviado, grupo, props.esLab
|
||||||
|
toggleActivo = (grupo) =>
|
||||||
|
activarGrupoCurso props.nombreAño, props.abreviado, grupo, props.esLab
|
||||||
|
|
||||||
|
{
|
||||||
|
obtenerClase
|
||||||
|
resaltarCeldasGrupo
|
||||||
|
quitarResaltadoGrupo
|
||||||
|
toggleActivo
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
name: "bloque"
|
name: "bloque"
|
||||||
props:
|
props:
|
||||||
grupos:
|
grupos:
|
||||||
@ -41,20 +64,8 @@ td
|
|||||||
abreviado:
|
abreviado:
|
||||||
type: String
|
type: String
|
||||||
required: true
|
required: true
|
||||||
methods:
|
setup
|
||||||
obtenerClase: (grupo) ->
|
}
|
||||||
claseEspecifica = obtenerClaseGrupoCurso @nombreAño, @abreviado, grupo, @esLab
|
|
||||||
claseGeneral = obtenerClaseCursoGeneral claseEspecifica
|
|
||||||
|
|
||||||
[claseEspecifica, claseGeneral]
|
|
||||||
|
|
||||||
resaltarCeldasGrupo: (grupo) ->
|
|
||||||
resaltarGrupoCurso @nombreAño, @abreviado, grupo, @esLab
|
|
||||||
|
|
||||||
quitarResaltadoGrupo: (grupo) ->
|
|
||||||
removerResaltadoGrupo @nombreAño, @abreviado, grupo, @esLab
|
|
||||||
toggleActivo: (grupo) ->
|
|
||||||
activarGrupoCurso @nombreAño, @abreviado, grupo, @esLab
|
|
||||||
|
|
||||||
#
|
#
|
||||||
</script>
|
</script>
|
||||||
|
@ -20,14 +20,12 @@ table.tabla_horario(border="1")
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="coffee">
|
<script lang="coffee">
|
||||||
|
import {ref, computed} from "vue"
|
||||||
import celda from "./tablaHorarios/celda.vue"
|
import celda from "./tablaHorarios/celda.vue"
|
||||||
|
|
||||||
export default
|
setup = (props) =>
|
||||||
name: "tabla-horarios"
|
dias = ref ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"]
|
||||||
components: { celda }
|
horas = ref [
|
||||||
data: ->
|
|
||||||
dias: ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"]
|
|
||||||
horas: [
|
|
||||||
"07:00 - 07:50"
|
"07:00 - 07:50"
|
||||||
"07:50 - 08:40"
|
"07:50 - 08:40"
|
||||||
"08:40 - 08:50"
|
"08:40 - 08:50"
|
||||||
@ -48,19 +46,31 @@ table.tabla_horario(border="1")
|
|||||||
"18:30 - 19:20"
|
"18:30 - 19:20"
|
||||||
"19:20 - 20:10"
|
"19:20 - 20:10"
|
||||||
]
|
]
|
||||||
horasDescanso: [
|
horasDescanso = ref [
|
||||||
"08:40 - 08:50"
|
"08:40 - 08:50"
|
||||||
"10:30 - 10:40"
|
"10:30 - 10:40"
|
||||||
"15:40 - 15:50"
|
"15:40 - 15:50"
|
||||||
"17:30 - 17:40"
|
"17:30 - 17:40"
|
||||||
]
|
]
|
||||||
|
|
||||||
|
nombreStore = computed (=> "_" + props.nombreAño.substring 0, (props.nombreAño.indexOf " "))
|
||||||
|
|
||||||
|
{
|
||||||
|
dias
|
||||||
|
horas
|
||||||
|
horasDescanso
|
||||||
|
nombreStore
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "tabla-horarios"
|
||||||
|
components: {celda}
|
||||||
props:
|
props:
|
||||||
nombreAño:
|
nombreAño:
|
||||||
type: String
|
type: String
|
||||||
required: true
|
required: true
|
||||||
computed:
|
setup
|
||||||
nombreStore: -> "_" + (@nombreAño.substring 0, @nombreAño.indexOf " ")
|
}
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
span.celda(:class="clases" :eslab="datos.esLab? 'true': 'false'"
|
span.celda(:class="clases" :eslab="esLab? 'true': 'false'"
|
||||||
@mouseenter="resaltarCeldasGrupo"
|
@mouseenter="resaltarCeldasGrupo"
|
||||||
@mouseleave="quitarResaltadoGrupo"
|
@mouseleave="quitarResaltadoGrupo"
|
||||||
@click="toggleActivo")
|
@click="toggleActivo")
|
||||||
| {{ datos.cursoAbreviado }}
|
| {{ cursoAbreviado }}
|
||||||
span {{ (datos.esLab? "L": "") + datos.nombreGrupo }}
|
span {{ (esLab? "L": "") + nombreGrupo }}
|
||||||
|
|
||||||
//
|
//
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="coffee">
|
<script lang="coffee">
|
||||||
|
import {ref, computed} from "vue"
|
||||||
import {
|
import {
|
||||||
resaltarGrupoCurso
|
resaltarGrupoCurso
|
||||||
removerResaltadoGrupo
|
removerResaltadoGrupo
|
||||||
@ -17,24 +18,15 @@ span.celda(:class="clases" :eslab="datos.esLab? 'true': 'false'"
|
|||||||
obtenerClaseGrupoCurso
|
obtenerClaseGrupoCurso
|
||||||
} from "./funcionesResaltado.coffee"
|
} from "./funcionesResaltado.coffee"
|
||||||
|
|
||||||
export default
|
setup = (props) =>
|
||||||
name: "celda-curso"
|
celdaCursoActiva = ref false
|
||||||
props:
|
|
||||||
datos:
|
clases = computed (=>
|
||||||
type: Object
|
|
||||||
required: yes
|
|
||||||
nombreAño:
|
|
||||||
type: String
|
|
||||||
required: yes
|
|
||||||
data: ->
|
|
||||||
celdaCursoActiva: no
|
|
||||||
computed:
|
|
||||||
clases: ->
|
|
||||||
res = []
|
res = []
|
||||||
esLab = @datos.esLab
|
esLab = props.datos.esLab
|
||||||
cursoAbreviado = @datos.cursoAbreviado
|
cursoAbreviado = props.datos.cursoAbreviado
|
||||||
nombreGrupo = @datos.nombreGrupo
|
nombreGrupo = props.datos.nombreGrupo
|
||||||
nombreAño = @nombreAño.substring 0, (@nombreAño.indexOf " ")
|
nombreAño = props.nombreAño.substring 0, (props.nombreAño.indexOf " ")
|
||||||
|
|
||||||
res.push if esLab then "celda__lab" else "celda__teoria"
|
res.push if esLab then "celda__lab" else "celda__teoria"
|
||||||
|
|
||||||
@ -45,19 +37,44 @@ span.celda(:class="clases" :eslab="datos.esLab? 'true': 'false'"
|
|||||||
res.push "_#{ nombreAño }_#{ cursoAbreviado }_#{ if esLab then 'L' else '' }#{ nombreGrupo }"
|
res.push "_#{ nombreAño }_#{ cursoAbreviado }_#{ if esLab then 'L' else '' }#{ nombreGrupo }"
|
||||||
|
|
||||||
res
|
res
|
||||||
cursoAbreviado: -> @datos.cursoAbreviado
|
)
|
||||||
nombreGrupo: -> @datos.nombreGrupo
|
cursoAbreviado = computed (=> props.datos.cursoAbreviado)
|
||||||
esLab: -> @datos.esLab
|
nombreGrupo = computed (=> props.datos.nombreGrupo)
|
||||||
claseCursoGeneral: ->
|
esLab = computed (=> props.datos.esLab)
|
||||||
obtenerClaseGrupoCurso @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab
|
claseCursoGeneral = computed (=>
|
||||||
methods:
|
obtenerClaseGrupoCurso props.nombreAño, cursoAbreviado.value, nombreGrupo.value, esLab.value
|
||||||
resaltarCeldasGrupo: ->
|
)
|
||||||
resaltarGrupoCurso @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab
|
|
||||||
quitarResaltadoGrupo: ->
|
|
||||||
removerResaltadoGrupo @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab
|
|
||||||
toggleActivo: ->
|
|
||||||
activarGrupoCursoStr @claseCursoGeneral
|
|
||||||
|
|
||||||
|
resaltarCeldasGrupo = =>
|
||||||
|
resaltarGrupoCurso props.nombreAño, cursoAbreviado.value, nombreGrupo.value, esLab.value
|
||||||
|
quitarResaltadoGrupo = =>
|
||||||
|
removerResaltadoGrupo props.nombreAño, cursoAbreviado.value, nombreGrupo.value, esLab.value
|
||||||
|
toggleActivo = =>
|
||||||
|
activarGrupoCursoStr claseCursoGeneral.value
|
||||||
|
|
||||||
|
{
|
||||||
|
celdaCursoActiva
|
||||||
|
clases
|
||||||
|
cursoAbreviado
|
||||||
|
nombreGrupo
|
||||||
|
esLab
|
||||||
|
claseCursoGeneral
|
||||||
|
resaltarCeldasGrupo
|
||||||
|
quitarResaltadoGrupo
|
||||||
|
toggleActivo
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "celda-curso"
|
||||||
|
props:
|
||||||
|
datos:
|
||||||
|
type: Object
|
||||||
|
required: true
|
||||||
|
nombreAño:
|
||||||
|
type: String
|
||||||
|
required: true
|
||||||
|
setup
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
</script>
|
</script>
|
||||||
|
@ -6,38 +6,26 @@ td(:class="clases")
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="coffee">
|
<script lang="coffee">
|
||||||
|
import {ref, computed, onMounted} from "vue"
|
||||||
|
import {useStore} from "vuex"
|
||||||
import celdaCurso from "./celda-curso.vue"
|
import celdaCurso from "./celda-curso.vue"
|
||||||
|
|
||||||
export default
|
setup = (props) =>
|
||||||
name: "celda",
|
store = useStore()
|
||||||
components: { celdaCurso }
|
|
||||||
props:
|
datosCeldas = ref []
|
||||||
dia:
|
|
||||||
type: String
|
identificadoresCelda = computed (=>
|
||||||
required: yes
|
|
||||||
hora:
|
|
||||||
type: String
|
|
||||||
required: yes
|
|
||||||
nombreAño:
|
|
||||||
type: String
|
|
||||||
required: yes
|
|
||||||
nombreStore:
|
|
||||||
type: String
|
|
||||||
required: yes
|
|
||||||
data: ->
|
|
||||||
datosCeldas: []
|
|
||||||
computed:
|
|
||||||
identificadoresCelda: ->
|
|
||||||
clases = []
|
clases = []
|
||||||
parteDia = @dia.substring 0, 2
|
parteDia = props.dia.substring 0, 2
|
||||||
clases.push ("_" + parteDia)
|
clases.push ("_" + parteDia)
|
||||||
|
|
||||||
parteHora = (@hora.substring 0, 2) + (@hora.substring 3, 5)
|
parteHora = (props.hora.substring 0, 2) + (props.hora.substring 3, 5)
|
||||||
clases.push ("_" + parteHora)
|
clases.push ("_" + parteHora)
|
||||||
|
|
||||||
clases.push ("_" + parteDia + parteHora)
|
clases.push ("_" + parteDia + parteHora)
|
||||||
|
|
||||||
nombreAño = @nombreAño
|
nombreAño = props.nombreAño
|
||||||
claseAño = nombreAño.substring 0, (nombreAño.indexOf " ")
|
claseAño = nombreAño.substring 0, (nombreAño.indexOf " ")
|
||||||
clases.push ("_" + claseAño)
|
clases.push ("_" + claseAño)
|
||||||
|
|
||||||
@ -45,25 +33,51 @@ td(:class="clases")
|
|||||||
clases.push id
|
clases.push id
|
||||||
|
|
||||||
[id, clases]
|
[id, clases]
|
||||||
idCelda: -> @identificadoresCelda[0]
|
)
|
||||||
clases: -> @identificadoresCelda[1]
|
idCelda = computed (=> identificadoresCelda.value[0])
|
||||||
methods:
|
clases = computed (=> identificadoresCelda.value[1])
|
||||||
registrarCelda: -> @$store.commit "registrarCelda", @idCelda
|
|
||||||
recuperarDatosCeldas: -> @datosCeldas = @$store.state.celdas[@idCelda]
|
|
||||||
|
|
||||||
mounted: ->
|
registrarCelda = => store.commit "registrarCelda", idCelda.value
|
||||||
vm = this
|
recuperarDatosCeldas = => datosCeldas.value = store.state.celdas[idCelda.value]
|
||||||
idCelda = @identificadoresCelda[0]
|
|
||||||
|
onMounted (=>
|
||||||
promesa = new Promise (resolve) =>
|
promesa = new Promise (resolve) =>
|
||||||
intervalo = setInterval (=>
|
intervalo = setInterval (=>
|
||||||
unless vm.$store.state.celdas[idCelda] is undefined
|
unless store.state.celdas[idCelda.value] is undefined
|
||||||
clearInterval intervalo
|
clearInterval intervalo
|
||||||
resolve()
|
resolve()
|
||||||
), 250
|
), 250
|
||||||
|
|
||||||
@registrarCelda()
|
registrarCelda()
|
||||||
await promesa
|
await promesa
|
||||||
@recuperarDatosCeldas()
|
recuperarDatosCeldas()
|
||||||
|
)
|
||||||
|
|
||||||
|
{
|
||||||
|
datosCeldas
|
||||||
|
identificadoresCelda
|
||||||
|
idCelda
|
||||||
|
clases
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "celda",
|
||||||
|
components: {celdaCurso}
|
||||||
|
props:
|
||||||
|
dia:
|
||||||
|
type: String
|
||||||
|
required: true
|
||||||
|
hora:
|
||||||
|
type: String
|
||||||
|
required: true
|
||||||
|
nombreAño:
|
||||||
|
type: String
|
||||||
|
required: true
|
||||||
|
nombreStore:
|
||||||
|
type: String
|
||||||
|
required: true
|
||||||
|
setup
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
</script>
|
</script>
|
||||||
|
Loading…
Reference in New Issue
Block a user