11<template >
22 <div class =" timetable" >
33 <div v-if =" !this.loaded" class =" lds-dual-ring" ></div >
4- <div v-else class =' container' >
4+ <div v-else class =' container' >
55 <div class =' info' >{{ this.groupInfo.number }} группа</div >
66 <div class =" no-events" v-if =" !this.timetable.length" >пары отсутствуют</div >
77 <ul v-else >
@@ -19,7 +19,6 @@ export default {
1919
2020 mounted () {
2121 this .groupId = localStorage .getItem (' timetable-group-id' );
22- this .$store .commit (" changePage" , this .pageId );
2322 this .loadGroupInfo ();
2423 this .loadTimetableOnDate (this .$store .state .date );
2524 },
@@ -28,25 +27,15 @@ export default {
2827 loaded: true ,
2928 pageId: 1 ,
3029 groupId: null ,
31- groupInfo: {number: ' ' },
30+ groupInfo: { number: ' ' },
3231 timetable: [],
3332 };
3433 },
35- computed: {
36- choosenDate () {
37- return this .$store .state .date
38- }
39- },
40- watch: {
41- choosenDate (newValue ) {
42- this .loadTimetableOnDate (newValue)
43- }
44- },
4534 components: {
4635 EventRow: EventRow,
4736 },
4837 methods: {
49- loadGroupInfo (){
38+ loadGroupInfo () {
5039 var url = new URL (` ${ process .env .VUE_APP_API_TIMETABLE } /timetable/group/${ this .groupId } ` );
5140 fetch (url).then (response => response .json ())
5241 .then (json => {
@@ -55,17 +44,18 @@ export default {
5544 },
5645 loadTimetableOnDate (date ) {
5746 var time_start = new Date (date);
58- time_start .setHours (time_start .getHours () - date .getTimezoneOffset ()/ 60 )
47+ time_start .setHours (time_start .getHours () - date .getTimezoneOffset () / 60 )
5948 console .log (time_start .toISOString ())
6049 var time_end = new Date (time_start);
6150 time_end .setDate (time_start .getDate () + 1 )
6251 var url = new URL (` ${ process .env .VUE_APP_API_TIMETABLE } /timetable/event/` ),
63- params = {
64- start: time_start .toISOString ().slice (0 , 10 ),
52+ params = {
53+ start: time_start .toISOString ().slice (0 , 10 ),
6554 end: time_end .toISOString ().slice (0 , 10 ),
6655 limit: 0 ,
6756 offset: 0 ,
68- group_id: this .groupId }
57+ group_id: this .groupId
58+ }
6959 Object .keys (params).forEach (key => url .searchParams .append (key, params[key]))
7060 this .loaded = false ;
7161 fetch (url).then (response => response .json ())
@@ -75,8 +65,13 @@ export default {
7565 })
7666
7767 }
68+ },
69+ beforeMount () {
70+ document .dispatchEvent (new CustomEvent (" change-page" , { detail: this .pageId }));
71+ document .addEventListener (' change-date' , (e ) => this .loadTimetableOnDate (e .detail ));
7872 }
7973};
74+
8075 </script >
8176
8277<style scoped>
136131 align-self : stretch ;
137132 flex-grow : 0 ;
138133}
139-
140134 </style >
0 commit comments