ReadableTableController<T> constructor

ReadableTableController<T>({
  1. required List<ReadableColumn<T>> columns,
  2. List<T>? rows,
  3. ReadableSelectionMode selectionMode = ReadableSelectionMode.none,
  4. Set<int>? selectedRows,
  5. Set<ReadableCell>? selectedCells,
  6. int? sortColumn,
  7. bool sortAscending = true,
  8. List<ReadableFilter>? filters,
  9. ReadableFilterJoin filterJoin = ReadableFilterJoin.all,
  10. String query = '',
  11. Iterable<int>? quickSearchColumns,
  12. ReadableFilterGroup? filterGroup,
})

Implementation

ReadableTableController({
  required List<ReadableColumn<T>> columns,
  List<T>? rows,
  this.selectionMode = ReadableSelectionMode.none,
  Set<int>? selectedRows,
  Set<ReadableCell>? selectedCells,
  int? sortColumn,
  bool sortAscending = true,
  List<ReadableFilter>? filters,
  ReadableFilterJoin filterJoin = ReadableFilterJoin.all,
  String query = '',
  Iterable<int>? quickSearchColumns,
  ReadableFilterGroup? filterGroup,
})  : columns = List.unmodifiable(columns),
      _all = [...?rows] {
  _order.addAll(List<int>.generate(columns.length, (i) => i));
  _selRows.addAll(selectedRows ?? const {});
  _selCells.addAll(selectedCells ?? const {});
  if (filters != null) _filters.addAll(filters);
  _join = filterJoin;
  _query = query;
  if (quickSearchColumns != null) _quickCols = {...quickSearchColumns};
  if (sortColumn != null && sortColumn >= 0 && sortColumn < columns.length) {
    _sortCol = sortColumn;
    _sortDir = sortAscending ? ReadableSortDir.asc : ReadableSortDir.desc;
  }
  if (filterGroup != null && filterGroup.isNotEmpty) _filterGroup = filterGroup;
  _recompute(notify: false);
}