1import{dS as b,hv as w,cl as _,hw as k,f9 as u,fa as v,e5 as f,cm as g,_ as l,m as p,e as M}from"./index-CyVzZKgG.js";import{h as B,d as L,T as S,S as V}from"./Stop-BlNQCn9t.js";import"./networkEnums-LD6hmCnC.js";function y(e,r){e.networkFeature=r}function F(e){const r=n(e.graphic);return{...e,networkFeature:r}}function G(e){const r=e.graphics.map(i=>n(i));return{...e,networkFeatures:r}}function n(e){return e.networkFeature}function N(e){return(e==null?void 0:e.type)==="point"||(e==null?void 0:e.type)==="polyline"||(e==null?void 0:e.type)==="polygon"}let o=class extends b{constructor(e){super(e),this._createMode=null,this._graphicsLayer=new w({internal:!0,listMode:"hide",title:"RouteLayerInteraction layer"}),this._updatingHandles=new _,this.enabled=!0,this._handleSketchViewModelEvents=async r=>{var i,s;switch(r.type){case"update":switch(r.state){case"active":case"complete":for(const t of r.graphics)n(t).geometry=N(t.geometry)?t.geometry.clone():null}break;case"undo":case"redo":break;case"delete":for(const t of r.graphics){const c=n(t);this._removeNetworkFeature(c)}break;case"create":if(r.graphic&&r.state==="complete"&&this._createMode){const t=(i=r.graphic.geometry)==null?void 0:i.clone(),c=(s=r.graphic.symbol)==null?void 0:s.clone();if(!t)break;switch(this._createMode){case"stop":{if(t.type!=="point")break;const{stops:a}=this.layer;if(a.length>0&&a.every(({geometry:h})=>!h)){a.at(0).geometry=t;break}if(a.length>1&&a.filter((h,m)=>m!==0).every(({geometry:h})=>!h)){a.at(1).geometry=t;break}const d=new V({geometry:t});a.add(d),y(r.graphic,d);break}case"point-barrier":{if(t.type!=="point")break;const a=new S({geometry:t,symbol:c});this.layer.pointBarriers.add(a),y(r.graphic,a);break}case"polyline-barrier":{if(t.type!=="polyline")break;const a=new L({geometry:t,symbol:c});this.layer.polylineBarriers.add(a),y(r.graphic,a);break}case"polygon-barrier":{if(t.type!=="polygon")break;const a=new B({geometry:t,symbol:c});this.layer.polygonBarriers.add(a),y(r.graphic,a);break}}}}(await this.view.whenLayerView(this.layer)).emit(r.type,r.type==="create"?F(r):G(r))}}initialize(){this._sketchViewModel=new k({layer:this._graphicsLayer,view:this.view}),this.addHandles([u(()=>this.enabled,e=>{e?this._activate():this._deactivate()},v),u(()=>{const{stops:e,pointBarriers:r,polylineBarriers:i,polygonBarriers:s}=this.layer;return{stops:e,pointBarriers:r,polylineBarriers:i,polygonBarriers:s}},()=>{this.enabled&&this._loadClonedGraphics()}),this._sketchViewModel.on(["create","delete","redo","undo","update"],this._handleSketchViewModelEvents),f(this._updatingHandles)])}destroy(){this.view.map.remove(this._graphicsLayer),this._graphicsLayer.removeAll(),this._graphicsLayer=g(this._graphicsLayer),this._sketchViewModel=g(this._sketchViewModel)}get selectedNetworkFeatures(){return this._sketchViewModel.updateGraphics.map(e=>n(e))}get updating(){return this._updatingHandles.updating}create(e){var r;switch(this._createMode=e,e){case"stop":(r=this.layer.defaultSymbols.stops)!=null&&r.unlocated&&(this._sketchViewModel.pointSymbol=this.layer.defaultSymbols.stops.unlocated.clone());break;case"point-barrier":this.layer.defaultSymbols.pointBarriers&&(this._sketchViewModel.pointSymbol=this.layer.defaultSymbols.pointBarriers.clone());break;case"polyline-barrier":this.layer.defaultSymbols.polylineBarriers&&(this._sketchViewModel.polylineSymbol=this.layer.defaultSymbols.polylineBarriers.clone());break;case"polygon-barrier":this.layer.defaultSymbols.polygonBarriers&&(this._sketchViewModel.polygonSymbol=this.layer.defaultSymbols.polygonBarriers.clone())}switch(e){case"stop":case"point-barrier":return this._sketchViewModel.create("point");case"polyline-barrier":return this._sketchViewModel.create("polyline");case"polygon-barrier":return this._sketchViewModel.create("polygon")}}remove(e){const r=this._graphicsLayer.graphics.find(i=>n(i)===e);r&&this._graphicsLayer.remove(r),this._removeNetworkFeature(e)}_activate(){this._loadClonedGraphics(),this.view.map.add(this._graphicsLayer)}_deactivate(){var e;this._sketchViewModel.cancel(),(e=this.view.map)==null||e.remove(this._graphicsLayer),this._graphicsLayer.removeAll()}_loadClonedGraphics(){const e=[this.layer.stops,this.layer.pointBarriers,this.layer.polylineBarriers,this.layer.polygonBarriers].flatMap(r=>r.toArray().map(i=>{const s=i.toGraphic();return s.networkFeature=i,s}));this._graphicsLayer.removeAll().addMany(e)}_removeNetworkFeature(e){switch(e.type){case"stop":this.layer.stops.remove(e);break;case"point-barrier":this.layer.pointBarriers.remove(e);break;case"polyline-barrier":this.layer.polylineBarriers.remove(e);break;case"polygon-barrier":this.layer.polygonBarriers.remove(e)}}};l([p()],o.prototype,"enabled",void 0),l([p({constructOnly:!0})],o.prototype,"layer",void 0),l([p({readOnly:!0})],o.prototype,"selectedNetworkFeatures",null),l([p()],o.prototype,"updating",null),l([p({constructOnly:!0})],o.prototype,"view",void 0),o=l([M("esri.views.2d.layers.support.RouteLayerInteraction")],o);export{o as RouteLayerInteraction};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.