TTableHeader<T, K>.datetime constructor

TTableHeader<T, K>.datetime(
  1. String text,
  2. Object? map(
    1. T
    )?, {
  3. int? flex,
  4. double? minWidth,
  5. double? maxWidth,
  6. Alignment? alignment,
  7. bool utc = true,
  8. String? key,
  9. TFilterType? filterType = TFilterType.dateTime,
  10. bool filterable = true,
  11. List<TFilterOperator>? filterOperators,
  12. List? filterItems,
  13. TFilterDef<T>? filterDef,
  14. double widthEstimator(
    1. T data
    )?,
  15. bool flattenOnMobile = false,
  16. String mobileKeyPrefixBuilder(
    1. String headerText,
    2. String childKey
    )?,
  17. List<TKeyValue> keyValuesBuilder(
    1. T data
    )?,
})

Create an date formatter

Implementation

TTableHeader.datetime(
  this.text,
  this.map, {
  this.flex,
  this.minWidth,
  this.maxWidth,
  this.alignment,
  bool utc = true,
  this.key,
  this.filterType = TFilterType.dateTime,
  this.filterable = true,
  this.filterOperators,
  this.filterItems,
  this.filterDef,
  this.widthEstimator,
  this.flattenOnMobile = false,
  this.mobileKeyPrefixBuilder,
  this.keyValuesBuilder,
}) : builder = ((_, item, __) {
        final value = map?.call(item.data)?.toString();
        if (value.isNullOrBlank) return SizedBox.shrink();

        final dateTime = utc ? TFormatter.parseUtcISO(value!)?.toLocal() : DateTime.tryParse(value!);
        return dateTime != null ? TDateTimeText(dateTime: dateTime) : SizedBox.shrink();
      });