UNPKG

declarations

Version:

[![npm version](https://badge.fury.io/js/declarations.svg)](https://www.npmjs.com/package/declarations)

1,052 lines (1,050 loc) 799 kB
// Type definitions for ArcGIS API for JavaScript v3.17 // Project: http://js.arcgis.com // Definitions by: Esri <http://www.esri.com> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare module "esri" { import Graphic = require("esri/graphic"); import Point = require("esri/geometry/Point"); import ScreenPoint = require("esri/geometry/ScreenPoint"); import FeatureLayer = require("esri/layers/FeatureLayer"); import Map = require("esri/map"); import ImageParameters = require("esri/layers/ImageParameters"); import ImageServiceParameters = require("esri/layers/ImageServiceParameters"); import InfoTemplate = require("esri/InfoTemplate"); import Basemap = require("esri/dijit/Basemap"); import Extent = require("esri/geometry/Extent"); import TileInfo = require("esri/layers/TileInfo"); import BasemapLayer = require("esri/dijit/BasemapLayer"); import Symbol = require("esri/symbols/Symbol"); import BookmarkItem = require("esri/dijit/BookmarkItem"); import Color = require("esri/Color"); import LocationProviderBase = require("esri/tasks/locationproviders/LocationProviderBase"); import PictureMarkerSymbol = require("esri/symbols/PictureMarkerSymbol"); import RouteParameters = require("esri/tasks/RouteParameters"); import SimpleLineSymbol = require("esri/symbols/SimpleLineSymbol"); import Font = require("esri/symbols/Font"); import ArcGISDynamicMapServiceLayer = require("esri/layers/ArcGISDynamicMapServiceLayer"); import LineSymbol = require("esri/symbols/LineSymbol"); import MarkerSymbol = require("esri/symbols/MarkerSymbol"); import LayerSource = require("esri/layers/LayerSource"); import GraphicsLayer = require("esri/layers/GraphicsLayer"); import SpatialReference = require("esri/SpatialReference"); import Layer = require("esri/layers/layer"); import SimpleFillSymbol = require("esri/symbols/SimpleFillSymbol"); import ArcGISImageServiceLayer = require("esri/layers/ArcGISImageServiceLayer"); import SimpleMarkerSymbol = require("esri/symbols/SimpleMarkerSymbol"); import Locator = require("esri/tasks/locator"); import InfoWindowBase = require("esri/InfoWindowBase"); import LOD = require("esri/layers/LOD"); import Polyline = require("esri/geometry/Polyline"); import Polygon = require("esri/geometry/Polygon"); import FillSymbol = require("esri/symbols/FillSymbol"); import PrintTemplate = require("esri/tasks/PrintTemplate"); import QueryTask = require("esri/tasks/QueryTask"); import TextSymbol = require("esri/symbols/TextSymbol"); import StandardGeographyQueryTask = require("esri/tasks/geoenrichment/StandardGeographyQueryTask"); import WMSLayerInfo = require("esri/layers/WMSLayerInfo"); import WMTSLayerInfo = require("esri/layers/WMTSLayerInfo"); export interface AGSMouseEvent extends MouseEvent { graphic?: Graphic; mapPoint: Point; screenPoint: ScreenPoint; } export interface AddOptions { /** The features that were added to the feature layer. */ addedGraphics?: Graphic[]; /** The feature layer where the new feature(s) are added. */ featureLayer?: FeatureLayer; } export interface AggregatePointsOptions { /** The URL to the GPServer used to execute an analysis job. */ analysisGpServer?: string; /** A field name from pointLayer based on which the points will be grouped. */ groupByField?: string; /** When true, the polygons that have no points within them will be returned in the output. */ keepBoundariesWithNoPoints?: boolean; /** Reference to the map object. */ map?: Map; /** The name of the output layer to be shown in the Result layer name inputbox. */ outputLayerName?: string; /** The point feature layer that will be aggregated into the polygons in the polygon feature layer. */ pointLayer: FeatureLayer; /** The polygon layer to be shown selected in in the Choose area menu. */ polygonLayer: FeatureLayer; /** An array of feature layer candidates to be selected as the input polygon layer. */ polygonLayers: FeatureLayer[]; /** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */ portalUrl?: string; /** When true, returns the result of analysis as a client-side feature collection. */ returnFeatureCollection?: boolean; /** When true, the choose extent checkbox will be shown. */ showChooseExtent?: boolean; /** When true, the show credit option is visible. */ showCredits?: boolean; /** When true, the help links will be shown. */ showHelp?: boolean; /** When true, the select folder dropdown will be shown. */ showSelectFolder?: boolean; /** An array of attribute field names and statistic types that you would like to aggregate for all points within each polygon. */ summaryFields?: string[]; } export interface ArcGISDynamicMapServiceLayerOptions { /** Class attribute to set for the layer's node. */ className?: string; /** Specify the geodatabase version to display. */ gdbVersion?: string; /** Id to assign to the layer. */ id?: string; /** Represents the image parameter options. */ imageParameters?: ImageParameters; /** infoTemplates object. */ infoTemplates?: any; /** Initial opacity or transparency of layer. */ opacity?: number; /** Refresh interval of the layer in minutes. */ refreshInterval?: number; /** Specify the metadata of the layer. */ resourceInfo?: any; /** When true, the layer's attribution is displayed on the map. */ showAttribution?: boolean; /** By default, images are exported in MIME format, and the image is streamed to the client. */ useMapImage?: boolean; /** When true, the layer will update its content based on the map's time extent. */ useMapTime?: boolean; /** Initial visibility of the layer. */ visible?: boolean; } export interface ArcGISImageServiceLayerOptions { /** Id to assign to the layer. */ id?: string; /** The image service parameter options used when exporting an Image Service layer. */ imageServiceParameters?: ImageServiceParameters; /** The template that defines the content to display in the map info window when the user clicks on a raster. */ infoTemplate?: InfoTemplate; /** Initial opacity or transparency of layer. */ opacity?: number; /** Specify the metadata of the layer. */ resourceInfo?: any; /** By default, images are exported in MIME format, and the image is streamed to the client. */ useMapImage?: boolean; /** When true, the layer will update its content based on the map's time extent. */ useMapTime?: boolean; /** Initial visibility of the layer. */ visible?: boolean; } export interface ArcGISImageServiceVectorLayerOptions { /** Apply a function for visualization or post-processing purposes. */ pixelFilter?: any; /** Set the default renderer from a list of predefined options. */ rendererStyle?: string; /** A value used to aggregate pixels into tiles for visualization purposes. */ symbolTileSize?: number; } export interface ArcGISTiledMapServiceLayerOptions { /** Class attribute to set for the layer's node. */ className?: string; /** Lists which levels to draw. */ displayLevels?: number[]; /** An array of objects that define areas where a tiled map service should not display tiles. */ exclusionAreas?: any[]; /** Id to assign to the layer. */ id?: string; /** infoTemplates object. */ infoTemplates?: any; /** Initial opacity or transparency of layer. */ opacity?: number; /** Refresh interval of the layer in minutes. */ refreshInterval?: number; /** The purpose of resampling is to enlarge the image and fill in at the levels where there are no tiles available. */ resampling?: boolean; /** Number of levels beyond the last level where tiles are available. */ resamplingTolerance?: number; /** Specify the metadata of the layer. */ resourceInfo?: any; /** When true, the layer's attribution is displayed on the map. */ showAttribution?: boolean; /** Array of REST endpoints that can be used to retrieve tile images. */ tileServers?: string[]; /** Initial visibility of the layer. */ visible?: boolean; } export interface AttributeInspectorOptions { /** See the object specifications table below for the structure of the layerInfos object. */ layerInfos: any[]; } export interface AttributionOptions { /** String used as the delimiter between attribution items. */ itemDelimiter?: string; /** Reference to the map object. */ map: Map; } export interface BasemapGalleryOptions { /** List of basemap layer ids in the current map. */ basemapIds?: string[]; /** An array of user-defined basemaps to display in the BasemapGallery. */ basemaps?: Basemap[]; /** Specify an ArcGIS.com group that contains web maps that will be used as basemaps in the gallery. */ basemapsGroup?: any; /** Specify your Bing Maps key if the basemap group you want to display in the gallery contains bing basemaps. */ bingMapsKey?: string; /** Reference to the map. */ map: Map; /** Specify the portal url, including the instance name, used to access the group that contains the basemap gallery items. */ portalUrl?: string; /** List of reference layer ids in the current map. */ referenceIds?: string[]; /** When true, queries ArcGIS.com to retrieve available basemaps. */ showArcGISBasemaps?: boolean; } export interface BasemapLayerOptions { /** If the url points to an image service, you can specify which band ids will display. */ bandIds?: number[]; /** The attribution information for the layer. */ copyright?: string; /** If the url points to a cached map service you can specify the levels to draw. */ displayLevels?: number[]; /** Specify the full extent of the layer. */ fullExtent?: Extent; /** Specify the initial extent of the layer. */ initialExtent?: Extent; /** Set to true if the layer is a reference layer and should be drawn on top of all other layers in the map. */ isReference?: boolean; /** Initial opacity or transparency of the basemap layer. */ opacity?: number; /** Specify subDomains where tiles are served to speed up tile retrieval (using subDomains gets around the browser limit of the max number of concurrent requests to a domain). */ subDomains?: string[]; /** The URL template used to retrieve the tiles. */ templateUrl?: string; /** Define the tile info for the layer including lods, rows, cols, origin and spatial reference. */ tileInfo?: TileInfo; /** Define additional tile server domains for the layer. */ tileServer?: string[]; /** The type of layer, valid values are "BingMapsAerial", "BingMapsHybrid", "BingMapsRoad", "OpenStreetMap", or "WebTiledLayer". */ type?: string; /** URL to the ArcGIS Server REST resource that represents a map or image service. */ url?: string; /** If the url points to a dynamic map service you can specify a subset of layers to display. */ visibleLayers?: number[]; } export interface BasemapOptions { /** The id of the basemap. */ id?: string; /** An array of layers to add to the basemap. */ layers: BasemapLayer[]; /** A URL to a thumbnail image for the basemap that will be displayed in the BasemapGallery. */ thumbnailUrl?: string; /** Title for the basemap. */ title?: string; } export interface BasemapToggleOptions { /** The secondary basemap to toggle to. */ basemap?: string; /** Object containing the labels and URLs for the image of each basemap. */ basemaps?: any; /** Map object that this dijit is associated with. */ map: Map; /** Class used for styling the widget. */ theme?: string; /** Whether the widget is visible by default. */ visible?: boolean; } export interface BlendRendererOptions { /** This determines how colors are blended together. */ blendMode?: string; /** An array of objects to blend containing the field name and color to use. */ fields: any[]; /** The field to normalize. */ normalizationField?: string; /** An array of objects which determines opacity. */ opacityStops: any[]; /** The symbol in which the BlendRenderer is applied. */ symbol: Symbol; } export interface BookmarksOptions { /** An array of BookmarkItem objects or a json object with the BookmarkItem format to initially display in the bookmark widget. */ bookmarks?: BookmarkItem[]; /** When true, users can add, remove and edit bookmark items. */ editable?: boolean; /** Reference to the map. */ map: Map; } export interface CSVLayerOptions { /** The column delimiter. */ columnDelimiter?: string; /** Copyright information for the layer. */ copyright?: string; /** The fields property contains objects with "name", "alias" and "type" String properties. */ fields?: any[]; /** The latitude field name. */ latitudeFieldName?: string; /** The longitude field name. */ longitudeFieldName?: string; /** An array of strings which correspond to fields to include in the CSVLayer. */ outFields?: string[]; } export interface ChooseBestFacilitiesOptions { /** The URL to the analysis service, for example "http://analysis.arcgis.com/arcgis/rest/services/tasks/GPServer". */ analysisGpServer?: string; /** The number of facilities to choose when allocating demand locations. */ candidateCount?: number; /** Specify how much demand every facility in the candidateFacilitiesLayer is capable of supplying. */ candidateFacilitiesCapacity?: string; /** String value indicating the field name on the candidateFacilitiesLayer representing how much demand each facility in the candidatesFacilitiesLayer is capable of supplying. */ candidateFacilitiesCapacityField?: string; /** A point layer specifying one or more locations that act as facilities by providing some kind of service. */ candidateFacilitiesLayer?: FeatureLayer; /** The amount of demand available at every demand locations. */ demand?: number; /** String value indicating the field name on the demandLocationLayer representing the amount of demand available at each demand location. */ demandField?: string; /** A point layer specifying the locations that have demand for facilities. */ demandLocationLayer?: FeatureLayer; /** Array of point layers to be used for choosing the demandLocationLayer. */ demandLocationLayers: FeatureLayer[]; /** When true, Travel Modes (Driving Time) is enabled for the inputLayer with the point geometries (esriGeometryPoint). */ enableTravelModes?: boolean; /** Array of point layers used for setting the required facilities layer and candidate facilities layer. */ featureLayers: FeatureLayer[]; /** Sets the selected folder of the select folder dropdown. */ folderId?: string; /** Sets the selected folder of the select folder dropdown. */ folderName?: string; /** Reference to the map. */ map?: Map; /** The maximum travel time or distance allowed between a demand location and its allocated facility. */ maxTravelRange?: number; /** String value indicating the field name on the demandLocationLayer specifying the maximum travel time or distance allowed between a demand location and its allocated facility. */ maxTravelRangeField?: string; /** The name of the output layer to be displayed in the result layer nameinputbox. */ outputLayerName?: string; /** The percentage of the total demand that you want the chosen and required facilities to capture. */ percentDemandCoverage?: number; /** The URL to the ArcGIS organization or Portal site where the GP server is hosted. */ portalUrl?: string; /** Specify how much demand every facility in the requiredFacilitiesLayer is capable of supplying. */ requiredFacilitiesCapacity?: number; /** A field on the requiredFacilitiesLayer representing how much demand each facility in this layer is capable of supplying. */ requiredFacilitiesCapacityField?: string; /** A point layer specifying one or more locations that act as facilities by providing some kind of service. */ requiredFacilitiesLayer?: FeatureLayer; /** Indicates whether to return the result of analysis as a client-side feature collection. */ returnFeatureCollection?: boolean; /** Indicates whether the "choose extent checkbox" is displayed. */ showChooseExtent?: boolean; /** Indicates whether to show the credit options. */ showCredits ?: boolean; /** Indicates whether the help links are displayed. */ showHelp?: boolean; /** Indicates whether to add an option to the UI that allows users to choose ready-to-use analysis layers from the Living Atlas Analysis Layers. */ showReadyToUseLayers?: boolean; /** Indicates whether to display a dropdown menu listing valid input analysis layers. */ showSelectAnalysisLayer?: boolean; /** Indicates whether the select folder dropdown will be displayed. */ showSelectFolder?: boolean; /** The default widget title with a custom title. */ title?: string; } export interface CircleOptions1 { /** Applicable when the spatial reference of the center point is either set to Web Mercator or geographic/geodesic as true would apply. */ geodesic?: boolean; /** A circle can be thought of similar to a polygon. */ numberOfPoints?: number; /** Radius of the circle. */ radius?: number; /** Unit of the radius. */ radiusUnit?: string; } export interface CircleOptions2 { /** The center point of the circle. */ center: Point | number[]; /** Applicable when the spatial reference of the center point is either set to Web Mercator or geographic/geodesic as true would apply. */ geodesic?: boolean; /** A circle can be thought of similar to a polygon. */ numberOfPoints?: number; /** The radius of the circle. */ radius?: number; /** Unit of the radius. */ radiusUnit?: string; } export interface ClassedColorSliderOptions { /** Data map containing renderer information. */ breakInfos: any; /** Indicates the classification method used to divide the range of values into bins. */ classificationMethod?: string; /** Required: Handles identified by their index values within the stops array. */ handles: number[]; /** Represents the histogram data object. */ histogram?: any; /** Width of the histogram in pixels. */ histogramWidth?: number; /** Indicates how data values are normalized. */ normalizationType?: string; /** Handle identified by its index value within the stops array. */ primaryHandle?: number; /** Width of the widget ramp in pixels. */ rampWidth?: number; /** Displays slider handles when true. */ showHandles?: boolean; /** Displays the histogram when true. */ showHistogram?: boolean; /** Displays slider labels when true. */ showLabels?: boolean; /** Displays ticks on slider when true. */ showTicks?: boolean; /** Represents the statistics data object. */ statistics?: any; } export interface ClassedSizeSliderOptions { /** The data map containing renderer information. */ breakInfos: any; /** Optional: Indicates the classification method used to divide the range of values into bins. */ classificationMethod?: string; /** Required: Handles identified by their index values within the stops array. */ handles: number[]; /** Represents the histogram data object. */ histogram?: any; /** Width of histogram in pixels. */ histogramWidth?: number; /** Indicates how data values are normalized. */ normalizationType?: string; /** The handle identified by its index value within the stops array. */ primaryHandle?: number; /** Width of slider ramp in pixels. */ rampWidth?: number; /** Displays slider handles when true. */ showHandles?: boolean; /** Indicates whether to display the histogram. */ showHistogram?: boolean; /** Displays labels when true. */ showLabels?: boolean; /** Displays slider ticks when true. */ showTicks?: boolean; /** Optional: Represents the statistics data object. */ statistics?: any; } export interface ColorInfoSliderOptions { /** The data map containing renderer information. */ colorInfo: any; /** Handles identified by their index values within the stops array. */ handles: number[]; /** Optional: Represents the histogram data object. */ histogram?: any; /** Width of histogram in pixels. */ histogramWidth?: number; /** The absolute maximum value of the slider. */ maxValue?: number; /** The absolute minimum value of the slider. */ minValue?: number; /** The handle identified by its index value within the stops array. */ primaryHandle?: number; /** Width of widget ramp in pixels. */ rampWidth?: number; /** Displays handles when set to true. */ showHandles?: boolean; /** Displays the histogram when true. */ showHistogram?: boolean; /** Displays labels when set to true. */ showLabels?: boolean; /** Indicates whether to display percentage labels. */ showRatioLabels?: boolean | string; /** Displays tick marks when set to true. */ showTicks?: boolean; /** Displays transparent background when set to true. */ showTransparentBackground?: boolean; /** Represents a statistics data object. */ statistics?: any; /** Additional options to customize slider. */ zoomOptions?: any; } export interface ColorPickerOptions { /** The selected color. */ color: Color; /** The row size of the palette. */ colorsPerRow: number; /** The set of available color options. */ palette: Color[]; /** Array of recent colors to show in the recent colors row. */ recentColors: Color[]; /** Toggles color selection being required. */ required: boolean; /** Toggles the recent color row. */ showRecentColors: boolean; /** Toggles the transparency slider. */ showTransparencySlider: boolean; } export interface ConnectOriginsToDestinationsOptions { /** The URL to the GPServer used to execute an analysis job. */ analysisGpServer?: string; /** The linear unit used with the distance value(s). */ distanceDefaultUnits?: string; /** An array of feature layers containing destination points. */ featureLayers: FeatureLayer[]; /** Reference to the map object. */ map?: Map; /** The point feature layer containing the origin points. */ originsLayer: FeatureLayer; /** The name of the output layer to be shown in the Result layer name input box. */ outputLayerName?: string; /** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */ portalUrl?: string; } export interface CoordinatesLocationProviderOptions { /** The attribute field in the graphic object that contains the longitude (X) values. */ xField: string; /** The attribute field in the graphic object that has the latitude (Y) values. */ yField: string; } export interface CreateBuffersOptions { /** The URL to the GPServer used to execute an analysis job. */ analysisGpServer?: string; /** An array of buffer distances to buffer the input feature layer. */ bufferDistance?: number[]; /** The input point, line, or polygon feature layer to be buffered. */ inputLayer: FeatureLayer; /** Reference to the map object. */ map?: Map; /** The name of the output layer to be shown in the Result layer name inputbox. */ outputLayerName?: string; /** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */ portalUrl?: string; /** When true, returns the result of analysis as client-side feature collection. */ returnFeatureCollection?: boolean; /** When true, the choose extent checkbox will be shown. */ showChooseExtent?: boolean; /** When true, the show credit option is visible. */ showCredits?: string; /** When true, the help links will be shown. */ showHelp?: boolean; /** When true, the select folder dropdown will be shown. */ showSelectFolder?: boolean; } export interface CreateDriveTimeAreasOptions { /** The URL to the GPServer used to execute an analysis job. */ analysisGpServer?: string; /** The units of the breakValues parameter. */ breakUnits?: string; /** An array of driving time break values. */ breakValues?: number[]; /** The point feature layer around which drive-time areas will be drawn. */ inputLayer: FeatureLayer; /** The geometry type of the input layer. */ inputType?: string; /** Reference to the map object. */ map?: Map; /** The name of the output layer to be shown in the Result layer name inputbox. */ outputLayerName?: string; /** The rule of overlap. */ overlapPolicy?: string; /** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */ portalUrl?: string; /** When true, returns the result of analysis as a client-side feature collection. */ returnFeatureCollection?: boolean; /** When true, the choose extent checkbox will be shown. */ showChooseExtent?: boolean; /** When true, the show credit option is visible. */ showCredits?: boolean; /** When true, the help links will be shown. */ showHelp?: boolean; /** When true, the select folder dropdown will be shown. */ showSelectFolder?: boolean; } export interface CreateViewshedOptions { /** The URL to the GPServer used to execute an analysis job. */ analysisGpServer?: string; /** Feature layer containing observation points to be used as input. */ inputLayer: FeatureLayer; /** Reference to the map object. */ map?: Map; /** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */ portalUrl?: string; } export interface CreateWatershedsOptions { /** The URL to the GPServer used to execute an analysis job. */ analysisGpServer?: string; /** The feature layer containing input points used for calculating watersheds. */ inputLayer: FeatureLayer; /** Reference to the map object. */ map?: Map; /** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */ portalUrl?: string; } export interface CutOptions { /** The feature(s) added to the feature layer by the cut operation. */ addedGraphics?: Graphic[]; /** The feature layer that contains the cut feature(s). */ featureLayer?: FeatureLayer; /** The updated feature(s). */ postUpdatedGraphics?: Graphic[]; /** The feature(s) before the cut operation is performed. */ preUpdatedGraphics?: Graphic[]; } export interface DataAdapterFeatureLayerOptions { /** The query parameters to use in retrieving the data through the DataAdapter. */ dataAdapterQuery: any; /** An instance of the LocationProvider class. */ locationProvider: LocationProviderBase; } export interface DataBrowserOptions { /** Whether or not to display the hierarchy dropdown for countries with multiple hierarchies (e.g. */ allowHierarchies?: boolean; /** Show/hide country drop down. */ countryBox?: boolean; /** Two-digit country code selected in the country drop down. */ countryID?: string; /** The hierarchy to load for a country (e.g. */ hierarchyID?: string; /** Text string to display on the back button on the second and third pages of the Data Browser. */ pageBackButton?: string; /** Selected variables array. */ selection?: string[]; /** Whether to display the "Shopping Cart" of selected variables. */ shoppingCart?: boolean; /** Title to show in the top left hand corner. */ title?: string; } export interface DeleteOptions { /** The features that were removed from the feature layer. */ deletedGraphics?: Graphic[]; /** The feature layer from which the feature(s) are removed. */ featureLayer?: FeatureLayer; } export interface DirectionsOptions { /** Defines the values that label each stop. */ alphabet?: string | string[] | boolean; /** When true, solve will start when the last destination is complete and enter key is hit. */ autoSolve?: boolean; /** Display the 'Add Destination' button. */ canModifyStops?: boolean; /** Center the map at the start of the selected route segment. */ centerAtSegmentStart?: boolean; /** The returned directions object from the routing solve result. */ directions?: any; /** Length units. */ directionsLengthUnits?: string; /** Enable the dragging of stop locations on the map. */ dragging?: boolean; /** Focus the cursor in the stop input when a new stop is added. */ focusOnNewStop?: boolean; /** The symbol that is used to denote the start location on the map. */ fromSymbol?: PictureMarkerSymbol; /** The symbol that displays when the from location is dragged to a new location. */ fromSymbolDrag?: PictureMarkerSymbol; /** If available, this geometry service is used to provide latitude/longitude values for stops whose reverse geocoding did not return an address (Added at v3.11). */ geometryTaskUrl?: string; /** Reference to the map object. */ map: Map; /** Activates the map-click-active toggle button when true. */ mapClickActive?: boolean; /** Maximum number of stops. */ maxStops?: number; /** Minimum number of stops. */ minStops?: number; /** When true, stops on the route are re-ordered to provide an optimal route. */ optimalRoute?: boolean; /** If specified, this specifies the portal where the produced route layers are going to be stored and accessed. */ portalUrl?: string; /** URL link to a custom print page. */ printPage?: string; /** If available, this print task is used to display an overview map of the route on the directions print page (Added at v3.11). */ printTaskUrl?: string; /** HTML string for providing a custom printing page */ printTemplate?: string; /** When true, the route will return to start point. */ returnToStart?: boolean; /** Specify the input parameters for the route task. */ routeParams?: RouteParameters; /** Define the symbol used to draw the route on the map. */ routeSymbol?: SimpleLineSymbol; /** Specify the service that will be used to calculate directions. */ routeTaskUrl?: string; /** Used to define optional search options. */ searchOptions?: any; /** Define the info template for the popup that appears when the popup for a route segment is displayed. */ segmentInfoTemplate?: InfoTemplate; /** Specify the symbol used to render the individual route segments that display on the map when a direction step is clicked. */ segmentSymbol?: SimpleLineSymbol; /** Defines whether the Directions widget will show the map-click-active toggle button. */ showActivateButton?: boolean; /** If true, the Clear button is shown. */ showClearButton?: boolean; /** If true, the toggle button group allowing user to choose between Miles and Kilometers is shown. */ showMilesKilometersOption?: boolean; /** When true, the Optimize order option is shown. */ showOptimalRouteOption?: boolean; /** When true the 'Print' button is displayed that allows users to display driving directions in a print page. */ showPrintPage?: boolean; /** When true, the Return to start option is shown. */ showReturnToStartOption?: boolean; /** Display the 'Show Reverse Stops' button. */ showReverseStopsButton?: boolean; /** Applicable if the widget works with a Network Analyst Server federated with ArcGIS Online or Portal. */ showSaveButton?: boolean; /** Highlight the route segment when a directions step is clicked. */ showSegmentHighlight?: boolean; /** Display a popup with segment details when a direction step is clicked. */ showSegmentPopup?: boolean; /** When true, the Use traffic option is shown. */ showTrafficOption?: boolean; /** If true, and six Standard Travel Modes are supported by the service and accessible using current credentials, then two toggle button groups are shown: one to allow user to choose between Driving a Car, a Truck, and Walking, and one more group to choose between Fastest and Shortest routes. */ showTravelModesOption?: boolean; /** True if currently calculating the route from the routing service. */ solving?: boolean; /** List of graphics used to display the point marker. */ stopGraphics?: Graphic[]; /** An array of points that define the stop locations. */ stops?: Point[] | number[][] | string[] | any[]; /** Define the info template for the popup that appears when a stop is clicked. */ stopsInfoTemplate?: InfoTemplate; /** The symbol that displays on the map for the locations between the origin and final destination locations. */ stopSymbol?: PictureMarkerSymbol; /** The symbol that displays when an intermediate location is dragged to a new location. */ stopSymbolDrag?: PictureMarkerSymbol; /** List of graphics used to display the text over the point marker. */ textGraphics?: Graphic[]; /** The text color for the text that appears for each destination. */ textSymbolColor?: Color; /** The font used for the text that displays on the map for each stop location. */ textSymbolFont?: Font; /** Define an x and/or y offset for the text symbols that are used for the stop locations on the map. */ textSymbolOffset?: any; /** Specify a theme for the widget. */ theme?: string; /** The symbol that is used to denote the final destination location on the map. */ toSymbol?: PictureMarkerSymbol; /** The symbol that displays when an final destination location is dragged to a new location. */ toSymbolDrag?: PictureMarkerSymbol; /** When true, real-time traffic is used to plan the route. */ traffic?: boolean; /** The traffic layer used for real-time traffic. */ trafficLayer?: ArcGISDynamicMapServiceLayer; } export interface DissolveBoundariesOptions { /** The URL to the GPServer used to execute an analysis job. */ analysisGpServer?: string; /** An array of field names based on which polygons are merged. */ dissolveFields?: string[]; /** The layer containing polygon features that will be dissolved. */ inputLayer: FeatureLayer; /** Reference to the map object. */ map?: Map; /** The name of the output layer to be shown in the Result layer name inputbox. */ outputLayerName?: string; /** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */ portalUrl?: string; /** When true, returns the result of analysis as a client-side feature collection. */ returnFeatureCollection?: boolean; /** When true, the choose extent checkbox will be shown. */ showChooseExtent?: boolean; /** When true, the show credit option is visible. */ showCredits?: boolean; /** When true, the help links will be shown. */ showHelp?: boolean; /** When true, the select folder dropdown will be shown. */ showSelectFolder?: boolean; /** An array of field names and statistical summary types that you wish to calculate from the polygons that are dissolved together. */ summaryFields?: string[]; } export interface DotDensityRendererOptions { /** The color to be used for the background of the symbol. */ backgroundColor?: Color; /** The shape to be used for the dot. */ dotShape?: string; /** The size of the dot in pixels. */ dotSize?: number; /** The value that a dot represents. */ dotValue: number; /** An array of objects, where each object defines a field to be mapped and its color. */ fields: any[]; /** The line symbol to use on the outline of the feature. */ outline?: LineSymbol; } export interface DrawOptions { /** Determines how much time to wait before adding a new point when using a freehand tool. */ drawTime?: number; /** If true, tooltips are displayed when creating new graphics with the draw toolbar. */ showTooltips?: boolean; /** Determines how far the mouse moves before adding a new point when using one of the freehand tools. */ tolerance?: number; /** Determines how far to offset the tool tip from the mouse pointer. */ tooltipOffset?: number; } export interface DriveBufferOptions { /** The radii to use to create ring buffers */ radius: number[]; /** The units of the radii. */ units: string; } export interface EditOptions { /** Specifies whether users can add new vertices. */ allowAddVertices?: boolean; /** Specifies whether users can delete vertices. */ allowDeleteVertices?: boolean; /** Line symbol used to draw the guild lines, displayed when moving vertices. */ ghostLineSymbol?: LineSymbol; /** Marker symbol used to display the insertable vertices. */ ghostVertexSymbol?: MarkerSymbol; /** If users want to place the text symbol editor to a user defined HTML element. */ textSymbolEditorHolder?: Node | string; /** When true, if the geometry is re-sized the aspect ration will be preserved. */ uniformScaling?: boolean; /** Marker symbol used to draw the vertices. */ vertexSymbol?: MarkerSymbol; } export interface EditorOptions { /** Create a new settings object that defines the capabilities of the widget. */ settings?: any; } export interface ElevationProfileOptions { /** This object contains properties used to render the chart. */ chartOptions?: any; /** Reference to the map. */ map: Map; /** The URL to the elevation profile service. */ profileTaskUrl: string; /** The measurement unit of the scalebar units. */ scalebarUnits?: string; } export interface EnrichLayerOptions { /** The URL to the GPServer used to execute an analysis job. */ analysisGpServer?: string; /** An buffer distance or driving time value to buffer the input feature layer. */ distance?: number; /** When true, Travel Modes (Driving Time) is enabled for inputLayer with point geometries (esriGeometryPoint). */ enableTravelModes?: boolean; /** The input feature layer to enrich with new data. */ inputLayer: FeatureLayer; /** Reference to the map object. */ map?: Map; /** The name of the output layer to be shown in the Result layer name inputbox. */ outputLayerName?: string; /** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */ portalUrl?: string; /** When true, returns the result of analysis as a client-side feature collection. */ returnFeatureCollection?: boolean; /** When true, the choose extent checkbox will be shown. */ showChooseExtent?: boolean; /** When true, the show credit option is visible. */ showCredits?: boolean; /** When true, the help links will be shown. */ showHelp?: boolean; /** When true, the select folder dropdown will be shown. */ showSelectFolder?: boolean; /** When true, you can specify a time for traffic condition under Define areas to enrich - Driving Time. */ showTrafficWidget?: boolean; } export interface ExtractDataOptions { /** The URL to the GPServer used to execute an analysis job. */ analysisGpServer?: string; /** If true, the Clip features option in Study area will be ckecked. */ clip?: boolean; /** The format of output data shown as the default selection in the Output data format menu. */ dataFormat?: string; /** An array for feature layers to be extracted. */ featureLayers: FeatureLayer[]; /** An array for feature layers to be extracted. */ inputLayers?: FeatureLayer[]; /** Reference to the map object. */ map?: Map; /** The name of the output layer to be shown in the Result layer name inputbox. */ outputLayerName?: string; /** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */ portalUrl?: string; /** When true, returns the result of analysis as a client-side feature collection. */ returnFeatureCollection?: boolean; /** When true, the choose extent checkbox will be shown. */ showChooseExtent?: boolean; /** When true, the show credit option is visible. */ showCredits?: boolean; /** When true, the help links will be shown. */ showHelp?: boolean; /** When true, the select folder dropdown will be shown. */ showSelectFolder?: boolean; } export interface FeatureLayerOptions { /** Enable or disable the auto generalization of features from a non-editable layer in on-demand mode. */ autoGeneralize?: boolean; /** Class attribute to set for the layer's node. */ className?: string; /** Where clause to use as definition expression for layer. */ definitionExpression?: string; /** When true, graphics are displayed during panning. */ displayOnPan?: boolean; /** Set a callback function that will be invoked by FeatureLayer.getEditSummary. */ editSummaryCallback?: Function; /** Specify the geodatabase version to display. */ gdbVersion?: string; /** Unique ID to assign to the layer. */ id?: string; /** The template that defines the content to display in the map info window when the user clicks on a feature. */ infoTemplate?: InfoTemplate; /** The maximum allowable offset, only applicable for layers that are not editable. */ maxAllowableOffset?: number; /** The query mode for the feature layer. */ mode?: number; /** Initial opacity or transparency of layer. */ opacity?: number; /** One or more fields used to order features by - for queries as well as for rendering. */ orderByFields?: string[]; /** An array of strings which correspond to fields to include in the FeatureLayer. */ outFields?: string[]; /** Refresh interval of the layer in minutes. */ refreshInterval?: number; /** Specify the metadata of the layer. */ resourceInfo?: any; /** When true, the layer's attribution is displayed on the map. */ showAttribution?: boolean; /** Indicates whether to show labels on the layer. */ showLabels?: boolean; /** The dynamic layer or table source. */ source?: LayerSource; /** Specify the size of the virtual tiles, used in on-demand mode. */ tileHeight?: number; /** Specify the size of the virtual tiles, used in on-demand mode. */ tileWidth?: number; /** The name of the trackIdField. */ trackIdField?: string; /** When true, the layer will update its content based on the map's time extent. */ useMapTime?: boolean; /** Initial visibility of the layer. */ visible?: boolean; } export interface FeatureLayerStatisticsOptions { /** The feature layer that will be the source for calculating statistics. */ layer: FeatureLayer; } export interface FeatureTableOptions { /** The number of features a service will try to fetch. */ batchCount?: number; /** Object defining the date options specifically for formatting date and time editors. */ dateOptions?: any; /** Sets the editing state for the FeatureTable. */ editable?: boolean; /** The featureLayer that the table is associated with. */ featureLayer: FeatureLayer; /** An array of objects representing field information. */ fieldInfos?: any[]; /** Reference to the 'Options' drop-down menu. */ gridMenu?: any; /** Object that can be used to set properties used by the underlying dgrid. */ gridOptions?: any; /** Columns to hide by default using the dGrid ColumnHider extension. */ hiddenFields?: string[]; /** A reference to the Map. */ map?: Map; /** Adds additional functional menu items for the 'Options' drop-down menu. */ menuFunctions?: any[]; /** Attribute fields to include in the FeatureTable. */ outFields?: string[]; /** Displays or hides the attachment column. */ showAttachments?: boolean; /** Displays the data type of the field right under the field label. */ showDataTypes?: boolean; /** Displays or hides total number of features and selected number of features in the grid header. */ showFeatureCount?: boolean; /** Displays or hides the FeatureTable header. */ showGridHeader?: boolean; /** Displays or hides 'Options' drop-down menu of the FeatureTable. */ showGridMenu?: boolean; /** Displays or hides the 'Statistics' option in column menus for numeric fields. */ showStatistics?: boolean; /** Enables an interaction between the map and the feature table. */ syncSelection?: boolean; /** Enables pan/zoom to selected features on the map when the table in 'sync selection' mode. */ zoomToSelection?: boolean; } export interface FindHotSpotsOptions { /** An array of feature layer candidates to be selected as the aggregation polygon layer. */ aggregationPolygonLayers: FeatureLayer[]; /** The numeric field in the AnalysisLayer that will be analyzed. */ analysisField?: string; /** The URL to the GPServer used to execute an analysis job. */ analysisGpServer?: string; /** The feature layer for which hot spots will be calculated. */ analysisLayer: FeatureLayer; /** An array of feature layer candidates to be selected as the bounding polygon layer. */ boundingPolygonLayers: FeatureLayer[]; /** When true, make process info to get analysis report. */ isProcessInfo?: boolean; /** Reference to the map object. */ map?: Map; /** The name of the output layer to be shown in the Result layer name inputbox. */ outputLayerName?: string; /** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */ portalUrl?: string; /** When true, returns the result of analysis as a client-side feature collection. */ returnFeatureCollection?: boolean; /** When true, the choose extent checkbox will be shown. */ showChooseExtent?: boolean; /** When true, the show credit option is visible. */ showCredits?: boolean; /** When true, the help links will be shown. */ showHelp?: boolean; /** When true, the select folder dropdown will be shown. */ showSelectFolder?: boolean; } export interface FindNearestOptions { /** The URL to the GPServer used to execute an analysis job. */ analysisGpServer?: string; /** The feature layer from which the nearest features are found. */ analysisLayer: FeatureLayer; /** When true, Travel Modes ( Driving Distance, Driving Time) are enabled for analysisLayer with point geometries (esriGeometryPoint). */ enableTravelModes?: boolean; /** Reference to the map object. */ map?: Map; /** The maximum number of nearest locations to find for each feature in analysisLayer. */ maxCount?: number; /** The feature layer to be shown selected in the "1. */ nearLayer: FeatureLayer; /** An array of near layer candidates. */ nearLayers: FeatureLayer[]; /** The name of the output layer to be shown in the Result layer name inputbox. */ outputLayerName?: string; /** The url to the ArcGIS.com site or in-house portal where the GP server is hosted. */ portalUrl?: string; /** When true, returns the result of analysis as a client-side feature collection. */ returnFeatureCollection?: boolean; /** The maximum range to search for nearest locations from each feature in the analysisLayer. */ searchCutoff?: number; /** The units of the searchCutoff parameter. */ searchCutoffUnits?: string; /** When true, the choose extent checkbox will be shown. */ showChooseExtent?: boolean; /** When true, the show credit option is visible. */ showCredits?: boolean; /** When true, the help links will be shown. */ showHelp?: boolean; /** When true, the select folder dropdown will be shown. */ showSelectFolder?: boolean; } export interface FindTaskOptions { /** Specify the geodatabase version to display. */ gdbVersion?: string; } export interface GalleryOptions { /** An array of items, see example below. */ items: any[]; /** Display the title for each item in the gallery. */ showTitle?: boolean; /** Specify the size of the gallery's thumbnail image. */ thumbnailStyle?: string; } export interface GaugeOptions { /** Text to display at the bottom of the gauge. */ caption?: string; /** Color used for the arc indicator on the gauge. */ color?: string; /** Name of the attribute field used to drive the gauge. */ dataField?: string; /** Either "value" or "percentage". */ dataFormat?: string; /** Name of the attribute field used to display a feature name on the gauge. */ dataLabelField?: string; /** When true, the gauge is created with JSON from an ArcGIS Online webmap. */ fromWebmap?: boolean; /** A esri.layers.GraphicsLayer or esri.layers.FeatureLayer used to drive the gauge. */ layer?: GraphicsLayer; /** Maximum value that will be displayed on the gauge. */ maxDataValue?: number; /** The text to display when a feature does not not a value for the dataLabelField. */ noDataLabel?: string; /** Ob