diff --git a/lib/presentation/screens/staff/Enquiry/enquiry_inline_list.dart b/lib/presentation/screens/staff/Enquiry/enquiry_inline_list.dart index bfe1c5d..a6e990a 100644 --- a/lib/presentation/screens/staff/Enquiry/enquiry_inline_list.dart +++ b/lib/presentation/screens/staff/Enquiry/enquiry_inline_list.dart @@ -26,7 +26,7 @@ import 'package:universal_html/html.dart' as html; import '../../../../data/services/auth_service.dart'; import '../../../../data/utils/Pagination.dart'; -import '../../../../data/utils/toastNotification.dart'; +import '../../../../data/utils/toastNotification.dart'; import '../../../../data/utils/validators.dart'; import '../../../layouts/main_layout.dart'; import '../../../layouts/responsive_layout.dart'; @@ -44,12 +44,16 @@ import 'enquiry_inline_SubRow.dart'; import 'multi_file_list.dart'; class EnquiryListStaffInline extends ConsumerStatefulWidget { + const EnquiryListStaffInline({super.key}); @override ConsumerState createState() => EnquiryStaffState(); } class EnquiryStaffState extends ConsumerState { + // bool fromDashboard = false; + bool _dashboardInitHandled = false; + bool _resetKeyEnable = false; int currentPage = 1; int itemsPerPage = 10; // int itemsPerPage = 5; @@ -234,6 +238,26 @@ class EnquiryStaffState extends ConsumerState { //---------------------- Assign Staff Ends -------------------------------- // //---------------------- Enquiry TAB Initializations Ends -------------------------------- // + // @override + // void didChangeDependencies() { + // super.didChangeDependencies(); + + // if (_dashboardInitHandled) return; + // _dashboardInitHandled = true; + + // final extra = GoRouterState.of(context).extra; + + // if (extra is Map) { + // fromDashboard = extra['fromDashboard'] ?? false; + // } + + // // 🔥 IMPORTANT: Clear date pickers ONLY when coming from dashboard + // if (fromDashboard) { + // controllers['startDate']?.clear(); + // controllers['endDate']?.clear(); + // } + // } + @override void initState() { super.initState(); @@ -505,6 +529,9 @@ class EnquiryStaffState extends ConsumerState { } Future refrshfilterDateRange() async { + setState(() { + _resetKeyEnable = true; + }); print('refrshfilterDateRange'); // setState(() async { final prefs = await SharedPreferences.getInstance(); @@ -624,16 +651,21 @@ class EnquiryStaffState extends ConsumerState { final dateFormat = DateFormat('dd-MM-yyyy'); if (dashboardKey == 'fromDashboard' && SelectedStatus == "PrevPending") { + setState(() { + _dashboardInitHandled = true; + }); // For PREV PENDING → set date range until yesterday final today = DateTime.now(); print('A813 => Fns called => $managerId | $role'); // Change to dd-MM-yyyy - final dateFormat = DateFormat('dd-MM-yyyy'); + // final dateFormat = DateFormat('dd-MM-yyyy'); + // + // final yesterday = today.subtract(Duration(days: 1)); - final yesterday = today.subtract(Duration(days: 1)); - - fromDt = dateFormat.format(yesterday.subtract(Duration(days: 15))); - toDt = dateFormat.format(yesterday); + fromDt = _dashboardInitHandled ? controllers['startDate']?.text : ''; + toDt = _dashboardInitHandled ? controllers['endDate']?.text : ''; + // fromDt = dateFormat.format(yesterday.subtract(Duration(days: 15))); + // toDt = dateFormat.format(yesterday); print('PrevPending FROM TO - $fromDt - $toDt'); } else if (dashboardKey == 'fromDashboard' && @@ -645,8 +677,11 @@ class EnquiryStaffState extends ConsumerState { // Change to dd-MM-yyyy final dateFormat = DateFormat('dd-MM-yyyy'); - fromDt = dateFormat.format(today); - toDt = dateFormat.format(today); + // fromDt = dateFormat.format(today); + // toDt = dateFormat.format(today); + + fromDt = _dashboardInitHandled ? controllers['startDate']?.text : ''; + toDt = _dashboardInitHandled ? controllers['endDate']?.text : ''; print('PrevPending FROM TO - $fromDt - $toDt'); } else if (dashboardKey != 'fromDashboard' && @@ -664,8 +699,25 @@ class EnquiryStaffState extends ConsumerState { } else { print('A1113 => Fns called => $managerId | $role'); print('Enq 1- $fromDt - $toDt'); - fromDt = fromDateVal; - toDt = toDateVal; + + if(_resetKeyEnable = true){ + final dateFormat = DateFormat('dd-MM-yyyy'); + final today = DateTime.now(); + final yesterday = today.subtract(Duration(days: 1)); + + fromDt = dateFormat.format(yesterday.subtract(Duration(days: 15))); + toDt = dateFormat.format(yesterday); + setState(() { + controllers['startDate']?.text = fromDt; + controllers['endDate']?.text = toDt; + }); + + } else { + fromDt = fromDateVal; + toDt = toDateVal; + } + + } print('Enq 2- $fromDt - $toDt'); String finalStatus = SelectedStatus; @@ -678,8 +730,8 @@ class EnquiryStaffState extends ConsumerState { managerId, userId, role, - fromDate: fromDt, - toDate: toDt, + fromDate: _dashboardInitHandled ? controllers['startDate']?.text : fromDt, + toDate: _dashboardInitHandled ? controllers['endDate']?.text : toDt, // selectedStatus: (finalStatus != '' && finalStatus != 'PrevPending') // ? finalStatus // : '', @@ -700,8 +752,13 @@ class EnquiryStaffState extends ConsumerState { print('A1213 => Fns called => $managerId | $role'); setState(() { - controllers['startDate']?.text = fromDate; - controllers['endDate']?.text = toDate; + _resetKeyEnable = false; + + controllers['startDate']?.text = fromDate; + controllers['endDate']?.text = toDate; + + + if (data is List) { getStaffData = List>.from(data);