synchronizeGroupedHeaderVisibility method

void synchronizeGroupedHeaderVisibility()
inherited

Makes grouped headers visible whenever at least one covered leaf is visible.

Implementation

void synchronizeGroupedHeaderVisibility() {
  if (buildedHeaderRows.isEmpty) {
    return;
  }

  final leafColumns = buildedHeaderRows.last.columns;
  for (final row in buildedHeaderRows.take(buildedHeaderRows.length - 1)) {
    var logicalColumnIndex = 0;
    for (final column in row.columns) {
      final span = column.combinedColumns ?? 1;
      column.visible.value = leafColumns.skip(logicalColumnIndex).take(span).any((leaf) => leaf.visible.value);
      logicalColumnIndex += span;
    }
  }
}