calculateColumnWidths<T> static method
Map<int, TableColumnWidth>
calculateColumnWidths<T>(
- List<
TTableHeader< headers,T> > - bool selectable,
- bool expandable
Implementation
static Map<int, TableColumnWidth> calculateColumnWidths<T>(List<TTableHeader<T>> headers, bool selectable, bool expandable) {
Map<int, TableColumnWidth> columnWidths = {};
int columnIndex = 0;
if (selectable) {
columnWidths[columnIndex] = const FixedColumnWidth(40);
columnIndex++;
}
if (expandable) {
columnWidths[columnIndex] = const FixedColumnWidth(40);
columnIndex++;
}
for (int i = 0; i < headers.length; i++) {
final header = headers[i];
if (header.maxWidth != null && header.maxWidth != double.infinity) {
columnWidths[columnIndex] = FixedColumnWidth(header.maxWidth!);
} else if (header.minWidth != null && header.minWidth! > 0) {
columnWidths[columnIndex] = FixedColumnWidth(header.minWidth!);
} else {
columnWidths[columnIndex] = FlexColumnWidth(header.flex?.toDouble() ?? 1.0);
}
columnIndex++;
}
return columnWidths;
}