Member Junction
    Preparing search index...

    Reusable collapsible panel for form sections.

    Supports three visual variants:

    • default: White card with accent border (standard field sections)
    • related-entity: Blue-accented card with row count badge (related entity grids)
    • inherited: Purple-accented card with "Inherited from X" badge (IS-A parent field sections)

    Features:

    • Expand/collapse with smooth animation
    • Search filtering (hides non-matching panels, highlights matched names)
    • Drag-to-reorder sections
    • Inheritable "Inherited from X" badge with navigation event
    • Row count badge for related entity sections
    <mj-collapsible-panel
    SectionKey="productDetails"
    SectionName="Product Details"
    Icon="fa fa-box"
    Variant="inherited"
    InheritedFromEntity="Products"
    [Form]="formComponent"
    [FormContext]="formContext"
    (Navigate)="onNavigate($event)">
    <mj-form-field ...></mj-form-field>
    </mj-collapsible-panel>

    Implements

    • OnInit
    • OnChanges
    • AfterContentInit
    • AfterViewInit
    • OnDestroy
    Index

    Constructors

    Properties

    BadgeCount: number | undefined

    Row count badge for related entity sections

    DefaultExpanded: boolean | undefined

    Default expanded state when no persisted state exists

    DisplayName: string = ''
    DragEnded: EventEmitter<void> = ...
    DragStarted: EventEmitter<PanelDragStartEvent> = ...
    FieldComponents: QueryList<MjFormFieldComponent>
    FieldNames: string = ''
    Form: unknown

    Reference to the parent form component for state delegation. Expected to have IsSectionExpanded, SetSectionExpanded, getSectionDisplayOrder methods.

    FormContext?: FormContext

    Form-level context (search filter, showEmptyFields)

    Icon: string = 'fa fa-folder'

    Font Awesome icon class for the panel header

    InheritedFromEntity: string = ''

    For 'inherited' variant: the parent entity name this section's fields come from. Displayed as "Inherited from X" badge and used for navigation.

    InheritedRecordPrimaryKey?: CompositeKey

    For 'inherited' variant: the primary key to navigate to when clicking the badge. (Shared PK in IS-A relationships.)

    IsDragging: boolean = false
    IsDragOver: boolean = false
    IsVisible: boolean = true
    Navigate: EventEmitter<FormNavigationEvent> = ...
    PanelDrop: EventEmitter<PanelDropEvent> = ...
    SectionKey: string = ''

    Unique key for state persistence

    SectionName: string = ''

    Display name shown in the panel header

    Variant: PanelVariant = 'default'

    Panel visual variant

    Accessors

    • get Collapsible(): boolean

      Whether this panel's header may collapse/expand. Driven by FormContext.collapsibleSections; when false the panel renders always-expanded with no toggle chevron (used by dialog/slide-in surfaces that lock sections open). Undefined / true means collapsible.

      Returns boolean

    Methods

    • A callback method that is invoked immediately after the default change detector has checked data-bound properties if at least one has changed, and before the view and content children are checked.

      Parameters

      • changes: { [propName: string]: SimpleChange<any> }

        The changed properties.

      Returns void

    • 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.

      Returns void

    • Navigate to the parent entity when clicking the "Inherited from X" badge. Derives the PrimaryKey from the Form's record when InheritedRecordPrimaryKey is not explicitly provided (which is the common case in generated templates).

      Parameters

      • event: MouseEvent

      Returns void