Member Junction
    Preparing search index...

    A modern, flexible data grid component for displaying and managing entity data. Built on AG Grid Community edition with a rich Before/After cancelable event system.

    Features:

    • RunView-based data loading with automatic refresh
    • AG Grid for high-performance rendering
    • Rich event system with Before/After cancelable patterns
    • Column configuration with type-aware formatters
    • Row selection (single, multiple, checkbox modes)
    • Inline cell and row editing
    • Column reordering, resizing, and visibility toggle
    • State persistence to User Settings
    • Compatible with ViewGridState from User Views
    <mj-entity-data-grid
    [entityName]="'Contacts'"
    [showToolbar]="true"
    [allowSorting]="true"
    [selectionMode]="'multiple'"
    (afterRowDoubleClick)="onRowDoubleClick($event)">
    </mj-entity-data-grid>

    Hierarchy (View Summary)

    Implements

    • OnInit
    • OnDestroy
    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    ActiveRuntimeDriver:
        | { Context: EntityActionUXContext; DriverClass: string }
        | null = null

    The runtime-UX driver currently mounted over the grid (e.g. the Record Process bulk-update runner), or null when none. Set when an action whose invocation names a RuntimeUXDriverClass is clicked.

    AddRequested: EventEmitter<void> = ...
    AddToListButtonClick: EventEmitter<Record<string, unknown>[]> = ...
    AddToListRequested: EventEmitter<
        {
            entityInfo: EntityInfo;
            recordIds: string[];
            records: Record<string, unknown>[];
        },
    > = ...

    Emitted when the Add to List button is clicked. Parent components should handle this to show the list management dialog.

    AfterCellEditBegin: EventEmitter<AfterCellEditBeginEventArgs> = ...
    AfterCellEditCancel: EventEmitter<AfterCellEditCancelEventArgs> = ...
    AfterCellEditCommit: EventEmitter<AfterCellEditCommitEventArgs> = ...
    AfterColumnReorder: EventEmitter<AfterColumnReorderEventArgs> = ...
    AfterColumnResize: EventEmitter<AfterColumnResizeEventArgs> = ...
    AfterColumnVisibilityChange: EventEmitter<AfterColumnVisibilityChangeEventArgs> = ...
    AfterDataLoad: EventEmitter<AfterDataLoadEventArgs> = ...
    AfterDataRefresh: EventEmitter<AfterDataRefreshEventArgs> = ...
    AfterRowClick: EventEmitter<AfterRowClickEventArgs> = ...
    AfterRowDelete: EventEmitter<AfterRowDeleteEventArgs> = ...
    AfterRowDeselect: EventEmitter<AfterRowDeselectEventArgs> = ...
    AfterRowDoubleClick: EventEmitter<AfterRowDoubleClickEventArgs> = ...
    AfterRowSave: EventEmitter<AfterRowSaveEventArgs> = ...
    AfterRowSelect: EventEmitter<AfterRowSelectEventArgs> = ...
    AfterSort: EventEmitter<AfterSortEventArgs> = ...
    agColumnDefs: ColDef<any, any>[] = []

    AG Grid column definitions

    AggregatesLoaded: EventEmitter<
        {
            executionTime?: number;
            results: AggregateResult[];
            values: Map<string, AggregateValue>;
        },
    > = ...

    Emitted when aggregate results are loaded. Contains the array of AggregateResult objects and a values map for easy lookup.

    agGridTheme: Theme = ...

    AG Grid theme (v34+) with custom selection colors

    agRowSelection: RowSelectionOptions = ...

    AG Grid row selection configuration

    BeforeCellEdit: EventEmitter<BeforeCellEditEventArgs> = ...
    BeforeCellEditCancel: EventEmitter<BeforeCellEditCancelEventArgs> = ...
    BeforeCellEditCommit: EventEmitter<BeforeCellEditCommitEventArgs> = ...
    BeforeColumnReorder: EventEmitter<BeforeColumnReorderEventArgs> = ...
    BeforeColumnResize: EventEmitter<BeforeColumnResizeEventArgs> = ...
    BeforeColumnVisibilityChange: EventEmitter<
        BeforeColumnVisibilityChangeEventArgs,
    > = ...
    BeforeDataLoad: EventEmitter<BeforeDataLoadEventArgs> = ...
    BeforeDataRefresh: EventEmitter<BeforeDataRefreshEventArgs> = ...
    BeforeRowClick: EventEmitter<BeforeRowClickEventArgs> = ...
    BeforeRowDelete: EventEmitter<BeforeRowDeleteEventArgs> = ...
    BeforeRowDeselect: EventEmitter<BeforeRowDeselectEventArgs> = ...
    BeforeRowDoubleClick: EventEmitter<BeforeRowDoubleClickEventArgs> = ...
    BeforeRowSave: EventEmitter<BeforeRowSaveEventArgs> = ...
    BeforeRowSelect: EventEmitter<BeforeRowSelectEventArgs> = ...
    BeforeSort: EventEmitter<BeforeSortEventArgs> = ...
    CommunicationButtonClick: EventEmitter<Record<string, unknown>[]> = ...
    CommunicationRequested: EventEmitter<
        {
            entityInfo: EntityInfo;
            records: Record<string, unknown>[];
            viewParams: RunViewParams | null;
        },
    > = ...

    Emitted when Communication/Send Message functionality is requested. Parent components should handle this to show the communication dialog.

    CompareButtonClick: EventEmitter<Record<string, unknown>[]> = ...
    CompareRecordsRequested: EventEmitter<
        { entityInfo: EntityInfo; records: Record<string, unknown>[] },
    > = ...

    Emitted when Compare Records functionality is requested. Parent components should handle this to show the compare dialog.

    defaultColDef: ColDef = ...

    Default column settings

    DeleteButtonClick: EventEmitter<Record<string, unknown>[]> = ...
    DeleteRequested: EventEmitter<Record<string, unknown>[]> = ...
    DuplicateSearchButtonClick: EventEmitter<Record<string, unknown>[]> = ...
    DuplicateSearchRequested: EventEmitter<
        { entityInfo: EntityInfo; records: Record<string, unknown>[] },
    > = ...

    Emitted when duplicate search functionality is requested. Parent components should handle this to show the duplicate search results.

    EntityActionRequested: EventEmitter<
        {
            action: EntityActionConfig;
            entityInfo: EntityInfo;
            selectedRecords: Record<string, unknown>[];
        },
    > = ...

    Emitted when an entity action is selected for execution. Parent components should handle the action execution.

    errorMessage: string = ''
    ExportButtonClick: EventEmitter<void> = ...
    exportDialogConfig: ExportDialogConfig | null = null
    ExportRequested: EventEmitter<void> = ...
    ForeignKeyClick: EventEmitter<ForeignKeyClickEvent> = ...

    Emitted when a foreign key link is clicked in the grid. Parent components should handle this to navigate to the related record.

    gridContainer: ElementRef<HTMLDivElement>
    gridOptions: GridOptions = {}

    AG Grid options for infinite scroll mode

    GridStateChanged: EventEmitter<GridStateChangedEvent> = ...
    LoadEntityActionsRequested: EventEmitter<{ entityInfo: EntityInfo }> = ...

    Emitted when entity actions need to be loaded. Parent components should load actions and set the EntityActions input.

    loading: boolean = false
    ManageColumnsRequested: EventEmitter<void> = ...

    Raised when the user clicks the column-chooser / "Manage Columns" toolbar affordance. The host opens its column-management UI (see onColumnChooserClick).

    MergeButtonClick: EventEmitter<Record<string, unknown>[]> = ...
    MergeRecordsRequested: EventEmitter<
        { entityInfo: EntityInfo; records: Record<string, unknown>[] },
    > = ...

    Emitted when Merge Records functionality is requested. Parent components should handle this to show the merge dialog.

    NavigationRequested: EventEmitter<
        {
            compositeKey: string;
            entityInfo: EntityInfo;
            record: Record<string, unknown>;
        },
    > = ...

    Emitted when a row is clicked/double-clicked and AutoNavigate is enabled. Parent components should handle this to open the entity record.

    NewButtonClick: EventEmitter<void> = ...
    NewRecordDialogRequested: EventEmitter<
        { defaultValues: Record<string, unknown>; entityInfo: EntityInfo },
    > = ...

    Emitted when the "New" button is clicked and CreateRecordMode is 'Dialog'. Parent components should handle this to show a new record dialog.

    NewRecordTabRequested: EventEmitter<
        { defaultValues: Record<string, unknown>; entityInfo: EntityInfo },
    > = ...

    Emitted when the "New" button is clicked and CreateRecordMode is 'Tab'. Parent components should handle this to open a new record in a tab.

    PageChange: EventEmitter<PageChangeEvent> = ...

    Emits when the user navigates to a different page via the shared PaginationComponent. Parent components should handle this by re-fetching data with updated StartRow/MaxRows.

    PagerPageNumber: number = 1

    Current page number for the shared pager (1-based). Set by parent when using external data with server-side paging.

    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.

    RefreshButtonClick: EventEmitter<void> = ...
    rowData: Record<string, unknown>[] = []

    AG Grid row data

    SelectionChange: EventEmitter<string[]> = ...
    showExportDialog: boolean = false
    showOverflowMenu: boolean = false
    ShowPager: boolean = false

    Whether to show the shared PaginationComponent below the grid. When true, displays page-based navigation (first/prev/next/last) using the TotalRowCount from server responses. The pager auto-hides when there's only one page.

    ShowRecycleBin: boolean = true

    Whether to render the Recycle Bin chip in the toolbar. The chip auto-hides itself when the entity has no deleted records, doesn't track changes, or the user lacks Delete permission — so it stays out of the way on entities where it's not relevant.

    true
    
    totalRowCount: number = 0
    "ɵdir": unknown
    "ɵfac": unknown

    Accessors

    • 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

    • 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 Promise<void>