saveColumnState method

void saveColumnState({
  1. String? tableId,
})
inherited

Saves the current leaf-column state when persistence is enabled.

Implementation

void saveColumnState({String? tableId}) {
  if (tableId == null || buildedHeaderRows.isEmpty) {
    return;
  }

  final columnState = <int, ColumnState>{};
  final columns = buildedHeaderRows.last.columns;
  final useSourceKeys = _hasUniqueSourceColumnIndexes(columns);
  for (var displayIndex = 0; displayIndex < columns.length; displayIndex++) {
    final column = columns[displayIndex];
    final userResized = isColumnUserResized(displayIndex);
    columnState[useSourceKeys ? column.sourceColumnIndex : displayIndex] = ColumnState(
      width: userResized ? column.width.value : null,
      visible: column.visible.value,
      pinLeft: column.pinLeft.value,
      pinRight: column.pinRight.value,
      userResized: userResized,
    );
  }
  ColumnStatePersistenceService.saveColumnState(columnState, tableId: tableId);
}