feat: RefreshCalendar event
parent
f1db5e571f
commit
fe798b6ae2
|
|
@ -36,3 +36,12 @@ class VisitPhotoCountEvent extends AppEvent {
|
||||||
@override
|
@override
|
||||||
List<Object?> get props => [id_visite, photoCount];
|
List<Object?> get props => [id_visite, photoCount];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class RefreshCalendarEvent extends AppEvent {
|
||||||
|
RefreshCalendarEvent(this.refreshDate);
|
||||||
|
|
||||||
|
final String refreshDate;
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object?> get props => [refreshDate];
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ class _TabHomePageState extends State<TabHomePage>
|
||||||
final _reusableWidget = ReusableWidget();
|
final _reusableWidget = ReusableWidget();
|
||||||
|
|
||||||
late StreamSubscription subVisitPhotoCountEvent;
|
late StreamSubscription subVisitPhotoCountEvent;
|
||||||
|
late StreamSubscription subRefreshCalendarEvent;
|
||||||
|
|
||||||
// keep the state to do not refresh when switch navbar
|
// keep the state to do not refresh when switch navbar
|
||||||
@override
|
@override
|
||||||
|
|
@ -66,7 +67,7 @@ class _TabHomePageState extends State<TabHomePage>
|
||||||
|
|
||||||
loadData().then((_) {
|
loadData().then((_) {
|
||||||
setState(() {
|
setState(() {
|
||||||
// Listen particular event
|
// Listen refresh photo count event
|
||||||
subVisitPhotoCountEvent =
|
subVisitPhotoCountEvent =
|
||||||
eventBus.on<VisitPhotoCountEvent>().listen((e) {
|
eventBus.on<VisitPhotoCountEvent>().listen((e) {
|
||||||
SharedPrefs().last_id_visite = e.id_visite;
|
SharedPrefs().last_id_visite = e.id_visite;
|
||||||
|
|
@ -88,11 +89,19 @@ class _TabHomePageState extends State<TabHomePage>
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Listen refresh calendar event
|
||||||
|
subRefreshCalendarEvent = eventBus.on<RefreshCalendarEvent>().listen((e) {
|
||||||
|
setState(() {
|
||||||
|
loadData();
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
|
subRefreshCalendarEvent.cancel();
|
||||||
subVisitPhotoCountEvent.cancel();
|
subVisitPhotoCountEvent.cancel();
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,11 @@ import 'package:flutter/material.dart';
|
||||||
import 'package:connectivity_plus/connectivity_plus.dart';
|
import 'package:connectivity_plus/connectivity_plus.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
|
|
||||||
|
import 'package:mobdr/main.dart';
|
||||||
import 'package:mobdr/config/constant.dart';
|
import 'package:mobdr/config/constant.dart';
|
||||||
import 'package:mobdr/config/global_style.dart';
|
import 'package:mobdr/config/global_style.dart';
|
||||||
import 'package:mobdr/service/shared_prefs.dart';
|
import 'package:mobdr/service/shared_prefs.dart';
|
||||||
|
import 'package:mobdr/events.dart';
|
||||||
import 'package:mobdr/model/visit_model.dart';
|
import 'package:mobdr/model/visit_model.dart';
|
||||||
import 'package:mobdr/ui/reusable/cache_image_network.dart';
|
import 'package:mobdr/ui/reusable/cache_image_network.dart';
|
||||||
import 'package:mobdr/ui/sync/upload_photos.dart';
|
import 'package:mobdr/ui/sync/upload_photos.dart';
|
||||||
|
|
@ -82,6 +84,9 @@ class _SynchronizationPageState extends State<SynchronizationPage> {
|
||||||
SharedPrefs().lastCalendarRefresh =
|
SharedPrefs().lastCalendarRefresh =
|
||||||
DateFormat('dd/MM/yyyy HH:mm').format(DateTime.now());
|
DateFormat('dd/MM/yyyy HH:mm').format(DateTime.now());
|
||||||
|
|
||||||
|
eventBus.fire(
|
||||||
|
RefreshCalendarEvent(SharedPrefs().lastCalendarRefresh));
|
||||||
|
|
||||||
setState(() {
|
setState(() {
|
||||||
loadData();
|
loadData();
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue