@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 2.7 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
*/
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import has from"../../core/has.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{EffectView as f}from"./EffectView.js";let c=class extends t{constructor(e){super(e),this._filter=null,this.duration=has("mapview-transitions-duration"),this._excludedEffectView=new f(e),this._includedEffectView=new f(e)}get excludedEffects(){return this._excludedEffectView.effects}set featureEffect(e){this._get("featureEffect")!==e&&this._transitionTo(e)}get filter(){return this._filter||this.featureEffect?.filter||null}get hasEffects(){return this._excludedEffectView.hasEffects||this._includedEffectView.hasEffects}get includedEffects(){return this._includedEffectView.effects}set scale(e){this._set("scale",e),this._excludedEffectView.scale=e,this._includedEffectView.scale=e}get transitioning(){return this._excludedEffectView.transitioning||this._includedEffectView.transitioning}get transitioningToEmpty(){return!this._excludedEffectView.final&&!this._includedEffectView.final}transitionStep(e,t){this._set("scale",t),this.transitioning?(this._includedEffectView.transitionStep(e,t),this._excludedEffectView.transitionStep(e,t),this.transitioning||(this._filter=null)):(this._excludedEffectView.scale=t,this._includedEffectView.scale=t)}endTransition(){this._includedEffectView.endTransition(),this._excludedEffectView.endTransition(),this._filter=null}_transitionTo(e){const t=this._get("featureEffect"),i=e,s=i?.includedEffect,f=i?.excludedEffect,c=this._includedEffectView.canTransitionTo(s)&&this._excludedEffectView.canTransitionTo(f);this._includedEffectView.effect=s,this._excludedEffectView.effect=f,this._set("featureEffect",i),this._filter=i?.filter||t?.filter||null,c||this.endTransition()}};e([i()],c.prototype,"_filter",void 0),e([i()],c.prototype,"_excludedEffectView",void 0),e([i()],c.prototype,"_includedEffectView",void 0),e([i()],c.prototype,"duration",void 0),e([i()],c.prototype,"excludedEffects",null),e([i()],c.prototype,"featureEffect",null),e([i()],c.prototype,"filter",null),e([i()],c.prototype,"hasEffects",null),e([i()],c.prototype,"includedEffects",null),e([i({value:0})],c.prototype,"scale",null),e([i()],c.prototype,"transitioning",null),e([i()],c.prototype,"transitioningToEmpty",null),c=e([s("esri.layers.effects.FeatureEffectView")],c);const r=c;export{r as default};