UNPKG

@vertigis/viewer-spec

Version:

VertiGIS Viewer Specification

99 lines (98 loc) 3.85 kB
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; }