All entity fields (flattened from all entities)
Depth of relationships to display. 1 = only direct relationships, 2 = relationships of relationships, etc.
All entities loaded from metadata
Use EntityOpened.
The same emitter under the old binding name, so a template still binding (entityOpened) keeps working. Must stay AFTER EntityOpened: class fields initialise in order, and the other way round this captures undefined.
Emitted when an entity is opened (e.g., double-clicked in details panel)
ERD configuration - skip animation for faster rendering
Optional: Focus entities to display in the ERD. When provided, only these entities will be shown (useful for single-entity views). When not provided, all entities from metadata are loaded.
Whether the ERD is in a refreshing state
Use OpenRecord.
The same emitter under the old binding name, so a template still binding (openRecord) keeps working. Must stay AFTER OpenRecord: class fields initialise in order, and the other way round this captures undefined.
Emitted when requesting to open an entity record (for navigation)
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.
Whether to show the filter panel on the left. Set to false for focused/single-entity views.
Whether to show the ERD header bar.
Use StateChange.
The same emitter under the old binding name, so a template still binding (stateChange) keeps working. Must stay AFTER StateChange: class fields initialise in order, and the other way round this captures undefined.
Emitted on any state change (debounced 50ms)
Use UserStateChange.
The same emitter under the old binding name, so a template still binding (userStateChange) keeps working. Must stay AFTER UserStateChange: class fields initialise in order, and the other way round this captures undefined.
Emitted on user-initiated state changes (debounced 1s) for persistence
StaticɵdirStaticɵfacUse AllEntityFields.
Use Depth.
Use Entities.
Use FilteredEntities.
Use FilterPanelVisible.
Use Filters.
Use FocusEntities.
Use IsDataLoaded.
Use IsRefreshingERD.
Use MjEntityErd.
Returns 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 RunView provider or the one specified in the Provider property, if it was specified
Use SelectedEntity.
Use ShowFilterPanel.
Use ShowHeader.
Use GetState.
Get the current state for external use.
Load user state from a previously saved state object. Call this after the component is initialized to restore user preferences.
A callback method that performs custom clean-up, invoked immediately before a directive, pipe, or service instance is destroyed.
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.
Use OnEntityDeselected.
Handle entity selection from the mj-entity-erd wrapper. Updates internal state.
Handle open record from the mj-entity-erd wrapper (double-click). Opens the entity record using the entity form.
Use OnResetFilters.
Use OnToggleFilterPanel.
Use RefreshERD.
Refresh the ERD diagram.
ERD Composite component that combines the ERD diagram with filter and details panels.
This is a complete, ready-to-use ERD exploration interface that includes:
The component handles all internal state but emits events for:
Usage
State Persistence
The component emits
userStateChangeevents (debounced 1s) when user changes any settings. The parent should save this state and restore it usingloadUserState():