Agregada funcionalidad minima.
This commit is contained in:
parent
15ec2e23bf
commit
a389cfb28a
11
package.json
11
package.json
@ -4,19 +4,26 @@
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
"build": "vue-cli-service build"
|
||||
"build": "vue-cli-service build --modern",
|
||||
"deploy": "vue-cli-service build --modern & cd dist & surge"
|
||||
},
|
||||
"dependencies": {
|
||||
"core-js": "^3.3.2",
|
||||
"register-service-worker": "^1.6.2",
|
||||
"vue": "^2.6.10",
|
||||
"vue-router": "^3.1.3",
|
||||
"vuex": "^3.0.1"
|
||||
"vuex": "^3.0.1",
|
||||
"yaml": "^1.7.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vue/cli-plugin-babel": "^4.0.0",
|
||||
"@vue/cli-plugin-pwa": "^4.0.0",
|
||||
"@vue/cli-service": "^4.0.0",
|
||||
"coffee-loader": "^0.9.0",
|
||||
"coffeescript": "^2.4.1",
|
||||
"normalize-css": "^2.3.1",
|
||||
"pug": "^2.0.4",
|
||||
"pug-plain-loader": "^1.0.0",
|
||||
"sass": "^1.19.0",
|
||||
"sass-loader": "^8.0.0",
|
||||
"vue-template-compiler": "^2.6.10"
|
||||
|
1
public/CNAME
Normal file
1
public/CNAME
Normal file
@ -0,0 +1 @@
|
||||
https://araozu.pro
|
413
public/horarios/2018_2_fps_epis.yaml
Normal file
413
public/horarios/2018_2_fps_epis.yaml
Normal file
@ -0,0 +1,413 @@
|
||||
titulo: Horarios 2018-2, Ingeniería de Sistemas.
|
||||
años:
|
||||
1er año:
|
||||
Calculo 1:
|
||||
nombre: Cálculo en 1 variable
|
||||
abreviado: C1V
|
||||
Teoria:
|
||||
A:
|
||||
Docente: Doris Tupacyupanqui
|
||||
Horas:
|
||||
- Ma1130
|
||||
- Ma1220
|
||||
- Ma1310
|
||||
- Mi0850
|
||||
- Mi0940
|
||||
- Vi0700
|
||||
- Vi0750
|
||||
B:
|
||||
Docente: Pablo Quicaño
|
||||
Horas:
|
||||
- Lu1640
|
||||
- Ma1740
|
||||
- Ma1830
|
||||
- Ma1920
|
||||
- Ju1740
|
||||
- Ju1920
|
||||
- Ju1830
|
||||
Discretas 2:
|
||||
nombre: Estructuras Discretas 2
|
||||
abreviado: ED2
|
||||
Teoria:
|
||||
A:
|
||||
Docente: Olha Sharhorodska
|
||||
Horas:
|
||||
- Mi1220
|
||||
- Mi1310
|
||||
- Ju1220
|
||||
- Ju1310
|
||||
B:
|
||||
Docente: Olha Sharhorodska
|
||||
Horas:
|
||||
- Mi1400
|
||||
- Mi1450
|
||||
- Vi1550
|
||||
- Vi1640
|
||||
Web 1:
|
||||
nombre: Programacion Web 1
|
||||
abreviado: PW1
|
||||
Teoria:
|
||||
A:
|
||||
Docente: Richart Escobedo
|
||||
Horas:
|
||||
- Ma0940
|
||||
- Ma1040
|
||||
B:
|
||||
Docente: Carlo Corrales
|
||||
Horas:
|
||||
- Lu1220
|
||||
- Lu1310
|
||||
Laboratorio:
|
||||
A:
|
||||
Docente: Richart Escobedo
|
||||
Horas:
|
||||
- Ma1130
|
||||
- Ma1220
|
||||
- Mi0850
|
||||
- Mi0940
|
||||
B:
|
||||
Docente: Carlo Corrales
|
||||
Horas:
|
||||
- Lu1400
|
||||
- Lu1450
|
||||
- Mi1550
|
||||
- Mi1640
|
||||
C:
|
||||
Docente: Richart Escobedo
|
||||
Horas:
|
||||
- Ma1550
|
||||
- Ma1640
|
||||
- Lu1740
|
||||
- Lu1830
|
||||
D:
|
||||
Docente: Carlo Corrales
|
||||
Horas:
|
||||
- Lu1740
|
||||
- Lu1830
|
||||
- Mi1740
|
||||
- Mi1830
|
||||
E:
|
||||
Docente: Carlo Corrales
|
||||
Horas:
|
||||
- Lu1550
|
||||
- Lu1640
|
||||
- Ma1740
|
||||
- Ma1830
|
||||
FP2:
|
||||
nombre: Fundamentos de Programacion 2
|
||||
abreviado: FP2
|
||||
Teoria:
|
||||
A:
|
||||
Docente: Marco Aedo
|
||||
Horas:
|
||||
- Lu0850
|
||||
- Lu0940
|
||||
- Vi1220
|
||||
- Vi1310
|
||||
B:
|
||||
Docente: Marco Aedo
|
||||
Horas:
|
||||
- Ju1550
|
||||
- Ju1640
|
||||
- Vi1400
|
||||
- Vi1450
|
||||
Laboratorio:
|
||||
A:
|
||||
Docente: Marco Aedo
|
||||
Horas:
|
||||
- Lu1040
|
||||
- Lu1130
|
||||
- Ju1040
|
||||
- Ju1130
|
||||
B:
|
||||
Docente: Marco Aedo
|
||||
Horas:
|
||||
- Ju1400
|
||||
- Ju1450
|
||||
- Vi1550
|
||||
- Vi1640
|
||||
C:
|
||||
Docente: Marco Aedo
|
||||
Horas:
|
||||
- Ju0850
|
||||
- Ju0940
|
||||
- Vi1040
|
||||
- Vi1130
|
||||
D:
|
||||
Docente: Karim Guevara
|
||||
Horas:
|
||||
- Vi0850
|
||||
- Vi0940
|
||||
- Ju0850
|
||||
- Ju0940
|
||||
E:
|
||||
Docente: Ernesto Suarez
|
||||
Horas:
|
||||
- Mi1040
|
||||
- Mi1130
|
||||
- Ju0700
|
||||
- Ju0750
|
||||
Comunicacion Integral:
|
||||
nombre: Comunicacion Integral
|
||||
abreviado: CI
|
||||
Teoria:
|
||||
A:
|
||||
Docente: "?"
|
||||
Horas:
|
||||
- Lu0700
|
||||
- Lu0750
|
||||
- Mi0700
|
||||
- Mi0750
|
||||
B:
|
||||
Docente: "?"
|
||||
Horas:
|
||||
- Ma1400
|
||||
- Ma1450
|
||||
- Ju1400
|
||||
- Ju1450
|
||||
Realidad Nacional:
|
||||
nombre: Realidad Nacional
|
||||
abreviado: RN
|
||||
Teoria:
|
||||
A:
|
||||
Docente: "?"
|
||||
Horas:
|
||||
- Ma0700
|
||||
- Ma0750
|
||||
- Ma0850
|
||||
B:
|
||||
Docente: "?"
|
||||
Horas:
|
||||
- Lu1400
|
||||
- Lu1450
|
||||
- Lu1550
|
||||
2do año:
|
||||
Ecologia:
|
||||
nombre: Ecologia y Medio Ambiente
|
||||
abreviado: ECA
|
||||
Teoria:
|
||||
A:
|
||||
Docente: "?"
|
||||
Horas:
|
||||
- Lu0700
|
||||
- Lu0750
|
||||
- Lu0850
|
||||
B:
|
||||
Docente: "?"
|
||||
Horas:
|
||||
- Mi1400
|
||||
- Mi1450
|
||||
- Mi1550
|
||||
Estadistica:
|
||||
nombre: Estadistica y Matematica
|
||||
abreviado: EMAT
|
||||
Teoria:
|
||||
A:
|
||||
Docente: Antonia Quispe
|
||||
Horas:
|
||||
- Mi0700
|
||||
- Mi0750
|
||||
- Vi0850
|
||||
- Vi0940
|
||||
B:
|
||||
Docente: Esther Yanapa
|
||||
Horas:
|
||||
- Ma1550
|
||||
- Ma1640
|
||||
- Ju1830
|
||||
- Ju1920
|
||||
Laboratorio:
|
||||
A:
|
||||
Docente: Antonia Quispe
|
||||
Horas:
|
||||
- Mi0850
|
||||
- Mi0940
|
||||
B:
|
||||
Docente: Esther Yanapa
|
||||
Horas:
|
||||
- Ma1740
|
||||
- Ma1830
|
||||
C:
|
||||
Docente: Esther Yanapa
|
||||
Horas:
|
||||
- Ma0700
|
||||
- Ma0750
|
||||
D:
|
||||
Docente: Esther Yanapa
|
||||
Horas:
|
||||
- Ma0850
|
||||
- Ma0940
|
||||
Arquitectura de Computadoras:
|
||||
nombre: Arquitectura de Computadoras
|
||||
abreviado: AC
|
||||
Teoria:
|
||||
A:
|
||||
Docente: Pedro Rodriguez Gonzales
|
||||
Horas:
|
||||
- Ju0850
|
||||
- Ju0940
|
||||
- Vi1040
|
||||
B:
|
||||
Docente: Pedro Rodriguez Gonzales
|
||||
Horas:
|
||||
- Ju1550
|
||||
- Ju1640
|
||||
- Ju1740
|
||||
Laboratorio:
|
||||
A:
|
||||
Docente: Pedro Rodriguez Gonzales
|
||||
Horas:
|
||||
- Ju0700
|
||||
- Ju0750
|
||||
B:
|
||||
Docente: Pedro Rodriguez Gonzales
|
||||
Horas:
|
||||
- Vi1220
|
||||
- Vi1310
|
||||
C:
|
||||
Docente: Pedro Rodriguez Gonzales
|
||||
Horas:
|
||||
- Vi0700
|
||||
- Vi0750
|
||||
D:
|
||||
Docente: Pedro Rodriguez Gonzales
|
||||
Horas:
|
||||
- Vi0850
|
||||
- Vi0940
|
||||
Metodos de Investigacion y Redaccion:
|
||||
nombre: Metodos de Investigacion y Redaccion
|
||||
abreviado: MIR
|
||||
Teoria:
|
||||
A:
|
||||
Docente: Jesus Zuniga Cueva
|
||||
Horas:
|
||||
- Mi1040
|
||||
- Mi1130
|
||||
- Mi1220
|
||||
B:
|
||||
Docente: Jesus Zuniga Cueva
|
||||
Horas:
|
||||
- Lu1220
|
||||
- Lu1310
|
||||
- Mi1310
|
||||
C:
|
||||
Docente: Jesus Zuniga Cueva
|
||||
Horas:
|
||||
- Ma1040
|
||||
- Ma1130
|
||||
- Ma1220
|
||||
Interaccion Humano Computador->IHC:
|
||||
nombre: Interaccion Humano Computador
|
||||
abreviado: IHC
|
||||
Teoria:
|
||||
A:
|
||||
Docente: Olha Sharhorodska
|
||||
Horas:
|
||||
- Ju1040
|
||||
- Ju1130
|
||||
- Vi1220
|
||||
- Vi1310
|
||||
B:
|
||||
Docente: Olha Sharhorodska
|
||||
Horas:
|
||||
- Ju1400
|
||||
- Ju1450
|
||||
- Vi1400
|
||||
- Vi1450
|
||||
Laboratorio:
|
||||
A:
|
||||
Docente: Richart Escobedo
|
||||
Horas:
|
||||
- Lu1040
|
||||
- Lu1130
|
||||
B:
|
||||
Docente: Richart Escobedo
|
||||
Horas:
|
||||
- Lu1550
|
||||
- Lu1640
|
||||
C:
|
||||
Docente: Richart Escobedo
|
||||
Horas:
|
||||
- Ma1740
|
||||
- Ma1830
|
||||
D:
|
||||
Docente: Juan Ramirez Ticona
|
||||
Horas:
|
||||
- Lu1550
|
||||
- Lu1640
|
||||
Enfoque Empresarial->EE:
|
||||
nombre: Enfoque Empresarial
|
||||
abreviado: EE
|
||||
Teoria:
|
||||
A:
|
||||
Docente: Juan C. Juarez Bueno
|
||||
Horas:
|
||||
- Lu0940
|
||||
- Ma0850
|
||||
- Ma0940
|
||||
- Ju1220
|
||||
- Ju1310
|
||||
B:
|
||||
Docente: Juan C. Juarez Bueno
|
||||
Horas:
|
||||
- Ma1310
|
||||
- Ma1400
|
||||
- Ma1450
|
||||
- Vi1550
|
||||
- Vi1640
|
||||
Analisis y Disenio de Algoritmos->ADA:
|
||||
nombre: Analisis y Diseño de Algoritmos
|
||||
abreviado: ADA
|
||||
Teoria:
|
||||
A:
|
||||
Docente: Atencio Torres Carlos
|
||||
Horas:
|
||||
- Lu1400
|
||||
- Lu1450
|
||||
- Vi0700
|
||||
- Vi0750
|
||||
B:
|
||||
Docente: Atencio Torres Carlos
|
||||
Horas:
|
||||
- Lu1740
|
||||
- Lu1830
|
||||
- Vi1740
|
||||
- Vi1830
|
||||
Laboratorio:
|
||||
A:
|
||||
Docente: Christian Portugal
|
||||
Horas:
|
||||
- Lu1400
|
||||
- Lu1450
|
||||
B:
|
||||
Docente: Christian Portugal
|
||||
Horas:
|
||||
- Mi1550
|
||||
- Mi1640
|
||||
C:
|
||||
Docente: Christian Portugal
|
||||
Horas:
|
||||
- Mi1740
|
||||
- Mi1830
|
||||
3er año:
|
||||
Construccion de Software->CS: {}
|
||||
Redes y Comunicacion de Datos-> RCD: {}
|
||||
Tecnologia de Objetos->TO: {}
|
||||
4to año:
|
||||
Aspectos Formales de Verif. y Esp.->AFVE: {}
|
||||
Gestion de Proyectos de Software->GPS: {}
|
||||
5to año:
|
||||
Topicos Avanzados en Ing. de Software->TAIS: {}
|
||||
Practicas Pre-Profesionales:
|
||||
nombre: Practicas Pre-Profesionales
|
||||
abreviado: PPP
|
||||
Teoria:
|
||||
A:
|
||||
Docente: Ernesto Suarez
|
||||
Horas:
|
||||
- Ma1550
|
||||
- Ma1640
|
||||
- Mi0700
|
||||
- Mi0750
|
||||
- Ju0850
|
||||
- Ju0940
|
125
public/horarios/2019_2_fps_epis.yaml
Normal file
125
public/horarios/2019_2_fps_epis.yaml
Normal file
@ -0,0 +1,125 @@
|
||||
titulo: Horarios 2019-2, Ingeniería de Sistemas.
|
||||
años:
|
||||
2do año:
|
||||
Estadistica:
|
||||
nombre: Estadistica Matemática, Probabilidades y Métodos Empíricos
|
||||
abreviado: EMAT
|
||||
Teoria:
|
||||
A:
|
||||
Docente: Antonia Quispe
|
||||
Horas:
|
||||
- Lu0850
|
||||
- Lu0940
|
||||
- Ju0700
|
||||
- Ju0750
|
||||
B:
|
||||
Docente: Antonia Quispe
|
||||
Horas:
|
||||
- Ma1040
|
||||
- Ma1130
|
||||
- Ju1640
|
||||
- Ju1740
|
||||
Laboratorio:
|
||||
A:
|
||||
Docente: Antonia Quispe
|
||||
Horas:
|
||||
- Ma0850
|
||||
- Ma0940
|
||||
B:
|
||||
Docente: Antonia Quispe
|
||||
Horas:
|
||||
- Lu1040
|
||||
- Lu1130
|
||||
C:
|
||||
Docente: Antonia Quispe
|
||||
Horas:
|
||||
- Ju0850
|
||||
- Ju0940
|
||||
D:
|
||||
Docente: Antonia Quispe
|
||||
Horas:
|
||||
- Vi1040
|
||||
- Vi1130
|
||||
Analisis y Diseño de Algoritmos:
|
||||
nombre: Analisis y Diseño de Algoritmos
|
||||
abreviado: ADA
|
||||
Teoria:
|
||||
A:
|
||||
Docente: O. Ramirez
|
||||
Horas:
|
||||
- Lu1400
|
||||
- Lu1450
|
||||
- Mi1550
|
||||
- Mi1640
|
||||
B:
|
||||
Docente: O. Ramirez
|
||||
Horas:
|
||||
- Lu1550
|
||||
- Lu1640
|
||||
- Mi1740
|
||||
- Mi1830
|
||||
Laboratorio:
|
||||
A:
|
||||
Docente: Cristian Portugal
|
||||
Horas:
|
||||
- Lu1400
|
||||
- Lu1450
|
||||
B:
|
||||
Docente: Cristian Portugal
|
||||
Horas:
|
||||
- Lu1550
|
||||
- Lu1640
|
||||
C:
|
||||
Docente: Cristian Portugal
|
||||
Horas:
|
||||
- Lu1740
|
||||
- Lu1830
|
||||
Enfoque Empresarial:
|
||||
nombre: Enfoque Empresarial
|
||||
abreviado: EE
|
||||
Teoria:
|
||||
A:
|
||||
Docente: Juan C. Juarez
|
||||
Horas:
|
||||
- Lu1040
|
||||
- Lu1130
|
||||
- Lu1220
|
||||
- Mi0850
|
||||
- Mi0940
|
||||
B:
|
||||
Docente: Edward Zarate
|
||||
Horas:
|
||||
- Lu1830
|
||||
- Ma1400
|
||||
- Ma1450
|
||||
- Vi1550
|
||||
- Vi1640
|
||||
3er año:
|
||||
Construccion de Software:
|
||||
nombre: Construcción de Software
|
||||
abreviado: CS
|
||||
Teoria:
|
||||
A:
|
||||
Docente: V. Cornejo
|
||||
Horas:
|
||||
- Lu0850
|
||||
- Lu0940
|
||||
Sistemas Operativos:
|
||||
nombre: Sistemas Operativos
|
||||
abreviado: SO
|
||||
Teoria:
|
||||
A:
|
||||
Docente: Karim Guevara
|
||||
Horas:
|
||||
- Ma0700
|
||||
- Ma0750
|
||||
- Ju0700
|
||||
- Ju0750
|
||||
B:
|
||||
Docente: Karim Guevara
|
||||
Horas:
|
||||
- Ju1400
|
||||
- Ju1450
|
||||
- Vi1400
|
||||
- Vi1450
|
||||
|
@ -5,11 +5,19 @@
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<title>horarios</title>
|
||||
<title>Horarios UNSA</title>
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Roboto&display=swap" rel="stylesheet">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
<strong>We're sorry but horarios doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||
<strong>
|
||||
Increible lo que se puede hacer hoy en dia... Con JavaScript.
|
||||
<br>
|
||||
<br>
|
||||
Actívalo para acceder a la página.
|
||||
</strong>
|
||||
</noscript>
|
||||
<div id="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
|
57
src/App.vue
57
src/App.vue
@ -1,32 +1,37 @@
|
||||
<template>
|
||||
<div id="app">
|
||||
<div id="nav">
|
||||
<router-link to="/">Home</router-link> |
|
||||
<router-link to="/about">About</router-link>
|
||||
</div>
|
||||
<router-view/>
|
||||
</div>
|
||||
<template lang="pug">
|
||||
div.contenedor
|
||||
barra-lateral
|
||||
div.der(:style="'max-height: ' + alto + 'px;'")
|
||||
router-view
|
||||
|
||||
//
|
||||
</template>
|
||||
|
||||
<style lang="scss">
|
||||
#app {
|
||||
font-family: 'Avenir', Helvetica, Arial, sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-align: center;
|
||||
color: #2c3e50;
|
||||
}
|
||||
<script lang="coffee">
|
||||
import barraLateral from "./components/App/barra-lateral.vue"
|
||||
|
||||
#nav {
|
||||
padding: 30px;
|
||||
export default
|
||||
name: "App"
|
||||
components: { barraLateral }
|
||||
data: ->
|
||||
alto: window.innerHeight
|
||||
|
||||
a {
|
||||
font-weight: bold;
|
||||
color: #2c3e50;
|
||||
#
|
||||
</script>
|
||||
|
||||
&.router-link-exact-active {
|
||||
color: #42b983;
|
||||
}
|
||||
}
|
||||
}
|
||||
<style lang="sass">
|
||||
|
||||
.contenedor
|
||||
display: grid
|
||||
grid-template-columns: 400px auto
|
||||
|
||||
.der
|
||||
position: relative
|
||||
top: 0
|
||||
right: 0
|
||||
overflow-y: scroll
|
||||
overflow-x: hidden
|
||||
|
||||
|
||||
//
|
||||
</style>
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 6.7 KiB |
51
src/components/App/barra-lateral.vue
Normal file
51
src/components/App/barra-lateral.vue
Normal file
@ -0,0 +1,51 @@
|
||||
<template lang="pug">
|
||||
div.lateral(:style="'min-height: ' + alto + 'px;'")
|
||||
h1 Horarios UNSA
|
||||
br
|
||||
br
|
||||
div.info
|
||||
p 2019-2
|
||||
p Facultad de Producción y Servicios
|
||||
p Escuela Profesional de Ingeniería de Sistemas
|
||||
br
|
||||
br
|
||||
modo-color
|
||||
h2 Inicio
|
||||
h2 Otros
|
||||
|
||||
//
|
||||
</template>
|
||||
|
||||
<script lang="coffee">
|
||||
import modoColor from "./modo-color.vue"
|
||||
|
||||
export default
|
||||
name: "barra-lateral"
|
||||
components: { modoColor }
|
||||
data: ->
|
||||
alto: window.innerHeight
|
||||
|
||||
#
|
||||
</script>
|
||||
|
||||
<style scoped lang="sass">
|
||||
|
||||
.lateral
|
||||
display: block
|
||||
position: relative
|
||||
top: 0
|
||||
box-shadow: 2px 0 10px 0 lightgray
|
||||
|
||||
h1
|
||||
text-align: center
|
||||
|
||||
h2
|
||||
margin: 0
|
||||
padding: 15px 10px
|
||||
|
||||
.info p
|
||||
margin: 10px 20px
|
||||
font-family: "Product Sans", Roboto, sans-serif
|
||||
|
||||
//
|
||||
</style>
|
29
src/components/App/modo-color.vue
Normal file
29
src/components/App/modo-color.vue
Normal file
@ -0,0 +1,29 @@
|
||||
<template lang="pug">
|
||||
form(@submit.prevent)
|
||||
label(for="selector_modo_color") Modo de color:
|
||||
br
|
||||
select#selector_modo_color(v-model="opcion")
|
||||
option(selected) Claro
|
||||
option Oscuro
|
||||
|
||||
//
|
||||
</template>
|
||||
|
||||
<script lang="coffee">
|
||||
|
||||
export default
|
||||
name: "modo-color"
|
||||
data: ->
|
||||
opcion: "Claro"
|
||||
watch:
|
||||
opcion: (nuevo) ->
|
||||
console.log "Cambiado a #{nuevo}"
|
||||
|
||||
#
|
||||
</script>
|
||||
|
||||
<style scoped lang="sass">
|
||||
|
||||
|
||||
//
|
||||
</style>
|
@ -1,58 +0,0 @@
|
||||
<template>
|
||||
<div class="hello">
|
||||
<h1>{{ msg }}</h1>
|
||||
<p>
|
||||
For a guide and recipes on how to configure / customize this project,<br>
|
||||
check out the
|
||||
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
|
||||
</p>
|
||||
<h3>Installed CLI Plugins</h3>
|
||||
<ul>
|
||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
|
||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa" target="_blank" rel="noopener">pwa</a></li>
|
||||
</ul>
|
||||
<h3>Essential Links</h3>
|
||||
<ul>
|
||||
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
|
||||
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
|
||||
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
|
||||
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
|
||||
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
|
||||
</ul>
|
||||
<h3>Ecosystem</h3>
|
||||
<ul>
|
||||
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
|
||||
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
|
||||
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
|
||||
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
|
||||
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'HelloWorld',
|
||||
props: {
|
||||
msg: String
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
||||
<style scoped lang="scss">
|
||||
h3 {
|
||||
margin: 40px 0 0;
|
||||
}
|
||||
ul {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
}
|
||||
li {
|
||||
display: inline-block;
|
||||
margin: 0 10px;
|
||||
}
|
||||
a {
|
||||
color: #42b983;
|
||||
}
|
||||
</style>
|
32
src/components/Inicio/anio.vue
Normal file
32
src/components/Inicio/anio.vue
Normal file
@ -0,0 +1,32 @@
|
||||
<template lang="pug">
|
||||
div
|
||||
h3 {{ nombreAño }}
|
||||
|
||||
tabla-horarios(:nombreAño="nombreAño")
|
||||
curso(v-for="(curso, n) in año" :key="n" :curso="curso" :nombreAño="nombreAño")
|
||||
//
|
||||
</template>
|
||||
|
||||
<script lang="coffee">
|
||||
import curso from "./curso.vue"
|
||||
import tablaHorarios from "./tabla-horarios.vue"
|
||||
|
||||
export default
|
||||
name: "Anio"
|
||||
components: { curso, tablaHorarios }
|
||||
props:
|
||||
año:
|
||||
type: Object
|
||||
required: true
|
||||
nombreAño:
|
||||
type: String
|
||||
required: true
|
||||
|
||||
#
|
||||
</script>
|
||||
|
||||
<style scoped lang="sass">
|
||||
|
||||
|
||||
//
|
||||
</style>
|
147
src/components/Inicio/curso.vue
Normal file
147
src/components/Inicio/curso.vue
Normal file
@ -0,0 +1,147 @@
|
||||
<template lang="pug">
|
||||
div.info_curso
|
||||
h4.titulo_curso(@mouseenter="resaltarTodasCeldas" @mouseleave="quitarResaltadoCeldas")
|
||||
span.ancho {{ curso.abreviado }} >
|
||||
| {{ curso.nombre }}
|
||||
table.datos
|
||||
tr
|
||||
td(v-for="(grupos, profesor) in teoria")
|
||||
span.ancho |
|
||||
| {{ profesor }}
|
||||
span.ancho.cursor_click.ancho__teoria(
|
||||
v-for="grupo in grupos"
|
||||
@mouseenter="resaltarCeldasGrupo(grupo, false)"
|
||||
@mouseleave="quitarResaltadoGrupo(grupo, false)")
|
||||
| {{ grupo }}
|
||||
|
||||
tr
|
||||
template(v-if="!laboratorioVacio")
|
||||
td(v-for="(grupos, profesor) in laboratorio")
|
||||
span.ancho |
|
||||
| {{ profesor }}
|
||||
span.ancho.cursor_click.ancho__lab(
|
||||
v-for="grupo in grupos"
|
||||
@mouseenter="resaltarCeldasGrupo(grupo, true)"
|
||||
@mouseleave="quitarResaltadoGrupo(grupo, true)")
|
||||
| L{{ grupo }}
|
||||
template(v-else)
|
||||
td
|
||||
span.ancho | _
|
||||
|
||||
//
|
||||
</template>
|
||||
|
||||
<script lang="coffee">
|
||||
import { resaltarCurso, removerResaltadoCurso, resaltarGrupoCurso, removerResaltadoGrupo } from "./tablaHorarios/funcionesResaltado.coffee"
|
||||
|
||||
export default
|
||||
name: "curso"
|
||||
props:
|
||||
curso:
|
||||
type: Object
|
||||
required: true
|
||||
nombreAño:
|
||||
type: String
|
||||
required: true
|
||||
computed:
|
||||
teoria: ->
|
||||
vm = this
|
||||
profesores = {}
|
||||
for n, grupo of vm.curso.Teoria
|
||||
docente = grupo.Docente
|
||||
unless profesores[docente]?
|
||||
profesores[docente] = []
|
||||
profesores[docente].push(n)
|
||||
profesores
|
||||
laboratorio: ->
|
||||
vm = this
|
||||
profesores = {}
|
||||
for n, grupo of vm.curso.Laboratorio
|
||||
docente = grupo.Docente
|
||||
unless profesores[docente]?
|
||||
profesores[docente] = []
|
||||
profesores[docente].push(n)
|
||||
profesores
|
||||
laboratorioVacio: ->
|
||||
labs = this.laboratorio
|
||||
estaVacio = yes
|
||||
|
||||
for i of labs
|
||||
estaVacio = no
|
||||
break
|
||||
|
||||
estaVacio
|
||||
methods:
|
||||
procesarTeoria: () ->
|
||||
nombreAño = @nombreAño
|
||||
cursoAbreviado = @curso.abreviado
|
||||
curso = @curso
|
||||
nombreStore = "_" + (nombreAño.substring 0, nombreAño.indexOf " ")
|
||||
|
||||
for nombreGrupo, { Horas } of curso.Teoria
|
||||
for horaId in Horas
|
||||
datos = { cursoAbreviado, nombreGrupo, esLab: no }
|
||||
idCelda = nombreStore + horaId
|
||||
|
||||
@$store.commit "agregarACelda", {idCelda, datos}
|
||||
|
||||
for nombreGrupo, { Horas } of curso.Laboratorio
|
||||
for horaId in Horas
|
||||
datos = { cursoAbreviado, nombreGrupo, esLab: yes }
|
||||
idCelda = nombreStore + horaId
|
||||
|
||||
@$store.commit "agregarACelda", {idCelda, datos}
|
||||
resaltarTodasCeldas: () ->
|
||||
resaltarCurso @nombreAño, @curso.abreviado
|
||||
quitarResaltadoCeldas: () ->
|
||||
removerResaltadoCurso @nombreAño, @curso.abreviado
|
||||
resaltarCeldasGrupo: (grupo, esLab) ->
|
||||
resaltarGrupoCurso @nombreAño, @curso.abreviado, grupo, esLab
|
||||
quitarResaltadoGrupo: (grupo, esLab) ->
|
||||
removerResaltadoGrupo @nombreAño, @curso.abreviado, grupo, esLab
|
||||
|
||||
mounted: ->
|
||||
@procesarTeoria()
|
||||
|
||||
#
|
||||
</script>
|
||||
|
||||
<style scoped lang="sass">
|
||||
|
||||
.titulo_curso
|
||||
display: inline-block
|
||||
cursor: default
|
||||
&:hover
|
||||
text-decoration: underline
|
||||
|
||||
.info_curso
|
||||
display: inline-block
|
||||
padding: 1rem
|
||||
vertical-align: top
|
||||
|
||||
h4
|
||||
margin-top: 1rem
|
||||
margin-bottom: 0.25rem
|
||||
|
||||
.teoria, .laboratorio, .datos
|
||||
white-space: pre
|
||||
|
||||
.ancho
|
||||
font:
|
||||
family: "Fira Code", monospace
|
||||
user-select: none
|
||||
|
||||
.cursor_click
|
||||
cursor: pointer
|
||||
|
||||
|
||||
.ancho__teoria:hover
|
||||
background-color: var(--colorTeoria)
|
||||
color: white
|
||||
|
||||
.ancho__lab:hover
|
||||
background-color: var(--colorLab)
|
||||
color: white
|
||||
|
||||
//
|
||||
</style>
|
73
src/components/Inicio/tabla-horarios.vue
Normal file
73
src/components/Inicio/tabla-horarios.vue
Normal file
@ -0,0 +1,73 @@
|
||||
<template lang="pug">
|
||||
table.tabla_horario(border="1")
|
||||
thead
|
||||
tr
|
||||
td Hora
|
||||
td(v-for="dia in dias") {{ dia }}
|
||||
tbody
|
||||
tr(v-for="hora in horas")
|
||||
td {{ hora }}
|
||||
celda(v-for="(dia, i) in dias" :key="i"
|
||||
:dia="dia"
|
||||
:hora="hora"
|
||||
:nombreAño="nombreAño"
|
||||
:nombreStore="nombreStore")
|
||||
|
||||
//
|
||||
</template>
|
||||
|
||||
<script lang="coffee">
|
||||
import celda from "./tablaHorarios/celda.vue"
|
||||
|
||||
export default
|
||||
name: "tabla-horarios"
|
||||
components: { celda }
|
||||
data: ->
|
||||
dias: ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"]
|
||||
horas: [
|
||||
"07:00 - 07:50"
|
||||
"07:50 - 08:40"
|
||||
"08:40 - 08:50"
|
||||
"08:50 - 09:40"
|
||||
"09:40 - 10:30"
|
||||
"10:30 - 10:40"
|
||||
"10:40 - 11:30"
|
||||
"11:30 - 12:20"
|
||||
"12:20 - 13:10"
|
||||
"13:10 - 14:00"
|
||||
"14:00 - 14:50"
|
||||
"14:50 - 15:40"
|
||||
"15:40 - 15:50"
|
||||
"15:50 - 16:40"
|
||||
"16:40 - 17:30"
|
||||
"17:30 - 17:40"
|
||||
"17:40 - 18:30"
|
||||
"18:30 - 19:20"
|
||||
"19:20 - 20:10"
|
||||
]
|
||||
props:
|
||||
nombreAño:
|
||||
type: String
|
||||
required: true
|
||||
computed:
|
||||
nombreStore: -> "_" + (@nombreAño.substring 0, @nombreAño.indexOf " ")
|
||||
|
||||
|
||||
#
|
||||
</script>
|
||||
|
||||
<style scoped lang="sass">
|
||||
|
||||
.tabla_horario
|
||||
width: 100%
|
||||
border-color: rgba(135, 135, 135, 0.51)
|
||||
|
||||
tr
|
||||
vertical-align: middle
|
||||
text-align: center
|
||||
td:first-child
|
||||
width: 8rem
|
||||
|
||||
|
||||
//
|
||||
</style>
|
92
src/components/Inicio/tablaHorarios/celda-curso.vue
Normal file
92
src/components/Inicio/tablaHorarios/celda-curso.vue
Normal file
@ -0,0 +1,92 @@
|
||||
<template lang="pug">
|
||||
span.celda(:class="clases" :eslab="datos.esLab? 'true': 'false'"
|
||||
@mouseenter="resaltarCeldasGrupo"
|
||||
@mouseleave="quitarResaltadoGrupo"
|
||||
@click="toggleActivo")
|
||||
| {{ datos.cursoAbreviado }}
|
||||
span {{ (datos.esLab? "L": "") + datos.nombreGrupo }}
|
||||
|
||||
//
|
||||
</template>
|
||||
|
||||
<script lang="coffee">
|
||||
import { resaltarGrupoCurso, removerResaltadoGrupo } from "./funcionesResaltado.coffee"
|
||||
|
||||
export default
|
||||
name: "celda-curso"
|
||||
props:
|
||||
datos:
|
||||
type: Object
|
||||
required: yes
|
||||
nombreAño:
|
||||
type: String
|
||||
required: yes
|
||||
data: ->
|
||||
celdaCursoActiva: no
|
||||
computed:
|
||||
clases: ->
|
||||
res = []
|
||||
esLab = @datos.esLab
|
||||
cursoAbreviado = @datos.cursoAbreviado
|
||||
nombreGrupo = @datos.nombreGrupo
|
||||
nombreAño = @nombreAño.substring 0, (@nombreAño.indexOf " ")
|
||||
|
||||
res.push if esLab then "celda__lab" else "celda__teoria"
|
||||
|
||||
# _PW1
|
||||
res.push "_#{ nombreAño }_#{ cursoAbreviado }"
|
||||
|
||||
# _PW1_LB
|
||||
res.push "_#{ nombreAño }_#{ cursoAbreviado }_#{ if esLab then 'L' else '' }#{ nombreGrupo }"
|
||||
|
||||
res
|
||||
cursoAbreviado: -> @datos.cursoAbreviado
|
||||
nombreGrupo: -> @datos.nombreGrupo
|
||||
esLab: -> @datos.esLab
|
||||
methods:
|
||||
resaltarCeldasGrupo: () ->
|
||||
resaltarGrupoCurso @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab
|
||||
quitarResaltadoGrupo: () ->
|
||||
removerResaltadoGrupo @nombreAño, @cursoAbreviado, @nombreGrupo, @esLab
|
||||
activarGrupo: () ->
|
||||
resaltarGrupoCurso @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()
|
||||
|
||||
|
||||
#
|
||||
</script>
|
||||
|
||||
<style scoped lang="sass">
|
||||
$duracionTransicion: 100ms
|
||||
|
||||
.celda
|
||||
white-space: pre
|
||||
font-family: "Fira Code", monospace
|
||||
cursor: pointer
|
||||
user-select: none
|
||||
transition: background-color $duracionTransicion linear, color $duracionTransicion linear
|
||||
|
||||
.celda__teoria
|
||||
color: var(--colorTeoria)
|
||||
|
||||
.celda__teoria:hover, .celda__teoria--resaltado, .celda__teoria--activo
|
||||
background-color: var(--colorTeoria)
|
||||
color: white
|
||||
|
||||
.celda__lab
|
||||
color: var(--colorLab)
|
||||
|
||||
.celda__lab:hover, .celda__lab--resaltado, .celda__lab--activo
|
||||
background-color: var(--colorLab)
|
||||
color: white
|
||||
|
||||
//
|
||||
</style>
|
77
src/components/Inicio/tablaHorarios/celda.vue
Normal file
77
src/components/Inicio/tablaHorarios/celda.vue
Normal file
@ -0,0 +1,77 @@
|
||||
<template lang="pug">
|
||||
td(:class="clases")
|
||||
celda-curso(v-for="(datos, i) in datosCeldas" :key="i" :datos="datos" :nombreAño="nombreAño")
|
||||
|
||||
//
|
||||
</template>
|
||||
|
||||
<script lang="coffee">
|
||||
import celdaCurso from "./celda-curso.vue"
|
||||
|
||||
export default
|
||||
name: "celda",
|
||||
components: { celdaCurso }
|
||||
props:
|
||||
dia:
|
||||
type: String
|
||||
required: yes
|
||||
hora:
|
||||
type: String
|
||||
required: yes
|
||||
nombreAño:
|
||||
type: String
|
||||
required: yes
|
||||
nombreStore:
|
||||
type: String
|
||||
required: yes
|
||||
data: ->
|
||||
datosCeldas: []
|
||||
computed:
|
||||
identificadoresCelda: ->
|
||||
clases = []
|
||||
parteDia = @dia.substring 0, 2
|
||||
clases.push ("_" + parteDia)
|
||||
|
||||
parteHora = (@hora.substring 0, 2) + (@hora.substring 3, 5)
|
||||
clases.push ("_" + parteHora)
|
||||
|
||||
clases.push ("_" + parteDia + parteHora)
|
||||
|
||||
nombreAño = @nombreAño
|
||||
claseAño = nombreAño.substring 0, (nombreAño.indexOf " ")
|
||||
clases.push ("_" + claseAño)
|
||||
|
||||
id = "_" + claseAño + parteDia + parteHora
|
||||
clases.push id
|
||||
|
||||
[id, clases]
|
||||
idCelda: -> @identificadoresCelda[0]
|
||||
clases: -> @identificadoresCelda[1]
|
||||
methods:
|
||||
registrarCelda: -> @$store.commit "registrarCelda", @idCelda
|
||||
recuperarDatosCeldas: -> @datosCeldas = @$store.state.celdas[@idCelda]
|
||||
|
||||
mounted: ->
|
||||
vm = this
|
||||
idCelda = @identificadoresCelda[0]
|
||||
promesa = new Promise (resolve) =>
|
||||
intervalo = setInterval (=>
|
||||
unless vm.$store.state.celdas[idCelda] is undefined
|
||||
clearInterval intervalo
|
||||
resolve()
|
||||
), 250
|
||||
|
||||
@registrarCelda()
|
||||
await promesa
|
||||
@recuperarDatosCeldas()
|
||||
|
||||
#
|
||||
</script>
|
||||
|
||||
<style scoped lang="sass">
|
||||
|
||||
|
||||
|
||||
|
||||
//
|
||||
</style>
|
@ -0,0 +1,84 @@
|
||||
#: Txt -> Txt -> ()
|
||||
export resaltarCurso = (nombreAño, cursoAbreviado) =>
|
||||
nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ")
|
||||
clase = "_#{ nombreAñoF }_#{ cursoAbreviado }"
|
||||
|
||||
elementos = document.getElementsByClassName clase
|
||||
|
||||
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) =>
|
||||
nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ")
|
||||
clase = "_#{ nombreAñoF }_#{ cursoAbreviado }"
|
||||
|
||||
elementos = document.getElementsByClassName clase
|
||||
|
||||
for elemento in elementos
|
||||
clases = elemento.className
|
||||
clasesNueva = clases.replace "celda__lab--resaltado", ""
|
||||
clasesNueva = clasesNueva.replace "celda__teoria--resaltado", ""
|
||||
|
||||
elemento.className = clasesNueva
|
||||
|
||||
|
||||
export resaltarGrupoCurso = (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
|
||||
|
||||
for elemento in elementos
|
||||
if (elemento.getAttribute "eslab") is esLab.toString()
|
||||
nuevaClase = "celda__#{ if esLab then 'lab' else 'teoria' }--resaltado"
|
||||
elemento.className += " #{nuevaClase}"
|
||||
|
||||
|
||||
export removerResaltadoGrupo = (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
|
||||
|
||||
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) =>
|
||||
nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ")
|
||||
clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }"
|
||||
|
||||
elementos = document.getElementsByClassName clase
|
||||
|
||||
for elemento in elementos
|
||||
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) =>
|
||||
nombreAñoF = nombreAño.substring 0, (nombreAño.indexOf " ")
|
||||
clase = "_#{ nombreAñoF }_#{ cursoAbreviado }_#{ (if esLab then 'L' else '') + grupo }"
|
||||
|
||||
elementos = document.getElementsByClassName clase
|
||||
|
||||
for elemento in elementos
|
||||
if (elemento.getAttribute "eslab") is esLab.toString()
|
||||
clases = elemento.className
|
||||
clasesNueva = clases.replace "celda__lab--activo", ""
|
||||
clasesNueva = clasesNueva.replace "celda__teoria--activo", ""
|
||||
|
||||
elemento.className = clasesNueva
|
||||
|
@ -3,6 +3,8 @@ import App from './App.vue'
|
||||
import router from './router'
|
||||
import store from './store'
|
||||
import './registerServiceWorker'
|
||||
import "normalize-css"
|
||||
import "./sass/Global.sass"
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
|
@ -1,27 +1,19 @@
|
||||
import Vue from 'vue'
|
||||
import VueRouter from 'vue-router'
|
||||
import Home from '../views/Home.vue'
|
||||
import Inicio from '../views/Inicio.vue'
|
||||
|
||||
Vue.use(VueRouter)
|
||||
Vue.use(VueRouter);
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '/',
|
||||
name: 'home',
|
||||
component: Home
|
||||
},
|
||||
{
|
||||
path: '/about',
|
||||
name: 'about',
|
||||
// route level code-splitting
|
||||
// this generates a separate chunk (about.[hash].js) for this route
|
||||
// which is lazy-loaded when the route is visited.
|
||||
component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
|
||||
name: 'Inicio',
|
||||
component: Inicio
|
||||
}
|
||||
]
|
||||
];
|
||||
|
||||
const router = new VueRouter({
|
||||
routes
|
||||
})
|
||||
});
|
||||
|
||||
export default router
|
||||
|
17
src/sass/Global.sass
Normal file
17
src/sass/Global.sass
Normal file
@ -0,0 +1,17 @@
|
||||
\:root
|
||||
--colorTexto: #d7d7d7
|
||||
--colorFondo: #0E1419
|
||||
--colorTeoria: #3f77f3
|
||||
--colorLab: #e4564a
|
||||
|
||||
/* black white */
|
||||
|
||||
html
|
||||
font-family: "Roboto", sans-serif
|
||||
color: var(--colorTexto)
|
||||
background-color: var(--colorFondo)
|
||||
|
||||
h1, h2, h3
|
||||
font-family: "Product Sans", Roboto, sans-serif
|
||||
|
||||
//
|
@ -1,15 +1,21 @@
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
import Vue from 'vue';
|
||||
import Vuex from 'vuex';
|
||||
|
||||
Vue.use(Vuex)
|
||||
Vue.use(Vuex);
|
||||
|
||||
export default new Vuex.Store({
|
||||
state: {
|
||||
celdas: {}
|
||||
},
|
||||
mutations: {
|
||||
registrarCelda(state, idCelda) {
|
||||
state.celdas[idCelda] = [];
|
||||
},
|
||||
agregarACelda(state, {idCelda, datos}) {
|
||||
state.celdas[idCelda].push(datos);
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
},
|
||||
modules: {
|
||||
|
||||
}
|
||||
})
|
||||
});
|
||||
|
@ -1,5 +0,0 @@
|
||||
<template>
|
||||
<div class="about">
|
||||
<h1>This is an about page</h1>
|
||||
</div>
|
||||
</template>
|
@ -1,18 +0,0 @@
|
||||
<template>
|
||||
<div class="home">
|
||||
<img alt="Vue logo" src="../assets/logo.png">
|
||||
<HelloWorld msg="Welcome to Your Vue.js App"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// @ is an alias to /src
|
||||
import HelloWorld from '@/components/HelloWorld.vue'
|
||||
|
||||
export default {
|
||||
name: 'home',
|
||||
components: {
|
||||
HelloWorld
|
||||
}
|
||||
}
|
||||
</script>
|
30
src/views/Inicio.vue
Normal file
30
src/views/Inicio.vue
Normal file
@ -0,0 +1,30 @@
|
||||
<template lang="pug">
|
||||
div.home
|
||||
h2.titulo {{ datos.titulo }}
|
||||
anio(v-for="(año, i) in datos.años" :key="i"
|
||||
:año="año" :nombreAño="i"
|
||||
)
|
||||
|
||||
//
|
||||
</template>
|
||||
|
||||
<script lang="coffee">
|
||||
import anio from "../components/Inicio/anio.vue"
|
||||
import YAML from "yaml"
|
||||
|
||||
export default
|
||||
name: 'home'
|
||||
components: { anio }
|
||||
data: ->
|
||||
datos:
|
||||
titulo: "Cargando..."
|
||||
años: {}
|
||||
created: ->
|
||||
vm = this
|
||||
resRaw = await fetch "/horarios/2018_2_fps_epis.yaml"
|
||||
res = YAML.parse await resRaw.text()
|
||||
vm.datos = res
|
||||
|
||||
|
||||
#
|
||||
</script>
|
17
vue.config.js
Normal file
17
vue.config.js
Normal file
@ -0,0 +1,17 @@
|
||||
module.exports = {
|
||||
configureWebpack: {
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.coffee$/,
|
||||
loader: 'coffee-loader',
|
||||
}
|
||||
]
|
||||
},
|
||||
devServer: {
|
||||
compress: true,
|
||||
disableHostCheck: true
|
||||
}
|
||||
},
|
||||
productionSourceMap: false
|
||||
};
|
Loading…
Reference in New Issue
Block a user