Cinder.Column (Cinder v0.5.0)
View SourceColumn configuration and type inference for Cinder table components.
Provides intelligent column parsing that can automatically infer filter types, sort capabilities, and display options from Ash resource definitions. Supports relationship fields using dot notation (e.g., "user.name").
Summary
Functions
Infers column configuration from Ash resource attribute definitions.
Merges slot configuration with inferred defaults.
Parses a single column definition with automatic type inference.
Parses and normalizes column definitions from slots and resource information.
Validates a column configuration.
Types
@type t() :: %Cinder.Column{ class: String.t(), display_field: String.t() | nil, field: String.t(), filter_fn: function() | nil, filter_options: keyword(), filter_type: atom(), filterable: boolean(), label: String.t(), options: list(), relationship: String.t() | nil, search_fn: function() | nil, searchable: boolean(), slot: map(), sort_fn: function() | nil, sortable: boolean() }
Functions
Infers column configuration from Ash resource attribute definitions.
Merges slot configuration with inferred defaults.
Parses a single column definition with automatic type inference.
Parses and normalizes column definitions from slots and resource information.
Parameters
slots
- List of column slot definitionsresource
- Ash resource module for type inference
Returns
List of normalized Column structs
Validates a column configuration.