@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
104 lines (102 loc) • 5.87 kB
TypeScript
import type Color from "../../../Color.js";
import type ChartMediaInfoValueSeries from "./ChartMediaInfoValueSeries.js";
import type { JSONSupport } from "../../../core/JSONSupport.js";
import type { ColorLike } from "../../../Color.js";
import type { ChartMediaInfoValueSeriesProperties } from "./ChartMediaInfoValueSeries.js";
export interface ChartMediaInfoValueProperties extends Partial<Pick<ChartMediaInfoValue, "fields" | "normalizeField" | "tooltipField">> {
/**
* An optional array of [colors](https://developers.arcgis.com/javascript/latest/references/core/Color/) where each color corresponds respectively to a field in the [fields](https://developers.arcgis.com/javascript/latest/references/core/popup/content/support/ChartMediaInfoValue/#fields).
* When utilized with [line charts](https://developers.arcgis.com/javascript/latest/references/core/popup/content/LineChartMediaInfo/), the first color in the array drives the line color.
* If there are less colors specified than fields or this property is not set, the default color ramp is applied.
*/
colors?: ColorLike[] | null;
/**
* An array of [ChartMediaInfoValueSeries](https://developers.arcgis.com/javascript/latest/references/core/popup/content/support/ChartMediaInfoValueSeries/) objects which provide
* information of x/y data that is plotted in a chart.
*/
series?: ChartMediaInfoValueSeriesProperties[];
}
/**
* The `ChartMediaInfoValue` class contains information for popups regarding how charts should be constructed.
*
* @since 4.11
* @see [BarChartMediaInfo](https://developers.arcgis.com/javascript/latest/references/core/popup/content/BarChartMediaInfo/)
* @see [ColumnChartMediaInfo](https://developers.arcgis.com/javascript/latest/references/core/popup/content/ColumnChartMediaInfo/)
* @see [LineChartMediaInfo](https://developers.arcgis.com/javascript/latest/references/core/popup/content/LineChartMediaInfo/)
* @see [PieChartMediaInfo](https://developers.arcgis.com/javascript/latest/references/core/popup/content/PieChartMediaInfo/)
* @see [ChartMediaInfoValueSeries](https://developers.arcgis.com/javascript/latest/references/core/popup/content/support/ChartMediaInfoValueSeries/)
* @example
* // Create a ChartMediaInfoValue that customizes the colors of each
* // field that will be represented in the chart.
* let pieChartValue = new ChartMediaInfoValue({
* colors: [
* new Color([254, 235, 226, 1]),
* new Color([250, 164, 180, 1]),
* new Color([248, 116, 165, 1]),
* new Color([204, 39, 141, 1])
* ],
* fields: [
* "B12001_calc_pctMarriedE",
* "B12001_calc_numMarriedE",
* "B12001_calc_numNeverE",
* "B12001_calc_numDivorcedE"
* ],
* normalizeField: null
* });
* @example
* // Create a ChartMediaInfoValue that customizes the colors of each
* // field that will be represented in the chart.
* let pieChartValue = new ChartMediaInfoValue({
* // Autocasts each item to a new Color object.
* colors: ["red", "yellow", "green", "blue"],
* fields: [
* "B12001_calc_pctMarriedE",
* "B12001_calc_numMarriedE",
* "B12001_calc_numNeverE",
* "B12001_calc_numDivorcedE"
* ],
* });
*/
export default class ChartMediaInfoValue extends JSONSupport {
constructor(properties?: ChartMediaInfoValueProperties);
/**
* An optional array of [colors](https://developers.arcgis.com/javascript/latest/references/core/Color/) where each color corresponds respectively to a field in the [fields](https://developers.arcgis.com/javascript/latest/references/core/popup/content/support/ChartMediaInfoValue/#fields).
* When utilized with [line charts](https://developers.arcgis.com/javascript/latest/references/core/popup/content/LineChartMediaInfo/), the first color in the array drives the line color.
* If there are less colors specified than fields or this property is not set, the default color ramp is applied.
*/
get colors(): Color[] | null | undefined;
set colors(value: ColorLike[] | null | undefined);
/**
* An array of strings, with each string containing the name of a field to display in the chart.
*
* > [!WARNING]
* >
* > In order to work with related fields within a chart, the fields must either be set
* > as a [fields](https://developers.arcgis.com/javascript/latest/references/core/popup/FieldInfo/) element in the [PopupTemplate's content](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/#content)
* > or as [PopupTemplate.fieldInfos](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/#fieldInfos) property outside of the PopupTemplate's content.
*
* > [!WARNING]
* >
* > Set the [PopupTemplate.fieldInfos](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/#fieldInfos) property for any
* > fields that need to have number formatting for chart/text elements.
*/
accessor fields: string[];
/**
* A string containing the name of a field. The values of all fields in the
* chart will be normalized (divided) by the value of this field.
*/
accessor normalizeField: string | null | undefined;
/**
* An array of [ChartMediaInfoValueSeries](https://developers.arcgis.com/javascript/latest/references/core/popup/content/support/ChartMediaInfoValueSeries/) objects which provide
* information of x/y data that is plotted in a chart.
*/
get series(): ChartMediaInfoValueSeries[];
set series(value: ChartMediaInfoValueSeriesProperties[]);
/**
* String value indicating the tooltip for a chart specified from another field.
* It is used for showing tooltips from another field in the same layer or related layer/table.
*/
accessor tooltipField: string | null | undefined;
/** Creates a deep clone of the ChartMediaInfoValue class. */
clone(): ChartMediaInfoValue;
}