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
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"})}); |