UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

136 lines (134 loc) 9.04 kB
import type SizeStop from "../visualVariables/support/SizeStop.js"; import type { JSONSupport } from "../../core/JSONSupport.js"; import type { AuthoringInfoVisualVariableThemes, AuthoringInfoVisualVariableUnits, ReferenceSizeSymbolStyle, SpikeSymbolStyle, AuthoringInfoVisualVariableStyles, AuthoringInfoVisualVariableTypes } from "./types.js"; import type { SizeStopProperties } from "../visualVariables/support/SizeStop.js"; export interface AuthoringInfoVisualVariableProperties extends Partial<Pick<AuthoringInfoVisualVariable, "endTime" | "field" | "maxSliderValue" | "minSliderValue" | "normalizationField" | "referenceSizeScale" | "referenceSizeSymbolStyle" | "spikeSymbolStyle" | "startTime" | "style" | "theme" | "type" | "units">> { /** * Only applicable when [theme](https://developers.arcgis.com/javascript/latest/references/core/renderers/support/AuthoringInfoVisualVariable/#theme) is `reference-size` or `spike`. An array of objects that defines * the thematic size ramp for reference-size or spike visualization. At least two * stops are required. The stops must be listed in ascending order based on the value of the value property * in each stop. This property is required when theme is `reference-size` or `spike` for the legend to properly * render the size reference or spike symbol style along with its labels. * * @since 4.30 */ sizeStops?: SizeStopProperties[] | null; } /** * Contains authoring properties of visual variables generated from * one of the Smart Mapping methods or sliders. * * @since 4.6 * @see [Sample - Multivariate data exploration](https://developers.arcgis.com/javascript/latest/sample-code/visualization-sm-multivariate/) * @see [Web map specification - AuthoringInfo visual variable](https://developers.arcgis.com/web-map-specification/objects/authoringInfo_visualVariable/) */ export default class AuthoringInfoVisualVariable extends JSONSupport { constructor(properties?: AuthoringInfoVisualVariableProperties); /** * If an age or timeline renderer was generated, indicates the end * time of the visualization. */ accessor endTime: string | number | null | undefined; /** * Indicates the field name used for generating the data-driven visualization. Applies to age renderer or * reference size visualizations (i.e. when [theme](https://developers.arcgis.com/javascript/latest/references/core/renderers/support/AuthoringInfoVisualVariable/#theme) is `reference-size`). * This property is used for UI purposes only. */ accessor field: string | null | undefined; /** Indicates the value of the upper handle if a slider was used to generate the visual variable. */ accessor maxSliderValue: number | null | undefined; /** Indicates the value of the lower handle if a slider was used to generate the visual variable. */ accessor minSliderValue: number | null | undefined; /** * Only applicable when [theme](https://developers.arcgis.com/javascript/latest/references/core/renderers/support/AuthoringInfoVisualVariable/#theme) is `reference-size`. Indicates the attribute * field the user chose in the Smart Mapping gallery for normalizing data in the selected field. * This property is used for UI purposes only. * * @since 4.30 */ accessor normalizationField: string | null | undefined; /** * Only applicable when [theme](https://developers.arcgis.com/javascript/latest/references/core/renderers/support/AuthoringInfoVisualVariable/#theme) is `reference-size`. This value indicates * the reference scale used in a reference size visualization and must be generated as part of * the [createContinuousRenderer()](https://developers.arcgis.com/javascript/latest/references/core/smartMapping/renderers/size/#createContinuousRenderer) * or [updateRendererWithReferenceSize()](https://developers.arcgis.com/javascript/latest/references/core/smartMapping/renderers/size/#updateRendererWithReferenceSize) methods. * * When defined, the reference scale ensures the reference size symbols scale in size as the user zooms * in and out in the view. This ensures symbols remain coincident to one another and avoid overlapping. * * @since 4.30 */ accessor referenceSizeScale: number | null | undefined; /** * Only applicable when [theme](https://developers.arcgis.com/javascript/latest/references/core/renderers/support/AuthoringInfoVisualVariable/#theme) is `reference-size`. This value specifies * the style (or shape) of the symbols generated with a reference line. Typically, a reference line * is used to visualize the maximum possible size (i.e. data value) of a data-driven proportional symbol. * Visualizations with a reference size must be defined in a * [ClassBreaksRenderer](https://developers.arcgis.com/javascript/latest/references/core/renderers/ClassBreaksRenderer/) or [UniqueValueRenderer](https://developers.arcgis.com/javascript/latest/references/core/renderers/UniqueValueRenderer/) * with a [CIMSymbol](https://developers.arcgis.com/javascript/latest/references/core/symbols/CIMSymbol/) containing two symbol layers: * one visualizing the maximum size of the symbol as a hollow ring, and the other as a solid * shape whose size is driven by a data value set in the renderer's field property, and configured * in a primitive override of the CIMSymbol. These renderers must not contain size visual variables, * but may contain other visual variable types. This property is used for UI purposes only. When defined, * [sizeStops](https://developers.arcgis.com/javascript/latest/references/core/renderers/support/AuthoringInfoVisualVariable/#sizeStops) must also be defined for the legend to properly represent the * visualization. * * @since 4.30 */ accessor referenceSizeSymbolStyle: ReferenceSizeSymbolStyle | null | undefined; /** * Only applicable when [theme](https://developers.arcgis.com/javascript/latest/references/core/renderers/support/AuthoringInfoVisualVariable/#theme) is `reference-size` or `spike`. An array of objects that defines * the thematic size ramp for reference-size or spike visualization. At least two * stops are required. The stops must be listed in ascending order based on the value of the value property * in each stop. This property is required when theme is `reference-size` or `spike` for the legend to properly * render the size reference or spike symbol style along with its labels. * * @since 4.30 */ get sizeStops(): SizeStop[] | null | undefined; set sizeStops(value: SizeStopProperties[] | null | undefined); /** * Only applicable when [theme](https://developers.arcgis.com/javascript/latest/references/core/renderers/support/AuthoringInfoVisualVariable/#theme) is `spike`. This value specifies * the style (or shape) of the symbols generated with a spike renderer. * Visualizations with a spike size must be defined in a * [ClassBreaksRenderer](https://developers.arcgis.com/javascript/latest/references/core/renderers/ClassBreaksRenderer/) or [UniqueValueRenderer](https://developers.arcgis.com/javascript/latest/references/core/renderers/UniqueValueRenderer/) * with a [CIMSymbol](https://developers.arcgis.com/javascript/latest/references/core/symbols/CIMSymbol/). These renderers must not contain size visual variables, * but may contain other visual variable types. This property is used for UI purposes only. When defined, * [sizeStops](https://developers.arcgis.com/javascript/latest/references/core/renderers/support/AuthoringInfoVisualVariable/#sizeStops) must also be defined for the legend to properly represent the * visualization. * * @since 4.33 */ accessor spikeSymbolStyle: SpikeSymbolStyle | null | undefined; /** * If an age or timeline renderer was generated, indicates the start * time of the visualization. */ accessor startTime: string | number | null | undefined; /** * If the UI offers the option to display values based on a ratio or * percentage, this indicates which selection was made. */ accessor style: AuthoringInfoVisualVariableStyles | null | undefined; /** * Indicates the theme selected by the user when generating a renderer * or visual variable with one of the Smart Mapping functions. */ accessor theme: AuthoringInfoVisualVariableThemes | null | undefined; /** The type of visual variable generated. */ accessor type: AuthoringInfoVisualVariableTypes | null | undefined; /** If an age or timeline renderer was generated, indicates the time units used. */ accessor units: AuthoringInfoVisualVariableUnits | null | undefined; /** * Creates a deep clone of the instance. * * @returns A deep clone of the object that * invoked this method. * @example * // Creates a deep clone of the authoring info visual variable * let authInfoVV = layer.renderer.authoringInfo.visualVariables.find(function(vv){ * return vv.type === "color"; * }).clone(); */ clone(): AuthoringInfoVisualVariable; }