import 'package:get/get.dart'; import 'package:get/get_core/src/get_main.dart'; import 'package:location/base/base_controller.dart'; import 'package:location/data/bean/track_daily_bean.dart'; import 'package:location/data/repositories/track_repository.dart'; import 'package:location/dialog/loading_dialog.dart'; import 'package:location/handler/error_handler.dart'; import 'package:location/module/track/track_controller.dart'; import 'package:location/resource/string.gen.dart'; import '../../../data/bean/track_days.dart'; class TrackDayDetailController extends BaseController { final TrackDays days; late TrackRepository trackRepository; final RxBool _trackNoData = RxBool(false); final RxList trackDailyList = RxList(); final RxBool _isExpanded = RxBool(false); final RxBool _isRequested = RxBool(false); bool get isRequested => _isRequested.value; bool get isExpanded => _isExpanded.value; bool get trackNoData => _trackNoData.value; final TrackController trackController = Get.find(); TrackDayDetailController(this.days, bool isExpand) { trackRepository = TrackRepository.getInstance(); _isExpanded.value = isExpand; } @override void onInit() { super.onInit(); _requestTrackDaily(); } @override void onReady() { super.onReady(); } void _requestTrackDaily() { _isRequested.value = false; CustomLoadingDialog.show(loadingTxt: StringName.trackLoadingTxt); trackRepository .trackDailyQuery( startTime: days.start, endTime: days.end, userId: trackController.userInfo?.id) .then((list) { CustomLoadingDialog.hide(); _isRequested.value = true; _trackNoData.value = (list == null || list.isEmpty == true); trackDailyList.assignAll(list ?? []); }).catchError((error) { CustomLoadingDialog.hide(); _isRequested.value = false; ErrorHandler.toastError(error); }); } void onTrackDetailFoldClick() { _isExpanded.value = !_isExpanded.value; } }