@vertigis/viewer-spec
Version:
VertiGIS Viewer Specification
99 lines (98 loc) • 3.85 kB
TypeScript
import type { FeatureJson } from "@vertigis/arcgis-extensions/json/FeatureJson.js";
import type { SymbolJson } from "@vertigis/arcgis-extensions/json/SymbolJson.js";
import type { ViewpointJson } from "@vertigis/arcgis-extensions/json/ViewpointJson.js";
import type { ItemRef } from "../common/ItemRef.js";
import type { MapModelProperties as CommonMapModelProperties } from "../common/MapModelProperties.js";
import type { ComponentModelProperties } from "./ComponentModelProperties.js";
import type { SnappingProperties } from "./SnappingProperties.js";
import type { TopologyProperties } from "./TopologyProperties.js";
/**
* Direction in which the layer-comparison bar can slide.
*/
export type LayerComparisonDirection = "horizontal" | "vertical";
/**
* The position of the label relative to the slider bar.
*/
export type LayerComparisonLabelPosition = "start" | "center" | "end";
/**
* Properties for configuring a MapModel.
*/
export interface MapModelProperties extends CommonMapModelProperties, ComponentModelProperties {
/**
* The symbology for the map's context menu marker.
*/
contextMarkerSymbol?: Symbol | SymbolJson;
/**
* Whether or not group layer children and sublayers are included in
* leading/trailing layers selection. The default is false.
*/
layerComparisonFlattenLayers?: boolean;
/**
* The direction in which the layer-comparison bar slides. 'horizontal'
* positions the leading layers on the left and trailing layers on the
* right; 'vertical' positions the leading layers on the top and the
* trailing layers on the bottom.
*/
layerComparisonDirection?: LayerComparisonDirection;
/**
* Whether or not the layer-comparison tool is active on the map.
*/
layerComparisonIsActive?: boolean;
/**
* Whether or not the leading and trailing layers are configurable from the
* label buttons on the map. The default is true.
*/
layerComparisonIsConfigurable?: boolean;
/**
* The position of the label relative to the slider bar. The default is
* "start".
*/
layerComparisonLabelPosition?: LayerComparisonLabelPosition;
/**
* Layers used within the map's layer-comparison tool, positioned on the
* left if the layer-comparison orientation is 'horizontal' or on the top if
* the layer-comparison orientation is 'vertical'.
*/
leadingLayers?: ItemRef[];
/**
* The label shown on the map for the leading layers, when the
* layer-comparison tool is active.
*/
leadingLayersLabel?: string;
/**
* The markup graphics currently present on the map. This property is only
* serialized to saved projects.
*/
markupGraphics?: FeatureJson[];
/**
* Whether or not to pulse new features that are dynamically added to the
* map's stream layers. The default is false.
*/
pulseNewStreamFeatures?: boolean;
/**
* Specify the configuration to be used for snapping during drawing and
* editing when enabled.
*/
snappingConfiguration?: SnappingProperties;
/**
* Specify the configuration to be used for topology during drawing and
* editing, when enabled.
*/
topologyConfiguration?: TopologyProperties;
/**
* Layers used within the map's layer-comparison tool, positioned on the
* right if the layer-comparison orientation is 'horizontal' or on the
* bottom if the layer-comparison orientation is 'vertical'.
*/
trailingLayers?: ItemRef[];
/**
* The label shown on the map for the trailing layers, when the
* layer-comparison tool is active.
*/
trailingLayersLabel?: string;
/**
* The viewpoint of the map. This property is only serialized to saved
* projects.
*/
viewpoint?: ViewpointJson;
}