TTableHeader<T, K>.row constructor
TTableHeader<T, K>.row (
- String text,
- List<
Widget> builder(- T
- int? flex,
- double? minWidth,
- double? maxWidth,
- Alignment? alignment,
- double spacing = 8.0,
- double runSpacing = 4.0,
- WrapCrossAlignment crossAxisAlignment = WrapCrossAlignment.center,
- WrapAlignment wrapAlignment = WrapAlignment.start,
- String? key,
- TFilterType? filterType,
- bool filterable = false,
- List<
TFilterOperator> ? filterOperators, - List? filterItems,
- TFilterDef<
T> ? filterDef, - double widthEstimator(
- T data
- bool flattenOnMobile = false,
- String mobileKeyPrefixBuilder()?,
- List<
TKeyValue> keyValuesBuilder(- T data
Creates a header for displaying multiple widgets in a horizontal row/wrap in table cells.
Implementation
TTableHeader.row(
this.text,
List<Widget> Function(T) builder, {
this.flex,
this.minWidth,
this.maxWidth,
this.alignment,
double spacing = 8.0,
double runSpacing = 4.0,
WrapCrossAlignment crossAxisAlignment = WrapCrossAlignment.center,
WrapAlignment wrapAlignment = WrapAlignment.start,
this.key,
this.filterType,
this.filterable = false,
this.filterOperators,
this.filterItems,
this.filterDef,
this.widthEstimator,
this.flattenOnMobile = false,
this.mobileKeyPrefixBuilder,
this.keyValuesBuilder,
}) : map = null,
builder = ((ctx, item, __) {
final isDense = TTableScope.maybeOf(ctx)?.dense ?? false;
final widgets = builder(item.data);
if (widgets.isEmpty) return const SizedBox.shrink();
return Wrap(
spacing: isDense ? spacing * 0.75 : spacing,
runSpacing: isDense ? runSpacing * 0.75 : runSpacing,
crossAxisAlignment: crossAxisAlignment,
alignment: wrapAlignment,
children: widgets,
);
});