traf request item list view added.
							parent
							
								
									144951caec
								
							
						
					
					
						commit
						599da01554
					
				| @ -0,0 +1,130 @@ | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:test_sa/extensions/context_extension.dart'; | ||||
| import 'package:test_sa/extensions/int_extensions.dart'; | ||||
| import 'package:test_sa/extensions/string_extensions.dart'; | ||||
| import 'package:test_sa/extensions/text_extensions.dart'; | ||||
| import 'package:test_sa/extensions/widget_extensions.dart'; | ||||
| import 'package:test_sa/models/all_requests_and_count_model.dart'; | ||||
| import 'package:test_sa/models/new_models/dashboard_detail.dart'; | ||||
| import 'package:test_sa/new_views/app_style/app_color.dart'; | ||||
| import 'package:test_sa/views/widgets/requests/request_status.dart'; | ||||
| 
 | ||||
| import 'traf_request_detail_page.dart'; | ||||
| 
 | ||||
| class TrafRequestItemView extends StatelessWidget { | ||||
|   final Data? requestData; | ||||
|   final RequestsDetails? requestDetails; | ||||
|   final bool showShadow; | ||||
| 
 | ||||
|   const TrafRequestItemView({Key? key, this.requestData, this.requestDetails, this.showShadow = true}) : super(key: key); | ||||
| 
 | ||||
|   @override | ||||
|   Widget build(BuildContext context) { | ||||
|     if (requestData != null) { | ||||
|       return Column( | ||||
|         crossAxisAlignment: CrossAxisAlignment.start, | ||||
|         children: [ | ||||
|           Row( | ||||
|             crossAxisAlignment: CrossAxisAlignment.start, | ||||
|             children: [ | ||||
|               // StatusLabel( | ||||
|               //   label: requestData!.priorityName!, | ||||
|               //   textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.priorityName!), | ||||
|               //   backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.priorityName!), | ||||
|               // ), | ||||
|               // 8.width, | ||||
|               StatusLabel( | ||||
|                 label: requestData!.statusName!, | ||||
|                 textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.statusName!), | ||||
|                 backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!), | ||||
|               ), | ||||
|               1.width.expanded, | ||||
|               Text( | ||||
|                 requestData!.transactionDate?.toServiceRequestCardFormat ?? "", | ||||
|                 textAlign: TextAlign.end, | ||||
|                 style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), | ||||
|               ), | ||||
|             ], | ||||
|           ), | ||||
|           8.height, | ||||
|           (requestData?.typeTransaction ?? "TRAF Request").heading5(context), | ||||
|           infoWidget(label: context.translation.requestType, value: requestData?.requestTypeName, context: context), | ||||
|           infoWidget(label: "TRAF No", value: requestData?.requestNo, context: context), | ||||
|           8.height, | ||||
|           Row( | ||||
|             mainAxisSize: MainAxisSize.min, | ||||
|             children: [ | ||||
|               Text( | ||||
|                 context.translation.viewDetails, | ||||
|                 style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), | ||||
|               ), | ||||
|               4.width, | ||||
|               Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) | ||||
|             ], | ||||
|           ), | ||||
|         ], | ||||
|       ).toShadowContainer(context, withShadow: showShadow).onPress(() async { | ||||
|         Navigator.push(context, MaterialPageRoute(builder: (context) => TrafRequestDetailPage(trafId: requestDetails!.id!))); | ||||
|         // Navigator.of(context).push(MaterialPageRoute( | ||||
|         //     builder: (_) => TaskRequestDetailsView( | ||||
|         //           taskId: requestData!.id!, | ||||
|         //           requestDetails: RequestsDetails(nameOfType: requestData?.nameOfType, status: requestData?.statusName, priority: requestData?.priorityName, date: requestData?.transactionDate), | ||||
|         //         ))); | ||||
|       }); | ||||
|     } | ||||
|     return Column( | ||||
|       crossAxisAlignment: CrossAxisAlignment.start, | ||||
|       children: [ | ||||
|         Row( | ||||
|           crossAxisAlignment: CrossAxisAlignment.start, | ||||
|           children: [ | ||||
|             // StatusLabel( | ||||
|             //   label: requestDetails!.priority!, | ||||
|             //   textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails?.priority!), | ||||
|             //   backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails?.priority!), | ||||
|             // ), | ||||
|             // 8.width, | ||||
|             StatusLabel( | ||||
|               label: requestDetails!.status!, | ||||
|               textColor: AppColor.getRequestStatusTextColorByName(context, requestDetails?.status!), | ||||
|               backgroundColor: AppColor.getRequestStatusColorByName(context, requestDetails?.status!), | ||||
|             ), | ||||
|             1.width.expanded, | ||||
|             Text( | ||||
|               requestDetails!.date?.toServiceRequestCardFormat ?? "", | ||||
|               textAlign: TextAlign.end, | ||||
|               style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50), | ||||
|             ), | ||||
|           ], | ||||
|         ), | ||||
|         8.height, | ||||
|         (requestDetails?.nameOfType ?? "TRAF Request").heading5(context), | ||||
|         8.height, | ||||
|         infoWidget(label: context.translation.requestType, value: requestDetails!.requestType, context: context), | ||||
|         infoWidget(label: "TRAF No", value: requestDetails!.requestNo, context: context), | ||||
|         infoWidget(label: context.translation.site, value: requestDetails!.site, context: context), | ||||
|         8.height, | ||||
|         Row( | ||||
|           mainAxisSize: MainAxisSize.min, | ||||
|           children: [ | ||||
|             Text( | ||||
|               context.translation.viewDetails, | ||||
|               style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)), | ||||
|             ), | ||||
|             4.width, | ||||
|             Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14) | ||||
|           ], | ||||
|         ), | ||||
|       ], | ||||
|     ).toShadowContainer(context, withShadow: showShadow).onPress(() async { | ||||
|       Navigator.push(context, MaterialPageRoute(builder: (context) => TrafRequestDetailPage(trafId: requestDetails!.id!))); | ||||
|     }); | ||||
|   } | ||||
| 
 | ||||
|   Widget infoWidget({required String label, String? value, required BuildContext context}) { | ||||
|     if (value != null && value.isNotEmpty) { | ||||
|       return '$label:  $value'.bodyText(context); | ||||
|     } | ||||
|     return const SizedBox(); | ||||
|   } | ||||
| } | ||||
					Loading…
					
					
				
		Reference in New Issue