OptionalactionsCustom 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.
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.
OptionalbodyCustom template for card body. Context: { event }
OptionalcardCustom template for entire card. Context: { event, group }
Default card configuration applied to all groups. Individual groups can override these settings.
Icon shown with empty message.
Message shown when no events exist.
OptionalemptyCustom template for empty state.
Enable keyboard navigation.
Index of currently focused event (for keyboard navigation).
OptionalheaderCustom template for card header. Context: { event }
Whether initial load is complete.
Whether currently loading data.
Message shown while loading.
OptionalloadingCustom template for loading state.
OptionalscrollVirtual scroll state.
OptionalsegmentCustom template for segment header. Context: { segment }
Current time segments with events.
Whether time segments can be collapsed.
Whether segments start expanded.
Virtual scrolling configuration.
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 sidesTimeline orientation.
vertical: Events displayed top-to-bottomhorizontal: Events displayed left-to-rightID of the currently selected event. When set, the corresponding event will be highlighted with the focused style.
Collapses all event cards.
Collapses all time segments.
Collapses a specific event by ID.
Expands all event cards.
Expands all time segments.
Expands a specific event by ID.
Formats a date for display.
Optionalformat: stringGets all events (flattened).
Gets the effective card config for an event.
Gets the value of a display field from an event.
Gets the global index of an event in the allEvents array.
Checks if an event is currently selected/focused. An event is selected if either:
Loads more events (for virtual scrolling).
A callback method that is invoked immediately after Angular has completed initialization of a component's view. It is invoked only once when the view is instantiated.
A callback method that performs custom clean-up, invoked immediately before a directive, pipe, or service instance is destroyed.
A callback method that is invoked immediately after the default change detector has checked the directive's data-bound properties for the first time, and before any of the view or content children have been checked. It is invoked only once when the directive is instantiated.
Handles action button click.
Handles click on an event card.
Handles mouse enter on an event card.
Handles mouse leave on an event card.
Handles keyboard navigation.
Handles scroll events for virtual scrolling.
Handles expand/collapse toggle on an event.
Refreshes all data from the configured groups. Clears existing data and reloads from sources.
Scrolls to a specific date.
Scrolls to a specific event.
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