Per-instance presentation config (toolbar visibility, related-entity
sections, collapsibility, width, in-form navigation). Set by the form host
(MjEntityFormHostComponent) or any consumer that instantiates the form
directly. Read back by MjRecordFormContainerComponent and the collapsible
panels through the FormComponent reference, so it takes effect WITHOUT
regenerating the CodeGen-produced template. Null means "use the container's
own defaults" (the classic full-page tab behavior).
ID of the currently-rendered variant (null when no override is active and the form is the CodeGen /
ProtectedelementProtectedformEmitted when navigation is requested (record link, external link, email, new record, etc.)
Emitted when a user-facing notification should be shown
Hook called when the user picks a different variant from the picker.
Default is a no-op; the Explorer-level single-record component replaces
this on the form instance to wire FormResolverService.SetSelectedVariant
and reload the record. Kept as a method (not an EventEmitter) so the host
doesn't need to subscribe — assignment is enough.
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 after a record is deleted successfully
Emitted when a record delete fails
Emitted once after ngOnInit completes and the record is fully initialized (favorites loaded, form state initialized). This is the safe point for the container to start loading badge counts and other record-dependent data.
Emitted after a record is saved successfully
Emitted when a record save fails
ProtectedsectionsReadonlystatusHeight of the top area when a splitter layout is used. Referenced by CodeGen-generated templates for entities with "top area" sections.
Size of the top area as a percentage (0-100) for angular-split. Used by CodeGen-generated templates with as-split.
Emitted when validation fails before save
Variants applicable to the current (entity, user) tuple, supplied by the Explorer-level form resolver. When more than one entry is present, the record-form-container shows a picker that lets the user switch between variants. Empty / single-entry arrays hide the picker.
The container reads this via its EffectiveVariants accessor — generated
form templates do NOT need to bind it explicitly.
StaticɵdirStaticɵfacEmpty-state message shown when the add-tests search matches nothing.
Returns all organic key related entities across all organic keys, flattened and sorted.
Names of fields with pending edits, used by the save bar.
Tests that match the picker search filter.
Whether the current entity has any active organic keys with related entities configured.
True if the suite record has any unsaved field changes.
Returns all active organic keys for the current entity, or an empty array if none.
ProtectedPendingReturns 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 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
Parsed tags as a plain array — derived from record.Tags JSON.
Add a tag from tagDraft (called on Enter / comma / blur).
Builds RunViewParams for a specific organic key related entity.
Convenience method to build organic key view params by organic key name and related entity name.
OptionalrelatedEntityJoinField: stringOptionalevent: EventClear the matrix test name filter
Create suite-test rows for every selected test, appended after existing ones.
Delete the suite-test join row and refresh the list.
Optionalevent: EventDiscard all pending field changes on the suite.
Export matrix view data to CSV
Optionaldecimals: numberOptionalcurrency: stringOptionaldecimals: numberOptionalcurrency: stringComponent-level default width mode, used when the user has NOT
explicitly chosen a width for this entity yet (first visit, nothing
persisted in User Settings). Subclasses can override this — for
example, custom forms with full-bleed layouts should return
'full-width' here and the container will respect it on first open.
Once the user toggles the width via the toolbar, their choice
persists via setFormWidthMode() and takes priority over this
default on subsequent opens.
OptionalrelatedEntityJoinField: stringGet the count of enabled evaluation types for matrix cell layout
Get tooltip for human review with rating and optional comments
Get average auto score for a run (only from tests that have scores)
Get count of tests with auto scores for a run
Get average human rating for a run (only from tests that have ratings)
Get count of tests with human ratings for a run
Get count of passed tests for a run
Get total count of tests for a run
ProtectedgetGet descriptive tooltip for execution status
ProtectedinitProtectedInternalCase-insensitive UUID check whether a run is the currently selected Run A (baseline).
Case-insensitive UUID check whether a run is the currently selected Run B (compare).
OptionaldefaultExpanded: booleanCheck if a tag is currently selected in the filter
Handles delete requests from the form container. Emits RecordDeleted on success, RecordDeleteFailed on failure. Generated form templates bind this as: (DeleteRequested)="OnDeleteRequested()"
Handles favorite toggle from the form container. Generated form templates bind this as: (FavoriteToggled)="OnFavoriteToggled()"
Applies the expanded/collapsed state emitted by the filters mj-accordion-panel. The panel's Expanded is the inverse of filtersCollapsed; set (not flip) so it stays in sync, and mark for check (OnPush change detection).
Handles navigation events from the form container and related entity grids. Relays the event upward via the Navigate
Handles history view requests from the form container. Generated form templates bind this as: (HistoryRequested)="OnHistoryRequested()"
Handles list management requests from the form container. Generated form templates bind this as: (ListManagementRequested)="OnListManagementRequested()"
Handle matrix cell click - navigate to the test run
Handle test name filter input - uses Subject for debounce
Handle Enter / comma in the tag input to commit the draft tag.
Handle CDK drag-drop reordering — persists new Sequence values.
Open the picker dialog and load tests not yet in this suite.
Navigate to a test run when clicking a matrix cell
ProtectedPendingProtectedPopulateProtectedRaiseRemove a single tag.
Show the inline remove-confirm for one suite-test row.
Optionalevent: EventSave all pending changes on the suite record.
Select/deselect a matrix row for highlighting
Called when the splitter layout changes (for entities with "top area" sections). No-op in the generic version; override in host application if splitter resizing is needed.
Toggle analytics filters visibility
Toggle matrix sort column
Toggle keyboard shortcuts visibility and save preference
Toggle a tag in the multi-select filter. If tag is null, clear all selections (show all tags).
ProtectedValidate
Size of the bottom area as a percentage (0-100) for angular-split. Used by CodeGen-generated templates with as-split.