ZoomViewModel.js 1.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 o}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import{isSome as s}from"../../core/maybe.js";import{ignoreAbortErrors as i}from"../../core/promiseUtils.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/accessorSupport/ensureType.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import n from"./ZoomConditions2D.js";import m from"./ZoomConditions3D.js";let p=class extends t{constructor(o){super(o)}destroy(){this.view=null}get canZoomIn(){return s(this._zoomConditions)&&this._zoomConditions.canZoomIn}get canZoomOut(){return s(this._zoomConditions)&&this._zoomConditions?.canZoomOut}get state(){return this.view?.ready?"ready":"disabled"}set view(o){o?"2d"===o.type?this._zoomConditions=new n({view:o}):"3d"===o.type&&(this._zoomConditions=new m({view:o})):this._zoomConditions=null,this._set("view",o)}zoomIn(){if(!this.canZoomIn)return;const o=this.view;"2d"===o.type?o.mapViewNavigation.zoomIn():i(o.goTo({zoomFactor:2}))}zoomOut(){if(!this.canZoomOut)return;const o=this.view;"2d"===o.type?o.mapViewNavigation.zoomOut():i(o.goTo({zoomFactor:.5}))}};o([e()],p.prototype,"_zoomConditions",void 0),o([e()],p.prototype,"canZoomIn",null),o([e()],p.prototype,"canZoomOut",null),o([e({readOnly:!0})],p.prototype,"state",null),o([e()],p.prototype,"view",null),p=o([r("esri.widgets.Zoom.ZoomViewModel")],p);const a=p;export{a as default};