Member Junction
    Preparing search index...

    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:

    • The map's render mode + display state live inside the opaque MapViewConfig blob. The host persists that blob verbatim against the active ViewTypeID and never reads it; this renderer seeds <mj-map-view> from it and writes changes back via configChanged.
    • The "maps need the full record set" requirement is expressed through the generic IViewRenderer.dataRequest channel as { loadAll: true } — the container honors the request (loads all records up to its safety cap) without knowing it came from a map.

    Why import MapViewModule rather than MapViewComponent directly: MapViewComponent is an NgModule-declared (standalone: false) component, so Angular forbids placing it directly in a standalone component's imports array (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/@Output types stay referenced and the file documents exactly which component it adapts. This mirrors the sibling CardsViewRendererComponent'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 .Record and re-emits just that object via recordSelected, 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.

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    activeDisplayState: Partial<MapDisplayState> | null = null

    The display state bound to <mj-map-view>, derived from config (null when unset).

    activeRenderMode: MapRenderMode = 'point'

    The render mode bound to <mj-map-view>, derived from config (defaults to 'point').

    configChanged: EventEmitter<MapViewConfig> = ...

    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.

    dataRequest: EventEmitter<ViewDataRequest> = ...

    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.

    entity: EntityInfo | null = null

    The entity whose records are being mapped. The map requires an entity; when null an empty state renders.

    filterText: string | null = null

    Active filter text. Unused by the map view today (records are already filtered by the host).

    isLoading?: boolean

    Whether the host is currently (re)loading the record set. Unused by the map view today.

    page?: number

    One-based current page of records when the host is paginating. Unused by the map view.

    pageSize?: number

    Page size the host is using. Unused by the map view.

    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.

    recordOpened: EventEmitter<unknown> = ...

    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.

    records: Record<string, unknown>[] = []

    The records to render as map markers (loaded/filtered by the host).

    recordSelected: EventEmitter<unknown> = ...

    Emitted when a marker is clicked — payload is the raw record object (the marker's .Record).

    selectedRecordId: string | null = null

    Primary-key string of the currently selected record, if any. Unused by the map view today.

    totalRecordCount?: number

    The 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.

    "ɵ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