updateDataTableRows method Null safety

void updateDataTableRows()

Implementation

void updateDataTableRows() {
  _cowRows = cows.mapIndexed((e, index) {
    return DataTableRow(
      id: e.id,
      cells: [
        DataTableCell(
          id: e.id,
          child: Icon(Icons.edit, color: CustomColors.cool_grey),
          onTap: () {
            EventService().eventBus.fire(PopupEvent(type: PopupType.updateCow, action: PopupAction.show, data: {"cow": e}));
          },
        ),
        DataTableCell(id: e.id, text: "${e.sensor != null ? e.sensor?.id : '-'}"),
        DataTableCell(id: e.id, text: e.managementNumber),
        DataTableCell(
            id: e.id,
            text: e.groups
                .map((group) {
                  return group.name;
                })
                .toList()
                .join(", ")),
        DataTableCell(id: e.id, text: e.sexCodeToStr),
        DataTableCell(id: e.id, text: e.birth != null ? DateFormat(StringConstants.timeYMDDashFormat).format(e.birth!) : "-"),
        DataTableCell(id: e.id, text: e.birthWeight.toString()),
        DataTableCell(id: e.id, text: e.memo),
      ],
      selected: e.isSelected,
      onSelectChanged: (bool? value) {
        cows[index].isSelected = value!;
        LogManager().addLog("${cows[index].id}(${cows[index].managementNumber}) row ${cows[index].isSelected ? "선택" : "선택해제"}", action: LogConstants.graphRowTap, screen: runtimeType.toString());
        notifyListeners();
      },
    );
  }).toList();

  _groupRows = ApiService().cowGroupState.cowGroups.mapIndexed((e, index) {
    return DataTableRow(
      id: "${e.id}",
      cells: [
        DataTableCell(id: "${e.id}", text: e.name, showEditIcon: true),
        DataTableCell(id: "${e.id}", child: SvgPicture.asset("assets/icons/ic_chevron_vertical.svg", height: 20, width: 20, semanticsLabel: '드래그')),
        // DataTableCell(id: e.id, child: Text("11")),
      ],
      selected: e.isSelected,
      onSelectChanged: (bool? value) {
        ApiService().cowGroupState.cowGroups[index].isSelected = value!;
        notifyListeners();
      },
    );
  }).toList();
}