UNPKG

@vertigis/viewer-spec

Version:

VertiGIS Viewer Specification

75 lines (74 loc) 2.53 kB
import type { EntityProperties } from "@vertigis/arcgis-extensions/Entity"; import type { ApplicationModelProperties } from "../common/ApplicationModelProperties.js"; /** * The privacy policy link location options. */ export type PrivacyPolicyLocation = "app-top-beginning" | "app-top-end" | "app-bottom-beginning" | "app-bottom-end" | "map-top-beginning" | "map-top-end" | "map-bottom-beginning" | "map-bottom-end" | "user-component" | "app-footer"; /** * Information on how and where to display the privacy policy link. */ export interface PrivacyPolicyInfoProperties extends EntityProperties { /** * The location in which the privacy policy information should be shown. * Defaults to user-component and falls back to the app-footer if the * specified location is not available. */ location?: PrivacyPolicyLocation; /** * Optional markdown that contains additional information. This information * is shown in a secondary dialog when the location is not the user * component, or directly in the user component when it is the location. */ markdown?: string; } /** * Global configuration for a VertiGIS Web application. */ export interface VertigisWebModelProperties extends ApplicationModelProperties { /** * Use an Esri API key to access location services and premium content in * your public application. */ platformApiKey?: string; /** * Allowed origin for sending and receiving PostMessages. */ postMessageAllowedOrigin?: string; /** * The privacy policy information. */ privacyPolicyInfo?: PrivacyPolicyInfoProperties; /** * The collection of rules specifying the proxy URL to use for a given URL * prefix. */ proxyRules?: ProxyRuleProperties[]; /** * The proxy URL for the application. */ proxyUrl?: string; /** * Indicates whether cross origin requests made to the associated server * should include credentials such as cookies and authorization headers. */ trustedServers?: string[]; /** * The version of VertiGIS Studio Web that was used to create this app * configuration. */ version?: string; } /** * An object specifying a URL that should use a specific proxy. */ export interface ProxyRuleProperties { /** * The URL of the proxy. */ proxyUrl: string; /** * The URL prefix of the resources that should be accessed through the given * proxy. */ urlPrefix: string; }