The type of the source records. Defaults to any for maximum
flexibility. MemberJunction users can specify BaseEntity subclasses
for full type safety.
The type of the source records. Defaults to any for maximum
flexibility. MemberJunction users can specify BaseEntity subclasses
for full type safety.
OptionalCardCard display configuration for this group.
Defines how event cards are rendered.
If not set, uses the component's defaultCardConfig.
How data is provided to the timeline.
'array': Data is provided via the EntityObjects array (works with any object type)'entity': Data is loaded using MemberJunction's RunView (requires MJ core)Field name for the event date. Used for chronological ordering and date display.
OptionalDescriptionField name for the description/body text. Displayed in the card body when expanded.
OptionalDisplayCustom color for this group's markers and accents.
Only used when DisplayColorMode is 'manual'.
Any valid CSS color value.
Color assignment mode.
'auto': System assigns colors based on group index'manual': Uses the color specified in DisplayColorOptionalDisplayCustom icon class (Font Awesome).
Only used when DisplayIconMode is 'custom'.
Icon display mode.
'standard': Uses a default icon based on the group index'custom': Uses the icon specified in DisplayIconOptionalEntityThe MemberJunction entity name for this group.
Required when DataSourceType is 'entity'.
Pre-loaded data array.
Used when DataSourceType is 'array', or populated after loading when using 'entity'.
OptionalEventCustom function to configure individual events. Allows per-event customization of icons, colors, and actions.
The source record
Configuration overrides for this event
OptionalFilterSQL WHERE clause filter for entity queries.
Only used when DataSourceType is 'entity'.
OptionalGroupHuman-readable label for this group. Used in legends, headers, or when distinguishing multiple groups.
OptionalIdField name for the unique record ID. Defaults to 'ID' or 'id' if not specified.
OptionalImageField name containing an image URL. When set, displays an image in the card.
OptionalMaxMaximum number of records to load per batch. Used for virtual scrolling.
OptionalOrderSQL ORDER BY clause for entity queries.
Only used when DataSourceType is 'entity'.
OptionalSubtitleField name for the subtitle. Displayed below the title in smaller text.
OptionalSummaryCustom function to generate the event summary/description.
Takes precedence over DescriptionFieldName.
Field name for the event title. This is the primary text displayed on each timeline card.
Gets the description from a record.
The source record
The description string, or undefined
Gets the effective card configuration, merging with defaults.
The merged card configuration
Gets the event configuration for a specific record.
The source record
The event configuration (from EventConfigFunction or defaults)
Gets the ID of a record in this group.
The source record
The record ID
Gets the image URL from a record.
The source record
The image URL, or undefined
Gets the subtitle from a record.
The source record
The subtitle string, or undefined
Extracts a field value from a record in this group.
The source record
The field name to extract
The field value
StaticFromCreates a TimelineGroup from a plain array of objects.
This is a convenience method that sets up the group for array-based data.
Array of objects to display
Configuration for field mappings
A configured TimelineGroup
StaticFromCreates a TimelineGroup from MemberJunction RunViewParams.
This is a convenience method for MemberJunction applications. It loads data immediately and returns a configured group.
Note: This method requires @memberjunction/core to be available.
It will throw an error if used in non-MJ applications.
RunView parameters for loading data
A configured TimelineGroup with loaded data
Configures a data source for the timeline component.
TimelineGroup defines how records are loaded, which fields to display, and how they should be styled. Multiple groups can be used to display different types of events on the same timeline.
Example: Basic usage with plain objects
Example: MemberJunction usage with BaseEntity
Example: With full configuration