Skip to content
import UniqueValueGroup from "@arcgis/core/renderers/support/UniqueValueGroup.js";
Inheritance:
UniqueValueGroupAccessor
Since
ArcGIS Maps SDK for JavaScript 4.25

UniqueValueGroup represents a group of unique value classes (i.e. categories). This is used to group a subset of categories under a heading.

At least one group must also be used if you want to represent multiple unique values with a single symbol.

See also
Example
// This example groups categories under three headings:
// Commercial, Residential, and Other
layer.renderer = {
type: "unique-value",
field: "zonecode",
uniqueValueGroups: [{
heading: "Commercial",
classes: [{
label: "C-2 | Community Commercial",
symbol: createSymbol([255,179,219]),
values: ["C-1", "C-2"]
}, {
label: "C-3 | Major Commercial",
symbol: createSymbol([255,0,0]),
values: "C-3"
}]
}, {
heading: "Residential",
classes: [{
label: "R-1 | Low-Density Residential",
symbol: createSymbol([255,255,224]),
values: "R-1"
}, {
label: "R-3 | Limited High-Density Residential",
symbol: createSymbol([255,214,0]),
values: "R-3"
}, {
label: "R-4 | High-Density Residential",
symbol: createSymbol([255,166,0]),
values: "R-4",
}]
}, {
heading: "Other",
classes: [{
label: "S | Special Area",
symbol: createSymbol([161,237,237]),
values: ["S-DW", "S-DR", "S-RP", "S-JW", "S-RN", "S-WS"]
}]
}]
};

Constructors

Constructor

Constructor
Parameters
ParameterTypeDescriptionRequired
properties
See the properties table for a list of all the properties that may be passed into the constructor.

Properties

Any properties can be set, retrieved or listened to. See the Watch for changes topic.

classes

autocast Property
Type
UniqueValueClass[] | null | undefined

Specifies the classes (or unique categories) to group under a heading. Classes may be included without a heading when representing multiple values with a single symbol.

Example
commercialGroup.classes = [{
label: "C-2 | Community Commercial",
symbol: {
type: "simple-fill",
color: [255,179,219]
},
values: ["C-1", "C-2"]
}, {
label: "C-3 | Major Commercial",
symbol: {
type: "simple-fill",
color: 255,0,0
},
values: "C-3"
}];

declaredClass

readonlyinherited Property
Type
string
Inherited from: Accessor

The name of the class. The declared class name is formatted as esri.folder.className.

heading

Property
Type
string | null | undefined

The heading to be displayed for the group of unique classes in the Legend.

Example
commercialGroup.heading = "Commercial";

Methods

MethodSignatureClass
fromJSON
inherited static
fromJSON(json: any): any
clone
inherited
clone(): this
toJSON
inherited
toJSON(): any

fromJSON

inheritedstatic Method
Signature
fromJSON (json: any): any
Inherited from: JSONSupportMixin

Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. The object passed into the input json parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.

Parameters
ParameterTypeDescriptionRequired
json
any

A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects.

Returns
any

Returns a new instance of this class.

clone

inherited Method
Signature
clone (): this
Inherited from: ClonableMixin

Creates a deep clone of this object. Any properties that store values by reference will be assigned copies of the referenced values on the cloned instance.

Returns
this

A deep clone of the class instance that invoked this method.

toJSON

inherited Method
Signature
toJSON (): any
Inherited from: JSONSupportMixin

Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.

Returns
any

The ArcGIS portal JSON representation of an instance of this class.