pub struct ColumnDef<TData> {Show 30 fields
pub id: Arc<str>,
pub columns: Vec<ColumnDef<TData>>,
pub sort_cmp: Option<Arc<dyn Fn(&TData, &TData) -> Ordering>>,
pub sorting_fn: Option<SortingFnSpec>,
pub sort_value: Option<Arc<dyn Fn(&TData) -> TanStackValue>>,
pub sort_undefined: Option<SortUndefined>,
pub sort_is_undefined: Option<Arc<dyn Fn(&TData) -> bool>>,
pub filtering_fn: Option<FilteringFnSpec>,
pub filter_fn: Option<Arc<dyn Fn(&TData, &Value) -> bool>>,
pub filter_fn_with_meta: Option<Arc<dyn Fn(&TData, &Value, &mut dyn FnMut(Value)) -> bool>>,
pub facet_key_fn: Option<Arc<dyn Fn(&TData) -> u64>>,
pub facet_str_fn: Option<Arc<dyn for<'r> Fn(&'r TData) -> &'r str>>,
pub value_u64_fn: Option<Arc<dyn Fn(&TData) -> u64>>,
pub unique_values_fn: Option<Arc<dyn Fn(&TData, usize) -> Vec<TanStackValue>>>,
pub invert_sorting: bool,
pub sort_desc_first: Option<bool>,
pub enable_sorting: bool,
pub enable_multi_sort: bool,
pub enable_column_filter: bool,
pub enable_global_filter: bool,
pub aggregation: Aggregation,
pub aggregation_fn: AggregationFnSpec,
pub enable_hiding: bool,
pub enable_ordering: bool,
pub enable_pinning: bool,
pub enable_resizing: bool,
pub enable_grouping: bool,
pub size: f32,
pub min_size: f32,
pub max_size: f32,
}Fields§
§id: Arc<str>§columns: Vec<ColumnDef<TData>>Child columns for TanStack-style grouped column definitions.
When non-empty, this column is treated as a “group” column for header group generation.
sort_cmp: Option<Arc<dyn Fn(&TData, &TData) -> Ordering>>§sorting_fn: Option<SortingFnSpec>§sort_value: Option<Arc<dyn Fn(&TData) -> TanStackValue>>§sort_undefined: Option<SortUndefined>§sort_is_undefined: Option<Arc<dyn Fn(&TData) -> bool>>§filtering_fn: Option<FilteringFnSpec>§filter_fn: Option<Arc<dyn Fn(&TData, &Value) -> bool>>§filter_fn_with_meta: Option<Arc<dyn Fn(&TData, &Value, &mut dyn FnMut(Value)) -> bool>>§facet_key_fn: Option<Arc<dyn Fn(&TData) -> u64>>§facet_str_fn: Option<Arc<dyn for<'r> Fn(&'r TData) -> &'r str>>§value_u64_fn: Option<Arc<dyn Fn(&TData) -> u64>>§unique_values_fn: Option<Arc<dyn Fn(&TData, usize) -> Vec<TanStackValue>>>§invert_sorting: bool§sort_desc_first: Option<bool>§enable_sorting: bool§enable_multi_sort: bool§enable_column_filter: bool§enable_global_filter: bool§aggregation: Aggregation§aggregation_fn: AggregationFnSpec§enable_hiding: bool§enable_ordering: bool§enable_pinning: bool§enable_resizing: bool§enable_grouping: bool§size: f32§min_size: f32§max_size: f32Implementations§
Source§impl<TData> ColumnDef<TData>
impl<TData> ColumnDef<TData>
pub fn new(id: impl Into<Arc<str>>) -> ColumnDef<TData>
pub fn sort_by( self, cmp: impl Fn(&TData, &TData) -> Ordering + 'static, ) -> ColumnDef<TData>
Sourcepub fn columns(self, columns: Vec<ColumnDef<TData>>) -> ColumnDef<TData>
pub fn columns(self, columns: Vec<ColumnDef<TData>>) -> ColumnDef<TData>
TanStack-aligned: configure columns for grouped column definitions.
Sourcepub fn sort_value_by(
self,
get_value: impl Fn(&TData) -> TanStackValue + 'static,
) -> ColumnDef<TData>
pub fn sort_value_by( self, get_value: impl Fn(&TData) -> TanStackValue + 'static, ) -> ColumnDef<TData>
Provide a TanStack-like getValue(columnId) accessor for built-in sortingFn behaviors.
Sourcepub fn unique_values_by(
self,
get_unique_values: impl Fn(&TData, usize) -> Vec<TanStackValue> + 'static,
) -> ColumnDef<TData>
pub fn unique_values_by( self, get_unique_values: impl Fn(&TData, usize) -> Vec<TanStackValue> + 'static, ) -> ColumnDef<TData>
TanStack-aligned: configure columnDef.getUniqueValues for row.getUniqueValues(columnId).
Sourcepub fn aggregation_fn_auto(self) -> ColumnDef<TData>
pub fn aggregation_fn_auto(self) -> ColumnDef<TData>
TanStack-aligned: configure aggregationFn: 'auto'.
Sourcepub fn aggregation_fn_builtin(
self,
agg: BuiltInAggregationFn,
) -> ColumnDef<TData>
pub fn aggregation_fn_builtin( self, agg: BuiltInAggregationFn, ) -> ColumnDef<TData>
TanStack-aligned: configure a built-in aggregation function key.
Sourcepub fn aggregation_fn_named(self, key: impl Into<Arc<str>>) -> ColumnDef<TData>
pub fn aggregation_fn_named(self, key: impl Into<Arc<str>>) -> ColumnDef<TData>
TanStack-aligned: configure aggregationFn: <string> resolved via options.aggregationFns.
Sourcepub fn aggregation_fn_none(self) -> ColumnDef<TData>
pub fn aggregation_fn_none(self) -> ColumnDef<TData>
Disable aggregation for this column.
Sourcepub fn sorting_fn_auto(self) -> ColumnDef<TData>
pub fn sorting_fn_auto(self) -> ColumnDef<TData>
TanStack-aligned: configure sortingFn: 'auto'.
Sourcepub fn sorting_fn_builtin(
self,
sorting_fn: BuiltInSortingFn,
) -> ColumnDef<TData>
pub fn sorting_fn_builtin( self, sorting_fn: BuiltInSortingFn, ) -> ColumnDef<TData>
TanStack-aligned: configure a built-in sorting function key.
Sourcepub fn sorting_fn_named(self, key: impl Into<Arc<str>>) -> ColumnDef<TData>
pub fn sorting_fn_named(self, key: impl Into<Arc<str>>) -> ColumnDef<TData>
TanStack-aligned: configure sortingFn: <string> resolved via table options.
Sourcepub fn filtering_fn_auto(self) -> ColumnDef<TData>
pub fn filtering_fn_auto(self) -> ColumnDef<TData>
TanStack-aligned: configure filterFn: 'auto'.
Sourcepub fn filtering_fn_builtin(
self,
filter_fn: BuiltInFilterFn,
) -> ColumnDef<TData>
pub fn filtering_fn_builtin( self, filter_fn: BuiltInFilterFn, ) -> ColumnDef<TData>
TanStack-aligned: configure a built-in filter function key.
Sourcepub fn filtering_fn_named(self, key: impl Into<Arc<str>>) -> ColumnDef<TData>
pub fn filtering_fn_named(self, key: impl Into<Arc<str>>) -> ColumnDef<TData>
TanStack-aligned: configure filterFn: <string> resolved via table options.
Sourcepub fn sort_undefined_by(
self,
sort_undefined: SortUndefined,
is_undefined: impl Fn(&TData) -> bool + 'static,
) -> ColumnDef<TData>
pub fn sort_undefined_by( self, sort_undefined: SortUndefined, is_undefined: impl Fn(&TData) -> bool + 'static, ) -> ColumnDef<TData>
TanStack-aligned: configure sortUndefined semantics for this column.
is_undefined must match the column’s getValue(column_id) === undefined behavior in
TanStack.
Sourcepub fn sort_undefined_disabled(self) -> ColumnDef<TData>
pub fn sort_undefined_disabled(self) -> ColumnDef<TData>
TanStack-aligned: sortUndefined: false (disable undefined pre-pass ordering).
Sourcepub fn invert_sorting(self, invert: bool) -> ColumnDef<TData>
pub fn invert_sorting(self, invert: bool) -> ColumnDef<TData>
TanStack-aligned: invert the meaning of asc vs desc for this column.
This mirrors columnDef.invertSorting in TanStack Table v8: after the base sorting
function yields an ordering, the result is inverted.
Sourcepub fn sort_desc_first(self, enabled: bool) -> ColumnDef<TData>
pub fn sort_desc_first(self, enabled: bool) -> ColumnDef<TData>
TanStack-aligned: start sort toggles in descending order for this column.
This mirrors columnDef.sortDescFirst in TanStack Table v8.
Sourcepub fn enable_sorting(self, enabled: bool) -> ColumnDef<TData>
pub fn enable_sorting(self, enabled: bool) -> ColumnDef<TData>
TanStack-aligned: enable/disable sorting for this column.
This mirrors columnDef.enableSorting in TanStack Table v8.
Sourcepub fn enable_multi_sort(self, enabled: bool) -> ColumnDef<TData>
pub fn enable_multi_sort(self, enabled: bool) -> ColumnDef<TData>
TanStack-aligned: enable/disable multi-sort for this column.
This mirrors columnDef.enableMultiSort in TanStack Table v8.
pub fn enable_column_filter(self, enabled: bool) -> ColumnDef<TData>
pub fn enable_global_filter(self, enabled: bool) -> ColumnDef<TData>
pub fn filter_by( self, f: impl Fn(&TData, &str) -> bool + 'static, ) -> ColumnDef<TData>
Sourcepub fn filter_by_with_meta(
self,
f: impl Fn(&TData, &Value, &mut dyn FnMut(Value)) -> bool + 'static,
) -> ColumnDef<TData>
pub fn filter_by_with_meta( self, f: impl Fn(&TData, &Value, &mut dyn FnMut(Value)) -> bool + 'static, ) -> ColumnDef<TData>
Configure a custom filterFn with TanStack-like addMeta support.
Sourcepub fn facet_key_by(
self,
f: impl Fn(&TData) -> u64 + 'static,
) -> ColumnDef<TData>
pub fn facet_key_by( self, f: impl Fn(&TData) -> u64 + 'static, ) -> ColumnDef<TData>
Provide a stable u64 facet key for this column (TanStack-aligned faceting, Rust-native).
Sourcepub fn facet_str_by(
self,
f: impl for<'r> Fn(&'r TData) -> &'r str + 'static,
) -> ColumnDef<TData>
pub fn facet_str_by( self, f: impl for<'r> Fn(&'r TData) -> &'r str + 'static, ) -> ColumnDef<TData>
Provide a string view for this column’s facet value (borrowed from row data; no allocation).
Sourcepub fn value_u64_by(
self,
f: impl Fn(&TData) -> u64 + 'static,
) -> ColumnDef<TData>
pub fn value_u64_by( self, f: impl Fn(&TData) -> u64 + 'static, ) -> ColumnDef<TData>
Provide a stable numeric value for this column.
This is the preferred input for numeric aggregation (and future numeric sorting/filtering).
It is intentionally separate from facet_key_by, which is reserved for grouping/faceting.