generateDataRow static method
DataRow
generateDataRow(
- SelectModel selectModel,
- int index,
- ItemSelect itemSelect,
- BuildContext context,
- Map? data,
- dynamic onSelected(),
- Function reloadData,
- int typeScreen,
- DataSource? dataSource, {
- bool generateActions = true,
Implementation
static DataRow generateDataRow(
SelectModel selectModel,
int index,
ItemSelect itemSelect,
BuildContext context,
Map? data,
Function(ItemSelect, bool, int index) onSelected,
Function reloadData,
int typeScreen,
DataSource? dataSource,
{bool generateActions = true}) {
List<DataCell> cells = [];
for (MapEntry mapEntry in itemSelect.strings.entries) {
cells.add(DataCell(getWidgetLine(
selectModel,
mapEntry,
itemSelect.object is Map ? itemSelect.object : itemSelect.strings,
typeScreen, () {
onSelected(itemSelect, !itemSelect.isSelected, index);
})));
}
if (generateActions && selectModel.actions?.isNotEmpty == true) {
List<Widget> widgets = [];
for (ActionSelect action in selectModel.actions!) {
widgets.add(IconButton(
splashRadius: 24,
color: selectModel.theme.defaultIconActionColor,
tooltip: action.description,
icon: action.icon ?? Text(action.description ?? 'Ação'),
onPressed: () {
UtilsWidget.onAction(context, itemSelect, index, action, data,
reloadData, dataSource);
},
));
}
cells.add(DataCell(Row(children: widgets)));
}
DataRowPlus dataRow = DataRowPlus.byIndex(
index: index,
cells: cells,
onSelectChanged: (b) {
onSelected(itemSelect, b ?? true, index);
},
selected: itemSelect.isSelected);
return dataRow;
}