Member Junction
    Preparing search index...

    Top-level container that composes the toolbar, content slots, and sticky behavior.

    Two usage modes:

    1. With FormComponent (generated forms): Pass [FormComponent]="this" and the container derives all state from the BaseFormComponent instance. Save/Cancel/Edit are handled internally by calling FormComponent methods.

    2. Standalone: Pass individual

    properties and handle all

    events.

    <mj-record-form-container [Record]="record" [FormComponent]="this"
    (Navigate)="OnFormNavigate($event)"
    (DeleteRequested)="OnDeleteRequested()"
    (FavoriteToggled)="OnFavoriteToggled()"
    (HistoryRequested)="OnHistoryRequested()"
    (ListManagementRequested)="OnListManagementRequested()">

    <mj-collapsible-panel SectionKey="details" ...>
    <mj-form-field ...></mj-form-field>
    </mj-collapsible-panel>

    <mj-collapsible-panel SectionKey="relatedOrders" Variant="related-entity" ...>
    <!-- related entity grid -->
    </mj-collapsible-panel>
    </mj-record-form-container>

    Hierarchy (View Summary)

    Implements

    • AfterContentInit
    • OnDestroy
    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    _variantMenuOpen: boolean = false

    Whether the variant dropdown menu is currently open. Toggled by the control's click handler; closed on blur or after a row is picked.

    BeforeCancel: EventEmitter<BeforeCancelEventArgs> = ...

    Emitted BEFORE cancel - can be cancelled by setting event.Cancel = true

    BeforeDelete: EventEmitter<BeforeDeleteEventArgs> = ...

    Emitted BEFORE delete - can be cancelled by setting event.Cancel = true

    BeforeHistoryView: EventEmitter<BeforeHistoryViewEventArgs> = ...

    Emitted BEFORE history view - can be cancelled by setting event.Cancel = true

    BeforeListManagement: EventEmitter<BeforeListManagementEventArgs> = ...

    Emitted BEFORE list management - can be cancelled by setting event.Cancel = true

    BeforeSave: EventEmitter<BeforeSaveEventArgs> = ...

    Emitted BEFORE save - can be cancelled by setting event.Cancel = true

    CancelRequested: EventEmitter<void> = ...

    Emitted when cancel is requested (only in standalone mode)

    CurrentVariantID: string | null = null

    Override ID currently rendered. The picker highlights this entry. May be null when the active form is a class-based

    form (no override is currently active) — in that case the picker still appears with "Default form" as the leading row.

    CustomButtonClick: EventEmitter<CustomToolbarButtonClickEventArgs> = ...

    Emitted when a custom toolbar button is clicked

    DeleteRequested: EventEmitter<void> = ...

    Emitted when delete is confirmed (host app handles actual deletion)

    DirtyFieldNames: string[] = []
    EditMode: boolean = false
    EditModeChange: EventEmitter<boolean> = ...

    Emitted when edit mode changes (only in standalone mode; FormComponent mode handled internally)

    EntityInfo: EntityInfo | null = null
    FavoriteInitDone: boolean = false
    FavoriteToggled: EventEmitter<void> = ...

    Emitted when favorite toggle is requested

    FormComponent: BaseFormComponent | null = null

    Reference to the parent form component (e.g. BaseFormComponent subclass). When provided, the container derives toolbar state from this reference and handles Save/Cancel/Edit internally by calling its methods.

    HistoryRequested: EventEmitter<void> = ...

    Emitted when history view is requested

    IsDirty: boolean = false
    IsFavorite: boolean = false
    IsSaving: boolean = false
    ListCount: number = 0
    ListManagementRequested: EventEmitter<void> = ...

    Emitted when list management is requested

    Navigate: EventEmitter<FormNavigationEvent> = ...

    Emitted for all navigation actions (the host app maps these to its routing)

    Panels: QueryList<MjCollapsiblePanelComponent>
    Provider: IMetadataProvider | null

    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.

    Record: BaseEntity

    The entity record being displayed/edited

    SaveRequested: EventEmitter<void> = ...

    Emitted when save is requested (only in standalone mode)

    ShowChangesRequested: EventEmitter<void> = ...

    Emitted when show-changes is requested

    ShowListManagement: boolean = false

    Controls visibility of list management dialog

    ShowRecordChanges: boolean = false

    Controls visibility of record changes drawer

    ShowSectionManager: boolean = false

    Controls visibility of section manager drawer

    ShowTagsPanel: boolean = false

    Controls visibility of tags panel

    TagCount: number = 0

    Number of tags on this record

    TagsPanelWidth: number = 0

    Persisted tags panel width

    ToolbarConfig: FormToolbarConfig = DEFAULT_TOOLBAR_CONFIG
    UserCanDelete: boolean = false
    UserCanEdit: boolean = false
    VariantChange: EventEmitter<string | null> = ...

    Emitted when the user chooses a different form variant from the picker. Carries the selected variant's override ID, or null when the user picks the "Default form" row. The host is responsible for persisting the choice (via FormResolverService.SetSelectedVariant) and reloading the record so the new form mounts.

    Variants: VariantPickerItem[] = []

    Variants available for this entity record. When more than one variant is provided, a compact picker appears between the toolbar and the form body letting the user switch which form is rendered. Empty / single-variant lists hide the picker entirely.

    Each item is a plain object — we don't take a hard dep on the resolver's row type from here (this is a Generic component; the Explorer-level single-record component shapes the resolver row into this minimal form).

    VersionCount: number = 0

    Number of tracked record change versions for this record

    WidthMode: FormWidthMode = 'centered'
    "ɵdir": unknown
    "ɵfac": unknown

    Accessors

    • get EffectiveShowToolbar(): boolean

      Whether the in-form toolbar renders at all. Driven by the form's Config.Toolbar: an explicit null (the dialog/slide-in default) hides the entire toolbar so the surrounding chrome can own Save/Cancel/title. Any other value (undefined or a partial config) keeps the toolbar.

      Returns boolean

    • get ProviderToUse(): IMetadataProvider

      Returns either the default Metadata provider or the one specified in the Provider property, if it was specified

      Returns IMetadataProvider

    • get RunQueryToUse(): IRunQueryProvider

      Returns either the default RunQuery provider or the one specified in the Provider property, if it was specified

      Returns IRunQueryProvider

    • get RunReportToUse(): IRunReportProvider

      Returns either the default RunReport provider or the one specified in the Provider property, if it was specified

      Returns IRunReportProvider

    • get RunViewToUse(): IRunViewProvider

      Returns either the default RunView provider or the one specified in the Provider property, if it was specified

      Returns IRunViewProvider

    Methods

    • Handles a restore request from the record-changes panel.

      The event payload now carries the FULL snapshot the user opted to apply (the panel computes current-vs-snapshot diffs using the source change's FullRecordJSON, and the user can deselect individual fields). Setting the restore context before Save() causes the data provider to write the resulting RecordChange row with Source='Restore', RestoredFromID, and RestoreReason populated — building the auditable lineage chain.

      Parameters

      Returns Promise<void>