Custom Gis Application with Arcgis Javascript API with modern layouting
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

8 lines
2.4 KiB

// All material copyright Esri, All Rights Reserved, unless otherwise specified.
// See https://js.arcgis.com/4.30/esri/copyright.txt for details.
//>>built
define("exports ../../../chunks/tslib.es6 ../../../core/Accessor ../../../core/maybe ../../../core/promiseUtils ../../../core/accessorSupport/decorators/property ../../../core/has ../../../core/Logger ../../../core/RandomLCG ../../../core/accessorSupport/decorators/subclass ../../support/Scheduler".split(" "),function(c,g,p,k,q,h,t,u,v,r,m){c.SnappingOperation=class extends p{constructor(a){super(a);this.constrainResult=b=>b;this._stagedPoint=this._abortController=this._frameTask=this._snapPoints=
null;this._snap=q.debounce(async(b,d,f,e)=>{const l=this._frameTask;if(null!=l){var n=await l.schedule(()=>d.snap({...b,context:f,signal:e}),e);n.valid&&await l.schedule(()=>{this.stagedPoint=n.apply();b!==this._snapPoints&&null!=this._snapPoints&&(this.stagedPoint=d.update({...this._snapPoints,context:f}))},e)}})}get stagedPoint(){return this._stagedPoint}set stagedPoint(a){this._stagedPoint=this.constrainResult(a)}initialize(){const a="3d"===this.view.type?this.view?.resourceController?.scheduler:
null;this._frameTask=null!=a?a.registerTask(m.TaskPriority.SNAPPING):m.ImmediateTask}destroy(){this._abortController=k.abortMaybe(this._abortController);this._frameTask=k.removeMaybe(this._frameTask)}update(a,b,d){this._snapPoints=a;const {point:f,scenePoint:e}=a;return this.stagedPoint=a=b.update({point:f,scenePoint:e,context:d})}async snap(a,b,d){const {point:f,scenePoint:e}=a;this.stagedPoint=b.update({point:f,scenePoint:e,context:d});this._snapPoints=a;null==this._abortController&&(this._abortController=
new AbortController);return this._snap(a,b,d,this._abortController.signal)}async snapAgainNearPreviousMapPoint(a,b){null!=this._snapPoints&&await this.snap(this._snapPoints,a,b)}abort(){this._abortController=k.abortMaybe(this._abortController);this._snapPoints=null}};g.__decorate([h.property({constructOnly:!0})],c.SnappingOperation.prototype,"view",void 0);g.__decorate([h.property()],c.SnappingOperation.prototype,"stagedPoint",null);g.__decorate([h.property()],c.SnappingOperation.prototype,"constrainResult",
void 0);g.__decorate([h.property()],c.SnappingOperation.prototype,"_stagedPoint",void 0);c.SnappingOperation=g.__decorate([r.subclass("esri.views.interactive.snapping.SnappingOperation")],c.SnappingOperation);Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});