Available date fields from the entity, sorted by priority.
Emitted (with the FULL updated config) whenever the user changes a chrome control.
Active filter text — accepted for contract uniformity; the host pre-filters records.
Whether the current entity has any date fields available for timeline view.
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.
Emitted when a record should be opened — payload is the RAW record object.
Emitted when a timeline event is clicked — payload is the RAW record object.
Primary-key string of the currently selected record, if any (composite-key encoded).
The currently selected date field name for the timeline.
The built timeline groups handed to <mj-timeline>.
Timeline orientation. Named …State to avoid colliding with the imported
TimelineOrientation type symbol.
Timeline segment grouping (day/week/month/...).
Timeline sort order. Named …State (not TimelineSortOrder) to avoid colliding with the
imported TimelineSortOrder type symbol used in the template / signatures.
StaticɵdirStaticɵfacView-type-specific configuration.
This view's persisted configuration. Seeding the chrome controls from it is deferred to
applyConfigToState, called both here (for late updates) and in ngOnInit
(for the initial mount, where the host sets config via setInput before init runs).
The entity whose records are being rendered.
The entity whose records are being rendered. Re-detects date fields + rebuilds groups on change.
Returns either the default Metadata provider or the one specified in the Provider property, if it was specified
The records to render (already loaded/filtered by the host).
The records to render (already loaded/filtered by the host). Rebuilds groups on change.
Returns either the default RunQuery provider or the one specified in the Provider property, if it was specified
Returns either the default RunReport 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
Display name of the currently selected timeline date field.
The raw ID value derived from selectedRecordId for timeline selection. The host
passes the selection in composite-key format (ID|abc-123 or ID=abc-123), but the
timeline stores just the raw ID value — so strip the field-name prefix.
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.
Handle a timeline event click. Maps the AfterEventClickArgs to the underlying raw
record (event.event.entity) and emits it on recordSelected. The host's dynamic
handler builds the composite key from the raw record, so we emit the record object as-is.
Change the date field used for the timeline, rebuild groups, then persist via config.
Toggle timeline orientation between vertical and horizontal, then persist via config.
Toggle timeline sort order between newest-first (desc) and oldest-first (asc), then persist.
TimelineViewRendererComponent
The Timeline view type as a self-contained IViewRenderer plug-in. Where the Timeline view used to be hard-wired into the generic
mj-entity-viewerhost (which owned the date-field detection, the record→TimelineGroup transformation, and the date-field / orientation / sort chrome), this component now OWNS all of it. The host simply dynamic-mounts this renderer when Timeline is the active view type and feeds it the standard renderer inputs (entity/records/selectedRecordId/filterText/config).It renders a small chrome header row (date-field selector + orientation toggle + sort toggle) above a flex-filling
<mj-timeline>, exactly reproducing the host's previous timeline chrome and bindings. Because the host only mounts this plug-in when Timeline is active, the chrome always renders — no extraEffectiveViewMode === 'timeline'guard is needed.What was absorbed from the host (
EntityViewerComponent):detectDateFields(),sortDateFieldsByPriority(),AvailableDateFields/HasDateFields,configureTimeline(),updateTimelineGroups()(+findTitleField/findDescriptionField/findSubtitleField),ToggleTimelineOrientation(),ToggleTimelineSortOrder(),SetTimelineDateField(),SelectedDateFieldDisplayName,OnTimelineEventClick(), and theTimelineSelectedEventIDcomposite-key→raw-id derivation.Inputs use the camelCase names mandated by the IViewRenderer contract (the host binds them by those exact names) rather than MJ's usual PascalCase for public members.