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

Export

Implements

Hierarchy

Constructors

Properties

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

Memberof

APIScope

detailsStore: Store<"details", _UnwrapAll<Pick<{
    activeGreedy: Ref<number>;
    addConfigProperty: ((item) => void);
    currentFeatureId: Ref<undefined | string>;
    defaultTemplates: Ref<{
        [type: string]: string;
    }>;
    hilightToggle: Ref<boolean>;
    lastHilight: Ref<number>;
    payload: Ref<{
        errored: boolean;
        items: ({ data: any; format: IdentifyResultFormat; loaded: boolean; loading: { then: <TResult1 = void, TResult2 = never>(onfulfilled?: ((value: void) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | ... 1 more ... | undefined) => Promise<...>; catch: <TRe...)[];
        loaded: boolean;
        loading: { then: <TResult1 = void, TResult2 = never>(onfulfilled?: ((value: void) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | null | undefined) => Promise<...>; catch: <TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<...>) | ... ...;
        requestTime: number;
        uid: string;
    }[]>;
    properties: Ref<{
        [id: string]: DetailsItemInstance;
    }>;
    removeLayer: ((layer) => void);
    slowLoadingFlag: Ref<boolean>;
}, "payload" | "properties" | "defaultTemplates" | "currentFeatureId" | "slowLoadingFlag" | "activeGreedy" | "lastHilight" | "hilightToggle">>, Pick<{
    activeGreedy: Ref<number>;
    addConfigProperty: ((item) => void);
    currentFeatureId: Ref<undefined | string>;
    defaultTemplates: Ref<{
        [type: string]: string;
    }>;
    hilightToggle: Ref<boolean>;
    lastHilight: Ref<number>;
    payload: Ref<{
        errored: boolean;
        items: ({ data: any; format: IdentifyResultFormat; loaded: boolean; loading: { then: <TResult1 = void, TResult2 = never>(onfulfilled?: ((value: void) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | ... 1 more ... | undefined) => Promise<...>; catch: <TRe...)[];
        loaded: boolean;
        loading: { then: <TResult1 = void, TResult2 = never>(onfulfilled?: ((value: void) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | null | undefined) => Promise<...>; catch: <TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<...>) | ... ...;
        requestTime: number;
        uid: string;
    }[]>;
    properties: Ref<{
        [id: string]: DetailsItemInstance;
    }>;
    removeLayer: ((layer) => void);
    slowLoadingFlag: Ref<boolean>;
}, never>, Pick<{
    activeGreedy: Ref<number>;
    addConfigProperty: ((item) => void);
    currentFeatureId: Ref<undefined | string>;
    defaultTemplates: Ref<{
        [type: string]: string;
    }>;
    hilightToggle: Ref<boolean>;
    lastHilight: Ref<number>;
    payload: Ref<{
        errored: boolean;
        items: ({ data: any; format: IdentifyResultFormat; loaded: boolean; loading: { then: <TResult1 = void, TResult2 = never>(onfulfilled?: ((value: void) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | ... 1 more ... | undefined) => Promise<...>; catch: <TRe...)[];
        loaded: boolean;
        loading: { then: <TResult1 = void, TResult2 = never>(onfulfilled?: ((value: void) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | null | undefined) => Promise<...>; catch: <TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<...>) | ... ...;
        requestTime: number;
        uid: string;
    }[]>;
    properties: Ref<{
        [id: string]: DetailsItemInstance;
    }>;
    removeLayer: ((layer) => void);
    slowLoadingFlag: Ref<boolean>;
}, "removeLayer" | "addConfigProperty">> = ...
id: string

ID of this fixture.

Memberof

FixtureInstance

Accessors

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

  • get $vApp(): ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>
  • The instance of Vue R4MP application controlled by this InstanceAPI. This is just a shorthand for this.$iApi.$vApp.

    Returns ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>

    Memberof

    APIScope

Methods

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

    Parameters

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

    Returns any

    Memberof

    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

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

    Parameters

    • component: Component<any, any, any, ComputedOptions, MethodOptions>
    • __namedParameters: any = {}

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

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

    • el: any
    • vNode: any

    Memberof

    FixtureInstance

  • Updates hilighted graphics when the hilight toggler is toggled.

    Parameters

    • hilightOn: boolean

      Whether the toggler has been turned on/off

    • Optional items: IdentifyItem | IdentifyItem[]

      The identify items to highlight. Only required if turning on

    • Optional layerUid: string

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

    Returns void

  • 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

    Parameters

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

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

    Returns void

    Memberof

    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

    Static

    Memberof

    FixtureInstance

Generated using TypeDoc