UNPKG

@vertigis/viewer-spec

Version:

VertiGIS Viewer Specification

56 lines (55 loc) 2 kB
import type { FailureMode } from "@vertigis/arcgis-extensions/FailureMode"; import type { ItemConfig } from "./ItemConfig.js"; /** * The most recent VertiGIS Studio App configuration schema version supported by * this API. */ export declare const CURRENT_SCHEMA_VERSION = "1.0"; /** * Configuration for a VertiGIS Studio App. An App is a portable format for * describing the items and settings used by VertiGIS Studio applications. Items * that are defined within an App (e.g. menus, layer extensions, web maps, etc.) * can be retrieved by loading the App configuration into an {@link AppContainer} * and using its {@link AppContainer.get} method. */ export interface AppConfig { /** * The version of the App configuration schema that is being used. Current * version is available via the {@link CURRENT_SCHEMA_VERSION } constant. */ schemaVersion: string; /** * Specifies zero or more App configurations that are imported into this * one. * * Imports are processed in the order specified, followed by items and * settings that are locally defined in this AppConfig. If the same item is * defined multiple times, then the items' properties will get merged in * such a way that the later definitions will override earlier ones. * Similarly if a setting is defined several times, then the most recent * definition wins. */ import?: string[]; /** * User-defined settings. These can be referenced via URIs in the form * setting://setting-name. */ settings?: { [setting: string]: string | number | boolean; }; /** * User-defined failure modes for particular items. Items are referenced by * item uri. */ failureModes?: { [itemUri: string]: FailureMode; }; /** * The set of items defined in the App (order is irrelevant). */ items?: ItemConfig[]; /** * A human-readable name for the App. */ title?: string; }