@vertigis/viewer-spec
Version:
VertiGIS Viewer Specification
53 lines (52 loc) • 2.17 kB
TypeScript
import type { Action } from "@vertigis/arcgis-extensions/support/Action";
import type { MapModelProperties as CommonMapModelProperties } from "../common/MapModelProperties.js";
/**
* A reference to an MMPK map.
*/
export interface MmpkProperties {
/**
* The path of the mmpk file. The referenced file can be either a single
* .mmpk file or an unzipped/exploded folder. The path is relative to the
* root level user data directory for that app; for example, the File
* Sharing folder for the app in iTunes for Apple devices.
*/
path: string;
/**
* The portal item which contains the mmpk. This may be either a Portal item
* ID or a URL to the item.
*/
source?: string;
/**
* Either the name of the map or the index (starting at 0) of the map to
* load from the mmpk, for mmpks that have multiple maps.
*/
mapId: string | number;
}
/**
* @inheritdoc
*/
export interface MapModelProperties extends CommonMapModelProperties {
/**
* Either a string path to the mmpk file on disk, or an object containing
* the path and mapId. In either case, the path is relative to the root
* level user data directory for that app; for example, the File Sharing
* folder for the app in iTunes for Apple devices. The referenced file can
* be either a single .mmpk file or an unzipped/exploded folder. If a path
* is specified as a string, then the first map within the mmpk is selected.
* If you would like to use a different path, then use the object syntax
* which allows for specifying which map within the mmpk to load.
*/
mmpk?: string | MmpkProperties;
/**
* An action that will be performed when the map is about to initialize,
* just before the map is initialized.
*/
onInitializing?: Action;
/**
* An action that will be performed when the user makes a secondary click
* (e.g. right click with mouse or long tap) on the map. If not defined and
* not overridden, it will cause a context menu to appear at the position
* where the secondary click happened.
*/
onSecondaryClick?: Action;
}