getColumnMenuState function

ColumnMenuState getColumnMenuState(
  1. GridController controller,
  2. ColId colId
)

Extract the current state of a column for menu display.

Implementation

ColumnMenuState getColumnMenuState(GridController controller, ColId colId) {
  final spec = controller.schema.column(colId);
  final sortKey = controller.sortKeys.where((k) => k.col == colId).firstOrNull;
  final hasFilter = controller.filters.containsKey(colId);
  final frozen = controller.freezeOf(colId);

  return ColumnMenuState(
    colId: colId,
    header: spec?.header ?? colId,
    kind: spec?.kind ?? CellKind.text,
    currentSortDirection: sortKey?.col == colId ? sortKey?.direction : null,
    hasFilter: hasFilter,
    frozenSide: frozen,
  );
}