UNPKG

@arcgis/core

Version:

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

3 lines (2 loc) 2.6 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */ import{__decorate as t}from"tslib";import{EventedMixin as i}from"../../core/Evented.js";import{JSONSupport as o}from"../../core/JSONSupport.js";import e from"../../core/Logger.js";import{on as s}from"../../core/reactiveUtils.js";import{property as r,subclass as a}from"../../core/accessorSupport/decorators.js";import n from"./CircuitLocation.js";import p from"./CircuitPath.js";import c from"./Subcircuit.js";import{CircuitSectionRoleKebabDict as u,CircuitTypeKebabDict as l}from"./typeUtils.js";let d=class extends(i(o)){constructor(t){super(t),this.attributes=null,this.globalId=null,this.sectionId=null,this.role="start-and-end",this.sectionType="physical",this.startLocation=null,this.stopLocation=null,this.subcircuit=null,this.path=null,this._updateHandler=t=>{const{sectionId:i,section:o}=t;this.sectionId===i&&this.read(o)}}initialize(){this.addHandles([s(()=>this,"update",this._updateHandler)])}normalizeCtorArgs(t){if(void 0===t)return t;const{sectionId:i,startLocation:o,stopLocation:s,subcircuit:r}=t;return(o||s)&&r?(delete t.startLocation,delete t.stopLocation,e.getLogger(this).warn("Cannot instantiate CircuitSection with both start/stop locations and subcircuit.",`CircuitSection with ID '${i}' was defaulted to having a subcircuit only.`)):(o&&!s||!o&&s)&&!r&&e.getLogger(this).warn(`CircuitSection with ID '${i}' must have both start and stop locations.`,"Create/alter operations involving this section will fail unless both are populated."),t}setStartStopLocations(t,i){this.startLocation=t,this.stopLocation=i,this.subcircuit=null}setSubcircuit(t){this.subcircuit=t,this.startLocation=null,this.stopLocation=null}getAttribute(t){return this.attributes?.[t]}setAttribute(t,i){this.attributes?this.attributes[t]=i:this.attributes={[t]:i}}};t([r({json:{write:{allowNull:!0,writer:(t,i)=>i.attributes=t??{}}}})],d.prototype,"attributes",void 0),t([r({type:String,json:{write:!0}})],d.prototype,"globalId",void 0),t([r({type:Number,json:{write:!0}})],d.prototype,"sectionId",void 0),t([r({type:u.apiValues,json:{type:u.jsonValues,read:u.read},readOnly:!0})],d.prototype,"role",void 0),t([r({type:l.apiValues,json:{type:l.jsonValues,read:l.read,write:l.write}})],d.prototype,"sectionType",void 0),t([r({type:n,json:{write:!0}})],d.prototype,"startLocation",void 0),t([r({type:n,json:{write:!0}})],d.prototype,"stopLocation",void 0),t([r({type:c,json:{write:!0}})],d.prototype,"subcircuit",void 0),t([r({type:p,readOnly:!0})],d.prototype,"path",void 0),d=t([a("esri.networks.support.CircuitSection")],d);export{d as default};