@vertigis/viewer-spec
Version:
VertiGIS Viewer Specification
75 lines (74 loc) • 2.53 kB
TypeScript
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;
}