generateDataRow static method

DataRow generateDataRow(
  1. SelectModel selectModel,
  2. int index,
  3. ItemSelect itemSelect,
  4. BuildContext context,
  5. Map? data,
  6. dynamic onSelected(
    1. ItemSelect,
    2. bool,
    3. int index
    ),
  7. Function reloadData,
  8. int typeScreen,
  9. DataSource? dataSource, {
  10. 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;
}