saveColumnState method
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);
}