passengerDetailsTable method

Table passengerDetailsTable({
  1. Color? color,
})

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)),
          ],
        );
      }),
    ],
  );
}