Current active section in the explorer
All entities for relationship lookups
All entity fields (flattened from all entities) for ERD details panel
All entities available as potential IS-A parents (excluding self and
descendants), sorted by name. Precomputed by recomputeIsaEntityLists
whenever entity changes — previously a getter that filtered/sorted
md.Entities (hundreds of rows) with per-item UUIDsEqual on every CD
cycle while bound inside a template @for.
Size of the bottom area as a percentage (0-100) for angular-split. Used by CodeGen-generated templates with as-split.
Child entity record counts for the IS-A parent type summary
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 /
Whether detail panel is open
ProtectedelementRuntime EntityInfo metadata (populated from record.ID)
ERD depth level (1-5)
Set of expanded field group IDs
Error message if loading fails
Semantically grouped fields
Field list sort configuration
Field search term for filtering
Field view mode: grouped by category or flat list
ProtectedformGrouped incoming relationships by source entity
Grouped outgoing relationships by target entity
Incoming relationships (other entities reference this one)
IS-A field groups organized by source entity
Whether the IS-A field inspector panel is expanded
Loading state
Whether the row count is loading
Emitted when navigation is requested (record link, external link, email, new record, etc.)
Navigation items for the rail - world-class minimalist icons
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.
Incoming organic keys (other entities targeting THIS entity)
Outgoing organic keys (defined on THIS entity)
Outgoing relationships (this entity references others)
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.
The Entity record being displayed
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
Relationship view mode toggle
ProtectedsectionsCurrently selected field for detail panel
Currently selected relationship for detail panel
Sibling entities that share the same IS-A parent type. Precomputed by
recomputeIsaEntityLists when entity changes — previously a
per-CD getter filtering ParentEntityInfo.ChildEntities with UUIDsEqual.
Computed statistics for the entity
Height 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ɵfacReturns all organic key related entities across all organic keys, flattened and sorted.
Child entities for IS-A parent entities
Whether this entity has any IS-A relationship (parent or child)
Whether the current entity has any active organic keys with related entities configured.
Whether this entity allows overlapping subtypes (multiple children per parent record)
Number of fields inherited from parent entities
IS-A breadcrumb string: "Webinar IS-A Meeting IS-A Product"
Whether this entity is a child type in an IS-A relationship
Whether this entity is a parent type in an IS-A relationship
Whether this entity is a virtual entity (read-only view)
Returns all active organic keys for the current entity, or an empty array if none.
Total organic key connection count (outgoing targets + incoming sources)
The parent chain for IS-A child entities
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
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: stringOptionaldecimals: 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 all fields for the list view with sorting and filtering applied.
Returns the source entity name for an IS-A inherited field, or null if the field is owned by this entity. Used for displaying field source badges.
Get the role name for a permission entry. The EntityPermissionInfo.Role property is not populated because the database view returns 'RoleName' but the class expects 'Role'. This helper looks up the role from the Metadata.Roles collection using the RoleID.
ProtectedgetProtectedinitProtectedInternalCase-insensitive UUID check whether an entity field is the currently selected field.
Returns true if the given field is inherited from a parent entity via IS-A.
Checks if a string value is valid JSON (object or array).
OptionaldefaultExpanded: booleanNavigate to the Entity admin form for a given entity ID.
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.
Handle add requested from the entity viewer toolbar. Emits a Navigate event to create a new record of this entity type.
Handles delete requests from the form container. Emits RecordDeleted on success, RecordDeleteFailed on failure. Generated form templates bind this as: (DeleteRequested)="OnDeleteRequested()"
Handle open record from the ERD composite component. Navigates to the selected entity's form using SharedService.
Handle ERD composite state changes (for future persistence if needed).
Handles favorite toggle from the form container. Generated form templates bind this as: (FavoriteToggled)="OnFavoriteToggled()"
Applies the expanded/collapsed state emitted by an mj-accordion-panel for a field group. Sets (not flips) the value so it stays in sync with the panel, and marks 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 record opened from the entity viewer (double-click or open button). Emits a Navigate event so the host app can open the record.
Open an entity record from the field detail panel.
ProtectedPendingProtectedPopulateProtectedRaiseChange the ERD depth level.
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.
ProtectedValidate
World-class Entity Explorer form component that provides an exploration-focused interface for understanding entities in the MemberJunction system.
This component replaces the traditional edit-focused entity form with a rich exploration experience featuring: