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();
}