The display state bound to <mj-map-view>, derived from config (null when unset).
The render mode bound to <mj-map-view>, derived from config (defaults to 'point').
Emitted when the user changes the render mode or pans/zooms the map. The host persists the
updated MapViewConfig blob verbatim against the active ViewTypeID.
The generic data-access channel. On init this emits { loadAll: true } so the container loads
the full record set — maps need every record to plot, not a single page — requested without the
container knowing it came from a map.
The entity whose records are being mapped. The map requires an entity; when null an empty state renders.
Active filter text. Unused by the map view today (records are already filtered by the host).
OptionalisWhether the host is currently (re)loading the record set. Unused by the map view today.
OptionalpageOne-based current page of records when the host is paginating. Unused by the map view.
OptionalpagePage size the host is using. Unused by the map view.
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.
Required by IViewRenderer; the map view has no distinct "open" gesture, so this never emits. Declared so the host's uniform output subscription is satisfied.
The records to render as map markers (loaded/filtered by the host).
Emitted when a marker is clicked — payload is the raw record object (the marker's .Record).
Primary-key string of the currently selected record, if any. Unused by the map view today.
OptionaltotalThe total number of records the host's query would return — bound to <mj-map-view>'s
TotalRecordCount so the map can convey when markers are a capped subset.
StaticɵdirStaticɵfacView-type-specific configuration.
The opaque per-view configuration. Setting it re-derives the activeRenderMode and
activeDisplayState that seed <mj-map-view>.
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 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
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.
Persist a display-state change (pan / zoom / clustering / choropleth options) into the opaque config and notify the host. This fires continuously as the user pans/zooms; that's fine — the host debounces persistence of the config blob.
Relay <mj-map-view>'s marker click, normalizing to the raw record the host expects (the host
builds the composite key itself from the record + entity).
Persist a render-mode change into the opaque config and notify the host. The host
stores the blob verbatim; it has no knowledge that renderMode means anything map-specific.
MapViewRendererComponent
The Map view type renderer — a thin IViewRenderer adapter that hosts the existing MapViewComponent (
<mj-map-view>) inside the entity-viewer's pluggable view-type system.The container has ZERO knowledge of maps. The host feeds this renderer only the generic IViewRenderer surface (
entity/records/totalRecordCount/config/ …) and listens only to the generic outputs (recordSelected/configChanged/dataRequest/ …). Everything map-specific is encapsulated here:ViewTypeIDand never reads it; this renderer seeds<mj-map-view>from it and writes changes back viaconfigChanged.{ loadAll: true }— the container honors the request (loads all records up to its safety cap) without knowing it came from a map.Why import
MapViewModulerather thanMapViewComponentdirectly: MapViewComponent is an NgModule-declared (standalone: false) component, so Angular forbids placing it directly in a standalone component'simportsarray (NG6008). The supported way for a standalone component to consume a non-standalone component is to import the NgModule that exports it — here MapViewModule. MapViewComponent is still imported above so its@Input/@Outputtypes stay referenced and the file documents exactly which component it adapts. This mirrors the siblingCardsViewRendererComponent's approach.Marker → record mapping:
<mj-map-view>emits the rich MapMarkerClickEvent ({ RecordID, Latitude, Longitude, Record }), but the host's dynamic renderer handler expects the raw record and builds the composite key itself. This adapter therefore extracts.Recordand re-emits just that object viarecordSelected, matching the other plug-in renderers (Cards/Cluster emit raw record objects).Inputs use the camelCase names mandated by the IViewRenderer contract (the host binds them by those exact names), rather than MJ's usual PascalCase for public members — mirroring the Cards and Cluster renderers.