Private _allowPrivate _destroy$Private _groupsPrivate _hasPrivate _initializedPrivate Optional _intersectionPrivate _layoutPrivate _orientationPrivate _scroll$Private _segmentPrivate _selectedPrivate _sortOptional actionsCustom template for card actions. Context: { event, actions }
Emitted after an action button is clicked.
Emitted after an event card is clicked.
Emitted after an event card collapses.
Emitted after an event card expands.
Emitted after hover state changes.
Emitted after data loading completes.
Emitted after a time segment collapses.
Emitted after a time segment expands.
All flattened events (for non-segmented display).
ARIA label for the timeline container.
'Timeline'
Emitted before an action button is clicked. Set cancel = true to prevent.
Emitted before an event card is clicked. Set cancel = true to prevent.
Emitted before an event card collapses. Set cancel = true to prevent.
Emitted before an event card expands. Set cancel = true to prevent.
Emitted before hover state changes. Set cancel = true to prevent.
Emitted before data loading begins. Set cancel = true to prevent.
Emitted before a time segment collapses. Set cancel = true to prevent.
Emitted before a time segment expands. Set cancel = true to prevent.
Optional bodyCustom template for card body. Context: { event }
Optional cardCustom template for entire card. Context: { event, group }
Private cdrDefault card configuration applied to all groups. Individual groups can override these settings.
Private elementIcon shown with empty message.
'fa-regular fa-calendar-xmark'
Message shown when no events exist.
'No events to display'
Optional emptyCustom template for empty state.
Enable keyboard navigation.
true
Index of currently focused event (for keyboard navigation).
Optional headerCustom template for card header. Context: { event }
Whether initial load is complete.
Whether currently loading data.
Message shown while loading.
'Loading timeline...'
Optional loadingCustom template for loading state.
Private ngOptional scrollVirtual scroll state.
Optional segmentCustom template for segment header. Context: { segment }
Current time segments with events.
Whether time segments can be collapsed.
true
Whether segments start expanded.
true
Virtual scrolling configuration.
Controls whether data loading is allowed. Set to false to defer loading until ready.
true
Array of timeline groups to display. Each group defines a data source and display configuration.
Layout mode for vertical timeline.
single: All cards on one sidealternating: Cards alternate sides'single'
Timeline orientation.
vertical: Events displayed top-to-bottomhorizontal: Events displayed left-to-right'vertical'
How to group events into time segments.
'month'
ID of the currently selected event. When set, the corresponding event will be highlighted with the focused style.
Sort order for events.
desc: Newest firstasc: Oldest first'desc'
Private activatePrivate buildPrivate collapseCollapses an event with events.
Optional domEvent: EventPrivate collapsePrivate collapseCollapses a segment.
Private createCreates a timeline event from a source record.
Private didCheck if timeline groups have meaningfully changed
Private expandExpands an event with events.
Optional domEvent: EventPrivate expandExpands a segment.
Private focusPrivate focusPrivate focusPrivate focusPrivate formatGets the actions for an event.
Gets all events (flattened).
Gets the color for a group/event.
Gets the effective card config for an event.
Gets an event by ID.
Gets the value of a display field from an event.
Gets the global index of an event in the allEvents array.
Gets the icon for a group/event.
Private getChecks if an event is currently selected/focused. An event is selected if either:
Private loadPrivate loadLoads data from MemberJunction entity.
Private loadLoads data from a single group.
Private loadPrivate mapMaps event config to card config properties.
Handles action button click.
Handles click on an event card.
Handles mouse enter on an event card.
Handles mouse leave on an event card.
Private onHandles segment header click.
Handles expand/collapse toggle on an event.
Private scrollPrivate setSets event expanded state.
Private setSets segment expanded state without events.
Private setupPrivate sortPrivate toggleToggles event expanded state.
Optional domEvent: EventTrack by function for ngFor.
Track by function for segments.
MJ Timeline Component - Displays chronological data in a rich, interactive timeline.
The timeline component supports multiple data groups, virtual scrolling for large datasets, collapsible time segments, and a comprehensive event system that allows container components to intercept and modify behavior.
Example: Basic usage
Example: Full configuration