urgent_contact_controller.dart 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import 'package:get/get.dart';
  2. import 'package:injectable/injectable.dart';
  3. import 'package:location/base/base_controller.dart';
  4. import 'package:location/data/repositories/urgent_contact_repository.dart';
  5. import 'package:location/handler/error_handler.dart';
  6. import '../../data/bean/contact_info.dart';
  7. import 'add_contact/add_urgent_contact_view.dart';
  8. @injectable
  9. class UrgentContactController extends BaseController {
  10. final RxBool _isLoaded = false.obs;
  11. bool get isLoaded => _isLoaded.value;
  12. final UrgentContactRepository _urgentContactRepository;
  13. final RxList<ContactInfo> contactList = RxList<ContactInfo>();
  14. UrgentContactController(this._urgentContactRepository);
  15. @override
  16. void onReady() {
  17. super.onReady();
  18. requestUrgentContactList();
  19. }
  20. void requestUrgentContactList() {
  21. _urgentContactRepository.getContactList().then((value) {
  22. _isLoaded.value = true;
  23. contactList.clear();
  24. if (value.list != null) {
  25. contactList.addAll(value.list!);
  26. }
  27. }).catchError((e) {
  28. ErrorHandler.toastError(e);
  29. });
  30. }
  31. void back() {
  32. Get.back();
  33. }
  34. void addContactClick() async {
  35. bool? isCreateSuccess = await AddUrgentContactView.show();
  36. if (isCreateSuccess != null && isCreateSuccess) {
  37. requestUrgentContactList();
  38. }
  39. }
  40. }