Brian Kayfitz
Committed by GitHub

Add helper functions to replace text styles and cell content

@@ -24,6 +24,10 @@ import 'text_style.dart'; @@ -24,6 +24,10 @@ import 'text_style.dart';
24 import 'theme.dart'; 24 import 'theme.dart';
25 import 'widget.dart'; 25 import 'widget.dart';
26 26
  27 +typedef OnCell = Widget? Function(int index, dynamic data, int rowNum);
  28 +typedef OnCellTextStyle = TextStyle? Function(
  29 + int index, dynamic data, int rowNum);
  30 +
27 mixin TableHelper { 31 mixin TableHelper {
28 static TextAlign _textAlign(Alignment align) { 32 static TextAlign _textAlign(Alignment align) {
29 if (align.x == 0) { 33 if (align.x == 0) {
@@ -71,6 +75,8 @@ mixin TableHelper { @@ -71,6 +75,8 @@ mixin TableHelper {
71 BoxDecoration? oddRowDecoration, 75 BoxDecoration? oddRowDecoration,
72 TextDirection? headerDirection, 76 TextDirection? headerDirection,
73 TextDirection? tableDirection, 77 TextDirection? tableDirection,
  78 + OnCell? cellBuilder,
  79 + OnCellTextStyle? textStyleBuilder,
74 }) { 80 }) {
75 assert(headerCount >= 0); 81 assert(headerCount >= 0);
76 82
@@ -161,11 +167,14 @@ mixin TableHelper { @@ -161,11 +167,14 @@ mixin TableHelper {
161 : cellDecoration(tableRow.length, cell, rowNum), 167 : cellDecoration(tableRow.length, cell, rowNum),
162 child: cell is Widget 168 child: cell is Widget
163 ? cell 169 ? cell
164 - : Text( 170 + : cellBuilder?.call(tableRow.length, cell, rowNum) ??
  171 + Text(
165 cellFormat == null 172 cellFormat == null
166 ? cell.toString() 173 ? cell.toString()
167 : cellFormat(tableRow.length, cell), 174 : cellFormat(tableRow.length, cell),
168 - style: isOdd ? oddCellStyle : cellStyle, 175 + style: textStyleBuilder?.call(
  176 + tableRow.length, cell, rowNum) ??
  177 + (isOdd ? oddCellStyle : cellStyle),
169 textAlign: _textAlign(align.resolve(textDirection)), 178 textAlign: _textAlign(align.resolve(textDirection)),
170 textDirection: tableDirection, 179 textDirection: tableDirection,
171 ), 180 ),