Skip to content

@memberjunction/ng-entity-form-dialog

A reusable Angular dialog component that displays a MemberJunction entity form for viewing and/or editing any record from any entity. Supports showing the complete form or a specific section.

Deprecated for new code — use the generic forms-as-overlays stack in @memberjunction/ng-base-forms: <mj-form-dialog> / <mj-form-slide-in> / <mj-form-window> and MJFormPresenterService. It resolves the form (including interactive overrides + variants), wires the full event surface, supports per-instance EntityFormConfig, and now covers section mode via the SectionName input — the one capability that previously justified keeping this component. See /guides/FORMS_ARCHITECTURE_GUIDE.md. This package remains only for its existing consumer (simple-record-list) until that’s migrated; no new usage.

The EntityFormDialogComponent wraps MemberJunction’s dynamic form system inside a Kendo UI dialog window. It dynamically loads the registered form component for the given entity (including custom form overrides) and provides configurable Save/Cancel buttons with automatic record handling.

graph TD
    PARENT["Parent Component"] --> EFD["EntityFormDialogComponent"]
    EFD --> KD["Kendo Dialog Window"]
    EFD --> CD["ContainerDirective\n(Dynamic Loading)"]
    CD --> BFC["BaseFormComponent\n(or subclass)"]
    BFC --> BFSC["BaseFormSectionComponent"]

    style PARENT fill:#7c5295,stroke:#563a6b,color:#fff
    style EFD fill:#2d6a9f,stroke:#1a4971,color:#fff
    style KD fill:#2d8659,stroke:#1a5c3a,color:#fff
    style CD fill:#b8762f,stroke:#8a5722,color:#fff
    style BFC fill:#2d6a9f,stroke:#1a4971,color:#fff
    style BFSC fill:#2d8659,stroke:#1a5c3a,color:#fff
  • Universal entity support: Works with any MemberJunction entity
  • Two display modes: Complete form or single named section
  • Configurable buttons: Show/hide Save and Cancel independently
  • Automatic save handling: Optionally saves the record when user clicks Save
  • Auto-revert on cancel: Optionally reverts record changes when user cancels
  • Resizable dialog: Configurable width and height with user-resizable window
  • Dynamic form loading: Uses @RegisterClass to load the correct form component
Terminal window
npm install @memberjunction/ng-entity-form-dialog
DependencyPurpose
@memberjunction/coreEntity metadata, BaseEntity
@memberjunction/ng-base-formsBaseFormComponent, BaseFormSectionComponent
@memberjunction/ng-container-directivesDynamic component loading
@memberjunction/ng-sharedSharedService
@progress/kendo-angular-dialogKendo UI dialog window
@progress/kendo-angular-buttonsDialog action buttons
<mj-entity-form-dialog
[Title]="'Edit Contact'"
[Record]="contactRecord"
[Visible]="isDialogOpen"
[Mode]="'complete'"
[ShowSaveButton]="true"
[ShowCancelButton]="true"
[HandleSave]="true"
[AutoRevertOnCancel]="true"
[Width]="800"
[Height]="600"
(DialogClosed)="onDialogClosed($event)">
</mj-entity-form-dialog>
InputTypeDefaultDescription
Titlestring''Dialog title bar text
RecordBaseEntitynullThe entity record to display
VisiblebooleanfalseControls dialog visibility
Mode'complete' | 'section''complete'Show entire form or specific section
SectionNamestring''Section name (when Mode is 'section')
ShowSaveButtonbooleantrueShow the Save button
ShowCancelButtonbooleantrueShow the Cancel button
HandleSavebooleantrueAuto-save record on Save click
AutoRevertOnCancelbooleantrueAuto-revert record on Cancel click
Widthnumber800Dialog width in pixels
Heightnumber600Dialog height in pixels
OutputTypeDescription
DialogClosedEventEmitter<'Save' | 'Cancel'>Emitted when dialog closes with action taken
ExportTypeDescription
EntityFormDialogComponentComponentThe dialog component
EntityFormDialogModuleNgModuleModule declaration
Terminal window
cd packages/Angular/Explorer/entity-form-dialog && npm run build

ISC