@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
103 lines (101 loc) • 5.02 kB
TypeScript
import type UtilityNetwork from "./UtilityNetwork.js";
import type UnitQueryResult from "../rest/networks/unitIdentifiers/support/UnitQueryResult.js";
import type { JSONSupport } from "../core/JSONSupport.js";
import type { UnitIdentifier } from "./support/jsonTypes.js";
import type { UtilityNetworkProperties } from "./UtilityNetwork.js";
export interface UnitIdentifierManagerProperties {
/**
* The [UtilityNetwork](https://developers.arcgis.com/javascript/latest/references/core/networks/UtilityNetwork/) that contains the telecom
* domain network being managed.
*/
utilityNetwork?: UtilityNetworkProperties;
}
/**
* A UnitIdentifierManager provides access to unit identifier management capabilities for a
* telecom domain network in a utility network.
*
* @beta
* @since 4.34
* @see [UtilityNetwork](https://developers.arcgis.com/javascript/latest/references/core/networks/UtilityNetwork/)
* @see [CircuitManager](https://developers.arcgis.com/javascript/latest/references/core/networks/CircuitManager/)
* @see [Telecom domain network](https://pro.arcgis.com/en/pro-app/latest/help/data/utility-network/telecom-domain-networks.htm)
* @example
* const utilityNetwork = new UtilityNetwork({
* layerUrl: "https://host.com/arcgis/rest/services/Test/FeatureServer/0",
* });
*
* await utilityNetwork.load();
*
* const unitIdentifierManager = await utilityNetwork.getUnitIdentifierManager();
*/
export default class UnitIdentifierManager extends JSONSupport {
constructor(properties?: UnitIdentifierManagerProperties);
/**
* Returns the root feature service URL which the utility network is part of.
*
* @example `https://utilitynetwork.esri.com/server/rest/services/NapervilleElectric/FeatureServer/`
*/
get featureServiceUrl(): string;
/**
* The version of the geodatabase of the feature service data used by the utility network.
* Read the [Overview of versioning](https://pro.arcgis.com/en/pro-app/latest/help/data/geodatabases/overview/overview-of-versioning-in-arcgis-pro.htm)
* topic for more details about this capability.
*/
get gdbVersion(): string | null | undefined;
/**
* The utility network's historic moment to query.
* If this property is not specified, queries will apply to the current features.
*/
get historicMoment(): Date | null | undefined;
/**
* The URL of the network server.
*
* @example `https://utilitynetwork.esri.com/server/rest/services/NapervilleElectric/UtilityNetworkServer/`
*/
get networkServiceUrl(): string;
/**
* The [UtilityNetwork](https://developers.arcgis.com/javascript/latest/references/core/networks/UtilityNetwork/) that contains the telecom
* domain network being managed.
*/
get utilityNetwork(): UtilityNetwork;
/**
* Shifts existing records in the containment hierarchy of a unit container's NextUnitID sequence
* to reserve a range of unit IDs in a telecom domain network.
*
* When a gap is inserted at the end of the sequence, the `NEXTUNITID` attribute value for the unit container increases.
* If a gap is inserted into the middle of an existing sequence, the system will attempt to shift existing
* records to accommodate the reserved space. The operation will fail and return an error if the reservation requires
* regrouping an object or occurs in the middle of a connectivity assignment.
*
* @param container - The unit container to insert a gap into.
* @param firstUnit - The first unit for the gap to be introduced.
* @param numUnits - The number of units in the gap.
* @returns Resolves when the gap is successfully inserted.
*/
insertGap(container: UnitIdentifier, firstUnit: number, numUnits: number): Promise<void>;
/**
* Returns unit identifiers for, and existing gaps in, a unit container feature's containment hierarchy in a
* telecom domain network.
*
* @param containers - The unit container features or objects to query.
* @returns Resolves to an array of objects describing
* the unit identifiers and gaps for the specified unit containers.
*/
query(containers: UnitIdentifier[]): Promise<UnitQueryResult[]>;
/**
* Resets the unit identifiers associated with one or more unit container features in a telecom domain network.
* This is done to condense the unit identifier space or overcome unit identifier sequence exhaustion.
*
* @param containers - The unit container features or objects to be reset.
* @returns Resolves when the containers are successfully reset.
*/
reset(containers: UnitIdentifier[]): Promise<void>;
/**
* Alters the number of units associated with a unit identifier feature in a telecom domain network.
*
* @param content - The unit identifiable feature or object being resized.
* @param numUnits - The number of units for the feature or object to be resized to.
* @returns Resolves when the feature or object is successfully resized.
*/
resize(content: UnitIdentifier, numUnits: number): Promise<void>;
}