passengerDetailsTable method
Implementation
Table passengerDetailsTable({Color? color}) {
return Table(
border: const TableBorder(
horizontalInside: BorderSide(
width: 0.5,
color: ColorHelper.grey01,
),
),
columnWidths: const {
0: FlexColumnWidth(1.3),
1: FlexColumnWidth(0.8),
2: FlexColumnWidth(1.3),
3: FlexColumnWidth(1.5),
4: FlexColumnWidth(1.3),
5: FlexColumnWidth(1.2),
6: FlexColumnWidth(1),
7: FlexColumnWidth(1.2),
},
defaultVerticalAlignment: TableCellVerticalAlignment.middle,
children: [
TableRow(
children: [
tableLabel('Full Name'),
tableLabel('Gender'),
tableLabel('Passport Number'),
tableLabel('Passport Issuing Country'),
tableLabel('Passport Expiry Date'),
tableLabel('Nationality'),
tableLabel('Date of birth'),
tableLabel('Type'),
],
),
...List.generate((history.passengers?.length ?? 0), (index) {
Passengers item = history.passengers![index];
return TableRow(
decoration: BoxDecoration(
color: index % 2 == 0
? color ?? ColorHelper.background
: Colors.white,
),
children: [
buildTableCell(item.fullName.capitalize ?? ''),
buildTableCell(_genderText(item.gender)),
buildTableCell(item.passportNo?.toUpperCase() ?? ''),
buildTableCell(Constants.ALL_COUNTRIES_ALPHA_2.containsValue(item.passportIssuingCountry ?? '')? Constants.ALL_COUNTRIES_ALPHA_2.entries.firstWhere((e)=>(e.value == item.passportIssuingCountry)).key : item.passportIssuingCountry ?? '' ),
buildTableCell(item.passportExpiry != null? DateFormat('dd-MM-yyyy').format(DateTime.parse(item.passportExpiry!)): 'N/A'),
buildTableCell(item.nationality ?? ''),
buildTableCell(item.dob != null? DateFormat('dd-MM-yyyy').format(DateTime.parse(item.dob!)): 'N/A'),
buildTableCell(PassengersUtils.passengerText(item.type)),
],
);
}),
],
);
}