@@ -121,22 +121,28 @@ export default {
121121 },
122122 },
123123 beforeMount () {
124+ document .addEventListener (' change-date' , e => {
125+ this .date = e .detail .date ;
126+ });
124127 document .addEventListener (
125- ' change -date' ,
126- e => ( this .date = e . detail . date ) ,
128+ ' sync -date-response ' ,
129+ this .syncDateResponseHandler ,
127130 );
131+ document .addEventListener (' swipe' , this .changeDate );
128132 },
129- updated () {
130- document .dispatchEvent (this .headerEvent );
133+ beforeUnmount () {
134+ document .removeEventListener (
135+ ' sync-date-response' ,
136+ this .syncDateResponseHandler ,
137+ );
138+ document .removeEventListener (' swipe' , this .changeDate );
131139 },
132140 mounted () {
133141 document .dispatchEvent (this .headerEvent );
134142 this .groupId = localStorage .getItem (' timetable-group-id' );
135143 this .loadGroupInfo ();
136- document .dispatchEvent (new CustomEvent (' sync-date' ));
137144
138- // Обработка свайпов
139- document .addEventListener (' swipe' , this .changeDate );
145+ document .dispatchEvent (new CustomEvent (' sync-date' ));
140146
141147 // Обработка стрелочек
142148 window .addEventListener (' keydown' , e => {
@@ -152,9 +158,6 @@ export default {
152158 // Загружаем кэш в память
153159 this .loadTimetableCache ();
154160 },
155- beforeUnmount () {
156- document .removeEventListener (' swipe' , this .changeDate );
157- },
158161 methods: {
159162 loadGroupInfo () {
160163 // Loading from cache if exists
@@ -272,7 +275,7 @@ export default {
272275 this .loaded = false ;
273276 this .timetable = [];
274277 document .dispatchEvent (
275- new CustomEvent (' change-main- date' , {
278+ new CustomEvent (' change-date' , {
276279 detail: { date: nextDate },
277280 }),
278281 );
@@ -287,6 +290,9 @@ export default {
287290 localStorage .removeItem (' timetable-cache' );
288291 this .$router .push (' /timetable/init' );
289292 },
293+ syncDateResponseHandler (e ) {
294+ this .date = e .detail .date ;
295+ },
290296 },
291297};
292298 </script >
0 commit comments