OptionalActionsCustom template for card actions. Context: { event, actions }
Use AfterActionClick.
The same emitter under the old binding name, so a template still binding (afterActionClick) keeps working. Must stay AFTER AfterActionClick: class fields initialise in order, and the other way round this captures undefined.
Emitted after an action button is clicked.
Use AfterEventClick.
The same emitter under the old binding name, so a template still binding (afterEventClick) keeps working. Must stay AFTER AfterEventClick: class fields initialise in order, and the other way round this captures undefined.
Emitted after an event card is clicked.
Use AfterEventCollapse.
The same emitter under the old binding name, so a template still binding (afterEventCollapse) keeps working. Must stay AFTER AfterEventCollapse: class fields initialise in order, and the other way round this captures undefined.
Emitted after an event card collapses.
Use AfterEventExpand.
The same emitter under the old binding name, so a template still binding (afterEventExpand) keeps working. Must stay AFTER AfterEventExpand: class fields initialise in order, and the other way round this captures undefined.
Emitted after an event card expands.
Use AfterEventHover.
The same emitter under the old binding name, so a template still binding (afterEventHover) keeps working. Must stay AFTER AfterEventHover: class fields initialise in order, and the other way round this captures undefined.
Emitted after hover state changes.
Use AfterLoad.
The same emitter under the old binding name, so a template still binding (afterLoad) keeps working. Must stay AFTER AfterLoad: class fields initialise in order, and the other way round this captures undefined.
Emitted after data loading completes.
Use AfterSegmentCollapse.
The same emitter under the old binding name, so a template still binding (afterSegmentCollapse) keeps working. Must stay AFTER AfterSegmentCollapse: class fields initialise in order, and the other way round this captures undefined.
Emitted after a time segment collapses.
Use AfterSegmentExpand.
The same emitter under the old binding name, so a template still binding (afterSegmentExpand) keeps working. Must stay AFTER AfterSegmentExpand: class fields initialise in order, and the other way round this captures undefined.
Emitted after a time segment expands.
All flattened events (for non-segmented display).
ARIA label for the timeline container.
Use BeforeActionClick.
The same emitter under the old binding name, so a template still binding (beforeActionClick) keeps working. Must stay AFTER BeforeActionClick: class fields initialise in order, and the other way round this captures undefined.
Emitted before an action button is clicked. Set cancel = true to prevent.
Use BeforeEventClick.
The same emitter under the old binding name, so a template still binding (beforeEventClick) keeps working. Must stay AFTER BeforeEventClick: class fields initialise in order, and the other way round this captures undefined.
Emitted before an event card is clicked. Set cancel = true to prevent.
Use BeforeEventCollapse.
The same emitter under the old binding name, so a template still binding (beforeEventCollapse) keeps working. Must stay AFTER BeforeEventCollapse: class fields initialise in order, and the other way round this captures undefined.
Emitted before an event card collapses. Set cancel = true to prevent.
Use BeforeEventExpand.
The same emitter under the old binding name, so a template still binding (beforeEventExpand) keeps working. Must stay AFTER BeforeEventExpand: class fields initialise in order, and the other way round this captures undefined.
Emitted before an event card expands. Set cancel = true to prevent.
Use BeforeEventHover.
The same emitter under the old binding name, so a template still binding (beforeEventHover) keeps working. Must stay AFTER BeforeEventHover: class fields initialise in order, and the other way round this captures undefined.
Emitted before hover state changes. Set cancel = true to prevent.
Use BeforeLoad.
The same emitter under the old binding name, so a template still binding (beforeLoad) keeps working. Must stay AFTER BeforeLoad: class fields initialise in order, and the other way round this captures undefined.
Emitted before data loading begins. Set cancel = true to prevent.
Emitted before a time segment collapses. Set cancel = true to prevent.
Use BeforeSegmentExpand.
The same emitter under the old binding name, so a template still binding (beforeSegmentExpand) keeps working. Must stay AFTER BeforeSegmentExpand: class fields initialise in order, and the other way round this captures undefined.
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.
If specified, this provider will be used for communication and for all metadata purposes. By default, if not provided, the Metadata and RunView classes are used for this and the default GraphQLDataProvider is used which is connected to the same back-end MJAPI instance as the Metadata and RunView classes. If you want to have this component connect to a different MJAPI back-end, create an instance of a ProviderBase sub-class like GraphQLDataProvider/etc, and configure it as appropriate to connect to the MJAPI back-end you want to use, and then pass it in here.
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.
StaticɵdirStaticɵfacUse ActionsTemplate.
Use ActionsTemplate.
Use AllEvents.
Use AllowLoad.
Use BodyTemplate.
Use BodyTemplate.
Use CardTemplate.
Use CardTemplate.
Use DefaultCardConfig.
Use EmptyTemplate.
Use FocusedEventIndex.
Use Groups.
Array of timeline groups to display. Each group defines a data source and display configuration.
Use HeaderTemplate.
Use HeaderTemplate.
Use IsInitialized.
Use Layout.
Layout mode for vertical timeline.
single: All cards on one sidealternating: Cards alternate sidesUse LoadingTemplate.
Use Orientation.
Timeline orientation.
vertical: Events displayed top-to-bottomhorizontal: Events displayed left-to-rightReturns either the default Metadata provider or the one specified in the Provider property, if it was specified
Returns either the default RunQuery provider or the one specified in the Provider property, if it was specified
Returns either the default RunView provider or the one specified in the Provider property, if it was specified
Use ScrollContainer.
Use ScrollState.
Use SegmentGrouping.
Use Segments.
Use SelectedEventId.
ID of the currently selected event. When set, the corresponding event will be highlighted with the focused style.
Use SortOrder.
Use VirtualScroll.
Use CollapseAllEvents.
Collapses all event cards.
Use CollapseAllSegments.
Collapses all time segments.
Collapses a specific event by ID.
Use ExpandAllEvents.
Expands all event cards.
Use ExpandAllSegments.
Expands all time segments.
Expands a specific event by ID.
Formats a date for display.
Optionalformat: stringUse GetAllEvents.
Gets all events (flattened).
Gets the effective card config for an event.
Use GetFieldValue.
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:
Use LoadMore.
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.
Use OnActionClick.
Handles action button click.
Use OnEventClick.
Handles click on an event card.
Use OnEventMouseEnter.
Handles mouse enter on an event card.
Use OnEventMouseLeave.
Handles mouse leave on an event card.
Handles keyboard navigation.
Handles scroll events for virtual scrolling.
Use OnToggleExpand.
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.
Use ScrollToEvent.
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