A base class for Fixture subclasses. It provides some utility functions to Fixtures and also gives access to $iApi and $vApp globals.

FixtureInstance

Hierarchy (view full)

Constructors

Properties

The instance of RampMap API scoped to a single Vue R4MP application.

APIScope

id: string

ID of this fixture.

FixtureInstance

persist: boolean

Indicates whether to keep the fixture when the language changes. Defaults to true. If only one config is provided for all languages, the fixture will be kept on language change, regardless of the value of the flag.

Fixture

Accessors

  • get $element(): App<Element>
  • Returns App<Element>

  • get $vApp(): ComponentPublicInstance
  • The instance of Vue R4MP application controlled by this InstanceAPI. This is just a shorthand for this.$iApi.$vApp.

    Returns ComponentPublicInstance

    APIScope

Methods

  • A helper function to create a "subclass" of the base Vue constructor

    Parameters

    • vueComponent: Record<string, any>
    • Optionaloptions: ComponentOptions = {}

    Returns any

    FixtureInstance

  • Return the graphics of the given IdentifyItems once the items have loaded.

    Parameters

    • items: IdentifyItem[]

      identify items to hilight. Items should be of ESRI format

    • layerUid: string

      uid of layer the items belong to

    Returns Promise<Graphic[]>

    resolves with array of graphics

  • Get this fixture's config from the layer config with the given layer id Will return undefined if layer config did not specify a config for this fixture

    Parameters

    • layerId: string

      The layer's id

    Returns any

    This fixture's config for the given layer

  • Combines this fixtures configs from layer configs into an indexed-dictionary

    Returns {
        [layerId: string]: any;
    }

    Dictionary where key is the layer id and the value is this fixture's config for that layer

    • [layerId: string]: any
  • If the panelTeleport property is provided, handle specified panelTeleport for the given fixture.

    Parameters

    • panels: string[]

      list of panel names for the calling fixture

    Returns void

  • If the panelWidth property is provided, handle default and specified panel widths for the given fixture.

    Parameters

    • panels: string[]

      list of panel names for the calling fixture

    Returns void

  • [Optional] Called after the core map logic has executed. If the fixture is added after the map initialization, this is called immediately.

    At this point, any custom content (panels, on-map components, etc.) can be added to R4MP. Custom content can also be added throughout the life of the [module].

    Returns void

    Fixture

  • Helper with programatically creating a component in Vue 3 (replaces the deprecated Vue.extend)

    Parameters

    • component: Component
    • __namedParameters: any = {}

    Returns {
        destroy: (() => void);
        el: any;
        vNode: any;
    }

    • destroy: (() => void)
        • (): void
        • Returns void

    • el: any
    • vNode: any

    FixtureInstance

  • Updates hilighted graphics when the hilight toggler is toggled.

    Parameters

    • hilightOn: boolean

      Whether the toggler has been turned on/off

    • Optionalitems: IdentifyItem | IdentifyItem[]

      The identify items to highlight. Only required if turning on

    • OptionallayerUid: string

      the layer UID that owns the items. Only required if turning on

    Returns void

  • Removes the specified fixture from R4MP instance. This is a proxy to rInstance.fixture.remove(...).

    Returns this

    FixtureInstance

  • Provided with the data for a single feature, shows or hides details panel. If panel is closed or incoming data is different than current content, panel is shown. If panel open and incoming data is what is currently shown, panel closes. The open parameter can override the behavior. featureData payload (can be empty if forcing closed)

    • uid : uid string of the layer hosting the feature
    • format : structure of the data. IdentifyResultFormat value.
    • data : source information for the feature. Analogous to the data property of an IdentifyItem
    • layerId : optional layerId string of the layer hosting the feature. Will be looked up if not provided

    Parameters

    • featureData: {
          data: any;
          format: IdentifyResultFormat;
          layerId?: string;
          uid: string;
      }
    • open: undefined | boolean

      can force the panel to open (true) or close (false) regardless of current panel state

    Returns void

    DetailsAPI

  • Adds missing functions and properties to the object implementing FixtureBase interface. This is only needed for external fixtures as they can't inherit from FixtureInstance.

    TODO: If you know a better way to deep-mixin props/getters/functions from a class into another class instance, please tell me. I honestly don't know 🤷‍♂️.

    Parameters

    Returns FixtureInstance

    FixtureInstance