geoview-core - v2.3.0
    Preparing search index...

    Class AllFeatureInfoLayerSet

    A Layer-set working with the LayerSetController at handling a result set of registered layers and synchronizing events happening on them (in this case when the user queries for all records within a layer) with a store for UI updates.

    Hierarchy (View Summary)

    Index
    controllerRegistry: ControllerRegistry

    The controller registry to work with

    layerDomain: LayerDomain

    The LayerDomain to work with

    mapViewer: MapViewer

    The MapViewer to work with

    QUERY_TYPE: QueryType = 'all'

    The query type

    • Clears all stored features for a specific layer in the Feature Info result set.

      If the given layerPath exists in the internal resultSet, this method:

      • Sets its features property to null, effectively removing all features.
      • Propagates the updated layer result to the external store. If the layer path does not exist in the result set, the method does nothing.

      Parameters

      • layerPath: string

        The unique path identifying the layer to clear

      Returns void

    • Helper function used to launch the query on a layer to get all of its feature information.

      Parameters

      • layerPath: string

        The layerPath that will be queried

      • queryType: QueryType = AllFeatureInfoLayerSet.QUERY_TYPE

        The query type, default: AllFeatureInfoLayerSet.QUERY_TYPE

      Returns Promise<TypeFeatureInfoResult>

      A promise that resolves with the result of the query

      When queryType is not one of the supported query types

    • Processes layer data to query features on it, if the layer path can be queried.

      Parameters

      • geoviewLayer: AbstractGVLayer

        The geoview layer

      • queryType: QueryType

        The query type

      • location: TypeLocation

        The location for the query

      • queryGeometry: boolean = true

        Optional whether to query geometry

      • language: TypeDisplayLanguage

        The display language to use for the query

      • OptionalabortController: AbortController

        Optional abort controller

      Returns Promise<TypeFeatureInfoResult>

      A promise that resolves with the query results

      When queryType is not one of the supported query types (propagated from getFeatureInfo())

      When the underlying layer type does not implement the requested queryType (propagated from getFeatureInfo())

    • Registers the layer in the layer-set.

      If the layer is already registered, the function returns immediately. If the layer hasn't reached the loaded status yet, this method subscribes to the layer config's status change event and waits until the status becomes loaded before registering. This await is important when devs call this method directly to register ad-hoc layers.

      Parameters

      Returns Promise<void>

      A promise that resolves once the layer has been registered (or skipped)

    • Waits for the query associated with a specific layer path to finish processing.

      This method returns a promise that resolves when the query status for the given layerPath in the store is 'processed'.

      Parameters

      • layerPath: string

        The unique path identifying the layer to check

      Returns Promise<void>

      A promise that resolves when the query status is 'processed'

    • Waits for a layer config to be registered in the all-feature-info-layer-set.

      This method returns a promise that resolves when the given layerPath is included in the registered layer config paths of the set.

      Parameters

      • layerPath: string

        The unique path identifying the layer to check for registration

      Returns Promise<void>

      A promise that resolves when the layer is registered

    • Aligns records with information provided by OutFields from layer config.

      This will update fields in and delete unwanted fields from the arrayOfRecords.

      Parameters

      • layerEntryConfig: AbstractBaseLayerEntryConfig

        The layer entry config object

      • arrayOfRecords: TypeFeatureInfoEntry[]

        Features to delete fields from

      Returns void

    • Determines whether the retrieved feature info records contain real attribute fields

      (i.e., key-value properties) or whether they were returned in a fallback HTML/plain-text form, which commonly occurs with WMS GetFeatureInfo responses. This is used primarily to detect when a WMS service cannot return structured feature attributes and instead provides the feature data as a single HTML or plain-text block. Logic summary:

      • For WMS layers (OgcWmsLayerEntryConfig):
        • If the first record contains exactly one property and that property is either html or plain_text, the method considers the response not to contain actual fields.
      • For all other cases, the method assumes records contain valid structured attributes.

      Parameters

      • layerConfig: AbstractBaseLayerEntryConfig

        The layer configuration used to determine whether special WMS handling applies

      • arrayOfRecords: TypeFeatureInfoEntry[]

        The retrieved feature info entries representing attributes or raw text content

      Returns boolean

      true if the feature info records contain real attribute fields; false if they consist only of fallback HTML or plain-text content