Skip to content
import CircuitManager from "@arcgis/core/networks/CircuitManager.js";
Inheritance:
CircuitManagerAccessor
Since
ArcGIS Maps SDK for JavaScript 4.34
beta

A CircuitManager provides access to circuit management capabilities for a telecom domain network in a utility network.

See also
Example
const utilityNetwork = new UtilityNetwork({
layerUrl: "https://host.com/arcgis/rest/services/Test/FeatureServer/0",
});
await utilityNetwork.load();
const domainNetworks = utilityNetwork.dataElement?.domainNetworks;
const telecomDomainNetwork = domainNetworks.find((dn) => dn.isTelecomNetwork);
const circuitManager = await utilityNetwork.getCircuitManager(telecomDomainNetwork.domainNetworkName);

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.

circuitSectionTable

readonly Property
Type
FeatureLayer

A FeatureLayer for the telecom domain network's circuit section table.

circuitTable

readonly Property
Type
FeatureLayer

A FeatureLayer for the telecom domain network's circuit table.

declaredClass

readonlyinherited Property
Type
string
Inherited from: Accessor

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

featureServiceUrl

readonly Property
Type
string

Returns the root feature service URL which the utility network is part of.

Example
`https://utilitynetwork.esri.com/server/rest/services/NapervilleElectric/FeatureServer/`

gdbVersion

readonly Property
Type
string | null | undefined

The version of the geodatabase of the feature service data used by the utility network. Read the Overview of versioning topic for more details about this capability.

historicMoment

readonly Property
Type
Date | null | undefined

The utility network's historic moment to query. If this property is not specified, queries will apply to the current features.

networkServiceUrl

readonly Property
Type
string

The URL of the network server.

Example
`https://utilitynetwork.esri.com/server/rest/services/NapervilleElectric/UtilityNetworkServer/`

subcircuitTable

readonly Property
Type
FeatureLayer

A FeatureLayer for the telecom domain network's subcircuit table.

telecomDomainNetwork

readonly Property
Type
DomainNetworkJSON

An object representing the telecom domain network in the utility network data element.

telecomDomainNetworkName

readonly Property
Type
string

The name of the telecom domain network.

utilityNetwork

readonly Property
Type
UtilityNetwork

The UtilityNetwork that contains the telecom domain network being managed.

Methods

MethodSignatureClass
fromJSON
inherited static
fromJSON(json: any): any
alter(circuit: Circuit): Promise<void>
create(circuit: Circuit): Promise<void>
delete(circuitNames: string[]): Promise<void>
export(props: ExportCircuitsProperties): Promise<CircuitExportResult[]>
getCircuit(circuitName: string, isSectioned?: boolean): Circuit
loadCircuitSectionTable(): Promise<FeatureLayer>
loadCircuitTable(): Promise<FeatureLayer>
loadSubcircuitTable(): Promise<FeatureLayer>
queryCircuitNames(props: QueryCircuitProperties): Promise<string[]>
queryCircuits(input: string[] | QueryCircuitProperties): Promise<Circuit[]>
toJSON
inherited
toJSON(): any
verify(props: VerifyCircuitsProperties): Promise<CircuitVerifyResult[]>

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.

alter

Method
Signature
alter (circuit: Circuit): Promise<void>

Modifies circuit information for an existing circuit in a telecom domain network. This method replaces the existing circuit definition with the provided circuit. If any properties are excluded from the provided circuit definition, it is removed from the circuit.

To alter an existing circuit, the provided Circuit must have a valid globalId property, else this method will throw an exception.

Parameters
ParameterTypeDescriptionRequired
circuit

The circuit to be altered.

Returns
Promise<void>

Resolves when the circuit is successfully altered.

create

Method
Signature
create (circuit: Circuit): Promise<void>

Creates a circuit in a telecom domain network.

Circuits created during an active edit session will not be returned by a query until the session has been ended with stopEditing.

Parameters
ParameterTypeDescriptionRequired
circuit

The circuit to create.

Returns
Promise<void>

Resolves when the circuit is successfully created.

delete

Method
Signature
delete (circuitNames: string[]): Promise<void>

Logically deletes one or more circuits in a telecom domain network.

Parameters
ParameterTypeDescriptionRequired
circuitNames
string[]

The names of the circuit or circuits to be deleted.

Returns
Promise<void>

Resolves when the specified circuits are successfully deleted.

export

Method
Signature
export (props: ExportCircuitsProperties): Promise<CircuitExportResult[]>

Exports feature and connectivity information about provided circuits in a telecom domain network into JSON files for consumption by external systems. Each circuit exported is output to a separate JSON file.

Parameters
ParameterTypeDescriptionRequired
props

An object specifying configuration settings for the export.

Returns
Promise<CircuitExportResult[]>

Resolves to an object specifying the export location and status for each circuit.

getCircuit

Method
Signature
getCircuit (circuitName: string, isSectioned?: boolean): Circuit

Returns a Circuit instance with its circuitManager property set to the current CircuitManager instance.

Parameters
ParameterTypeDescriptionRequired
circuitName

The name of the Circuit instance to create.

isSectioned

= false - Whether the Circuit instance is sectioned.

Returns
Circuit

A Circuit instance with its circuitManager property set to the current CircuitManager instance.

loadCircuitSectionTable

Method
Signature
loadCircuitSectionTable (): Promise<FeatureLayer>

Loads the telecom domain network's circuit section table.

Returns
Promise<FeatureLayer>

Resolves to a loaded FeatureLayer for the circuit section table.

loadCircuitTable

Method
Signature
loadCircuitTable (): Promise<FeatureLayer>

Loads the telecom domain network's circuit table.

Returns
Promise<FeatureLayer>

Resolves to a loaded FeatureLayer for the circuit table.

loadSubcircuitTable

Method
Signature
loadSubcircuitTable (): Promise<FeatureLayer>

Loads the telecom domain network's subcircuit table.

Returns
Promise<FeatureLayer>

Resolves to a loaded FeatureLayer for the subcircuit table.

queryCircuitNames

Method
Signature
queryCircuitNames (props: QueryCircuitProperties): Promise<string[]>

Returns the names of circuits in a telecom domain network with specified start/stop locations.

Querying circuits by location is not supported and will fail as of Telecom Domain Network Beta 2.

Parameters
ParameterTypeDescriptionRequired
props

The start/stop location of the circuits to query.

Returns
Promise<string[]>

The queried circuit names.

queryCircuits

Method
Signature
queryCircuits (input: string[] | QueryCircuitProperties): Promise<Circuit[]>

Returns circuits from a telecom domain network that satisfy a specified query. This method accepts two types of input: an array of circuit names, or an object specifying a trace location from which the circuits to query either start or stop.

If specifying a trace location: If returnConsumingCircuits is false, only the immediate circuits that pass through the specified feature are returned. Otherwise, all the circuits that consume the immediate circuits are returned.

Querying circuits by location is not supported and will fail as of Telecom Domain Network Beta 2.

Parameters
ParameterTypeDescriptionRequired
input

The names or start/stop location of the circuits to query.

Returns
Promise<Circuit[]>

The queried circuits.

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.

verify

Method
Signature
verify (props: VerifyCircuitsProperties): Promise<CircuitVerifyResult[]>

Checks the validity of circuits in a telecom domain network. The operation confirms that a circuit can be traced from the starting location to the stopping location and ensures that circuit sections and subcircuits are properly configured.

Parameters
ParameterTypeDescriptionRequired
props

An object specifying configuration settings for the verify operation.

Returns
Promise<CircuitVerifyResult[]>

Resolves to an array of objects specifying the verification status for each circuit.

Type definitions

QueryCircuitProperties

Type definition

Describes a start/stop circuit location for circuit queries.

Supertypes
Pick<QueryCircuitsParametersProperties‚ "location" | "locationType" | "returnConsumerCircuits">

ExportCircuitsProperties

Type definition
Supertypes
Pick<ExportCircuitsParametersProperties‚ "circuitNames" | "exportAcknowledgement" | "resultTypes">

VerifyCircuitsProperties

Type definition
Supertypes
Pick<VerifyCircuitsParametersProperties‚ "circuitNames" | "continueOnFailure" | "forceVerify" | "synthesizeGeometries">