FeatureEffectView.js 2.6 KB

12345
  1. /*
  2. All material copyright ESRI, All Rights Reserved, unless otherwise specified.
  3. See https://js.arcgis.com/4.25/esri/copyright.txt for details.
  4. */
  5. import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import has from"../../core/has.js";import{unwrap as i}from"../../core/maybe.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/accessorSupport/ensureType.js";import{subclass as f}from"../../core/accessorSupport/decorators/subclass.js";import{EffectView as c}from"./EffectView.js";let r=class extends t{constructor(e){super(e),this._filter=null,this.duration=has("mapview-transitions-duration"),this._excludedEffectView=new c(e),this._includedEffectView=new c(e)}get excludedEffects(){return this._excludedEffectView.effects}set featureEffect(e){this._get("featureEffect")!==e&&this._transitionTo(e)}get filter(){return this._filter||i(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}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)}endTransitions(){this._includedEffectView.endTransitions(),this._excludedEffectView.endTransitions(),this._filter=null}_transitionTo(e){const t=this._get("featureEffect"),s=i(e),f=i(s?.includedEffect),c=i(s?.excludedEffect),r=this._includedEffectView.canTransitionTo(f)&&this._excludedEffectView.canTransitionTo(c);this._includedEffectView.effect=f,this._excludedEffectView.effect=c,this._set("featureEffect",s),this._filter=s?.filter||t?.filter||null,r||this.endTransitions()}};e([s()],r.prototype,"_filter",void 0),e([s()],r.prototype,"_excludedEffectView",void 0),e([s()],r.prototype,"_includedEffectView",void 0),e([s()],r.prototype,"duration",void 0),e([s()],r.prototype,"excludedEffects",null),e([s()],r.prototype,"featureEffect",null),e([s()],r.prototype,"filter",null),e([s()],r.prototype,"hasEffects",null),e([s()],r.prototype,"includedEffects",null),e([s({value:0})],r.prototype,"scale",null),e([s()],r.prototype,"transitioning",null),r=e([f("esri.layers.effects.FeatureEffectView")],r);const o=r;export{o as default};