@arcgis/map-components 4.29.0-beta.81 → 4.29.0-beta.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"names":["mapCss","ArcgisMap","this","_watchHandles","backgroundWatcher","value","view","background","basemapWatcher","map","isNullOrEmptyString","basemap","centerWatcher","center","equals","constraintsWatcher","constraints","extentWatcher","extent","floorsWatcher","floors","graphicsWatcher","graphics","highlightOptionsWatcher","highlightOptions","itemIdWatcher","old","_updateMap","_loadMap","mapWatcher","navigationWatcher","navigation","paddingWatcher","padding","popupEnabledWatcher","popupEnabled","resizeAlignWatcher","resizeAlign","rotationWatcher","rotation","scaleWatcher","interacting","scale","spatialReferenceWatcher","spatialReference","themeWatcher","theme","timeExtentWatcher","timeExtent","timeZoneWatcher","timeZone","viewpointWatcher","isNotSameViewpoint","viewpoint","zoomWatcher","zoom","closePopup","destroy","destroyDisabled","_clearWatchHandles","goTo","target","options","hitTest","screenPoint","openPopup","takeScreenshot","tryFatalErrorRecovery","whenLayerView","layer","connectedCallback","newViewsMapView","componentWillLoad","componentDidRender","container","el","componentDidLoad","_proxyEvents","disconnectedCallback","render","h","class","ref","forEach","handle","remove","_addWatchers","watch","when","importCoreReactiveUtils","addHandles","ready","arcgisViewReadyChange","emit","initial","stationary","navigating","arcgisViewChange","allLayerViews","fatalError","input","gamepad","layerViews","popup","resolution","suspended","updating","_createMap","mapParams","itemId","portalItem","_createPortalItem","newWebMap","itemProps","id","_createViewParams","params","split","x","Number","undefined","async","toMap","bind","toScreen","on","event","arcgisViewClick","arcgisViewDoubleClick","arcgisViewDrag","arcgisViewHold","arcgisViewImmediateClick","arcgisViewImmediateDoubleClick","arcgisViewKeyDown","arcgisViewKeyUp","arcgisViewLayerviewCreate","arcgisViewLayerviewCreateError","arcgisViewLayerviewDestroy","arcgisViewMouseWheel","arcgisViewPointerDown","arcgisViewPointerEnter","arcgisViewPointerLeave","arcgisViewPointerMove","arcgisViewPointerUp"],"sources":["src/components/map/map.css?tag=arcgis-map","src/components/map/map.tsx"],"sourcesContent":[".arcgis-map {\n padding: 0;\n margin: 0;\n height: 100%;\n width: 100%;\n}\n","import type { EventEmitter, VNode } from \"@stencil/core\";\nimport { Component, Element, Event, Method, Prop, Watch, h } from \"@stencil/core\";\n\n// arcgis imports\nimport { importCoreReactiveUtils, newViewsMapView, newWebMap } from \"@arcgis/core-adapter\";\nimport type WebMap from \"@arcgis/core/WebMap\";\nimport type { ViewElement } from \"../../utils/component-utils\";\nimport { addHandles, isNotSameViewpoint, isNullOrEmptyString } from \"../../utils/component-utils\";\nimport type { ArcGISMapView } from \"../types\";\n\nexport type ArcGISWebMap = InstanceType<typeof WebMap>;\n\n@Component({\n tag: \"arcgis-map\",\n styleUrl: \"map.css\",\n shadow: false\n})\nexport class ArcgisMap implements ViewElement {\n //--------------------------------------------------------------------------\n //\n // Elements\n //\n //--------------------------------------------------------------------------\n\n el: HTMLDivElement;\n\n @Element() _hostElement!: HTMLArcgisMapElement;\n\n //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n @Prop({ mutable: true }) allLayerViews: ArcGISMapView[\"allLayerViews\"];\n\n @Prop({ mutable: true }) background: ArcGISMapView[\"background\"];\n\n @Watch(\"background\")\n backgroundWatcher(value: ArcGISMapView[\"background\"]): void {\n if (this.view) {\n this.background = value;\n }\n }\n\n @Prop({ mutable: true }) basemapView: ArcGISMapView[\"basemapView\"];\n\n @Prop({ mutable: true }) basemap: ArcGISWebMap[\"basemap\"];\n\n @Watch(\"basemap\")\n basemapWatcher(value: string): void {\n if (this.view?.map && isNullOrEmptyString(value)) {\n this.view.map.basemap = value as unknown as __esri.Basemap;\n }\n }\n\n @Prop({ mutable: true }) center: ArcGISMapView[\"center\"] | string;\n\n @Watch(\"center\")\n centerWatcher(value: ArcGISMapView[\"center\"]): void {\n if (this.view && value && !this.view.center.equals(value)) {\n this.view.center = value;\n }\n }\n\n @Prop() constraints: ArcGISMapView[\"constraints\"];\n\n @Watch(\"constraints\")\n constraintsWatcher(value: ArcGISMapView[\"constraints\"]): void {\n if (this.view) {\n this.view.constraints = value;\n }\n }\n\n @Prop() destroyDisabled = false;\n\n @Prop({ mutable: true }) extent: ArcGISMapView[\"extent\"];\n\n @Watch(\"extent\")\n extentWatcher(value: ArcGISMapView[\"extent\"]): void {\n if (this.view && value && !this.view.extent.equals(value)) {\n this.view.extent = value;\n }\n }\n\n @Prop({ mutable: true }) fatalError: ArcGISMapView[\"fatalError\"];\n\n @Prop() floors: ArcGISMapView[\"floors\"];\n\n @Watch(\"floors\")\n floorsWatcher(value: ArcGISMapView[\"floors\"]): void {\n if (this.view) {\n this.view.floors = value;\n }\n }\n\n @Prop({ mutable: true }) gamepad: __esri.GamepadSettings;\n\n @Prop({ mutable: true }) graphics: ArcGISMapView[\"graphics\"];\n\n @Watch(\"graphics\")\n graphicsWatcher(value: ArcGISMapView[\"graphics\"]): void {\n if (this.view) {\n this.view.graphics = value;\n }\n }\n\n @Prop() highlightOptions: ArcGISMapView[\"highlightOptions\"];\n\n @Watch(\"highlightOptions\")\n highlightOptionsWatcher(value: ArcGISMapView[\"highlightOptions\"]): void {\n if (this.view) {\n this.view.highlightOptions = value;\n }\n }\n\n @Prop({ mutable: true }) interacting = false;\n\n @Prop({ mutable: true, reflect: true }) itemId: string;\n\n @Watch(\"itemId\")\n itemIdWatcher(value: string, old: string): void {\n // NOTE: there is an issue when users set the value to undefined.\n // https://github.com/ionic-team/stencil/issues/2814\n // If user sets `itemid` to `undefined`, Stencil 2 will log the following warning:\n // `The state/prop \"${propName}\" changed during rendering.`\n // `This can potentially lead to infinite-loops and other bugs.`\n //\n // It appears consumer setting the value to null does not cause this warning.\n // In Stencil 4, if a user sets property to undefined, will trigger change, but\n // will not remove attribute from DOM.\n if (value !== old) {\n if (this.view?.map) {\n void this._updateMap();\n } else {\n void this._loadMap();\n }\n }\n }\n\n @Prop({ mutable: true }) layerViews: ArcGISMapView[\"layerViews\"];\n\n @Prop({ mutable: true }) magnifier: ArcGISMapView[\"magnifier\"];\n\n @Prop({ mutable: true }) map: ArcGISWebMap;\n\n @Watch(\"map\")\n mapWatcher(value: ArcGISWebMap): void {\n if (this.view) {\n this.view.map = value;\n }\n }\n\n @Prop({ mutable: true }) navigating = false;\n\n @Prop({ mutable: true }) navigation: ArcGISMapView[\"navigation\"];\n\n @Watch(\"navigation\")\n navigationWatcher(value: ArcGISMapView[\"navigation\"]): void {\n if (this.view) {\n this.view.navigation = value;\n }\n }\n\n @Prop() padding: ArcGISMapView[\"padding\"];\n\n @Watch(\"padding\")\n paddingWatcher(value: ArcGISMapView[\"padding\"]): void {\n if (this.view) {\n this.view.padding = value;\n }\n }\n\n @Prop({ mutable: true }) popup: ArcGISMapView[\"popup\"];\n\n @Prop() popupEnabled = true;\n\n @Watch(\"popupEnabled\")\n popupEnabledWatcher(value: boolean, old: boolean): void {\n if (value !== old && this.view) {\n this.view.popupEnabled = value;\n }\n }\n\n @Prop({ mutable: true }) ready = false;\n\n @Prop() resizeAlign: ArcGISMapView[\"resizeAlign\"];\n\n @Watch(\"resizeAlign\")\n resizeAlignWatcher(value: ArcGISMapView[\"resizeAlign\"]): void {\n if (this.view) {\n this.view.resizeAlign = value;\n }\n }\n\n @Prop({ mutable: true }) resolution: ArcGISMapView[\"resolution\"];\n\n @Prop({ mutable: true }) rotation = 0;\n\n @Watch(\"rotation\")\n rotationWatcher(value: number): void {\n if (this.view && this.view.rotation !== value) {\n this.view.rotation = value;\n }\n }\n\n @Prop({ mutable: true }) scale: number;\n\n @Watch(\"scale\")\n scaleWatcher(value: number, old: number): void {\n if (!this.view?.interacting && value != null && value !== old) {\n this.view.scale = value;\n }\n }\n\n @Prop({ mutable: true }) spatialReference: ArcGISMapView[\"spatialReference\"];\n\n @Watch(\"spatialReference\")\n spatialReferenceWatcher(value: ArcGISMapView[\"spatialReference\"]): void {\n if (this.view && value && !this.view.spatialReference.equals(value)) {\n this.view.spatialReference = value;\n }\n }\n\n @Prop({ mutable: true }) stationary: boolean;\n\n @Prop({ mutable: true, reflect: true }) suspended = true;\n\n @Prop() theme: ArcGISMapView[\"theme\"];\n\n @Watch(\"theme\")\n themeWatcher(value: ArcGISMapView[\"theme\"]): void {\n if (this.view) {\n this.view.theme = value;\n }\n }\n\n @Prop() timeExtent: ArcGISMapView[\"timeExtent\"];\n\n @Watch(\"timeExtent\")\n timeExtentWatcher(value: ArcGISMapView[\"timeExtent\"]): void {\n if (this.view) {\n this.view.timeExtent = value;\n }\n }\n\n @Prop() timeZone: ArcGISMapView[\"timeZone\"] = \"system\";\n\n @Watch(\"timeZone\")\n timeZoneWatcher(value: ArcGISMapView[\"timeZone\"]): void {\n if (this.view) {\n this.view.timeZone = value;\n }\n }\n\n // Start functions as properties\n\n @Prop({ mutable: true }) toMap: ArcGISMapView[\"toMap\"];\n\n @Prop({ mutable: true }) toScreen: ArcGISMapView[\"toScreen\"];\n\n // End functions as properties\n\n @Prop({ mutable: true, reflect: true }) updating = false;\n\n @Prop({ mutable: true }) viewpoint: ArcGISMapView[\"viewpoint\"];\n\n @Watch(\"viewpoint\")\n viewpointWatcher(value: ArcGISMapView[\"viewpoint\"]): void {\n if (this.view && isNotSameViewpoint(this.view.viewpoint, value)) {\n this.view.viewpoint = value;\n }\n }\n\n @Prop({ mutable: true, reflect: true }) zoom: number;\n\n @Watch(\"zoom\")\n zoomWatcher(value: number, old: number): void {\n if (!this.view?.interacting && value != null && value !== old) {\n this.view.zoom = value;\n }\n }\n\n /**\n * Internal view of the component.\n */\n @Prop({ mutable: true }) view: ArcGISMapView;\n\n _watchHandles: __esri.WatchHandle[] = [];\n\n //--------------------------------------------------------------------------\n //\n // Events\n //\n //--------------------------------------------------------------------------\n\n @Event({ cancelable: true }) arcgisViewReadyChange!: EventEmitter;\n @Event({ cancelable: true }) arcgisViewChange!: EventEmitter;\n\n // proxy view events\n @Event({ cancelable: true }) arcgisViewClick!: EventEmitter<__esri.ViewClickEvent>;\n @Event({ cancelable: true }) arcgisViewDoubleClick!: EventEmitter<__esri.ViewDoubleClickEvent>;\n @Event({ cancelable: true }) arcgisViewDrag!: EventEmitter<__esri.ViewDragEvent>;\n @Event({ cancelable: true }) arcgisViewHold!: EventEmitter<__esri.ViewHoldEvent>;\n @Event({ cancelable: true }) arcgisViewImmediateClick!: EventEmitter<__esri.ViewImmediateClickEvent>;\n @Event({ cancelable: true }) arcgisViewImmediateDoubleClick!: EventEmitter<__esri.ViewImmediateDoubleClickEvent>;\n @Event({ cancelable: true }) arcgisViewKeyDown!: EventEmitter<__esri.ViewKeyDownEvent>;\n @Event({ cancelable: true }) arcgisViewKeyUp!: EventEmitter<__esri.ViewKeyUpEvent>;\n @Event({ cancelable: true }) arcgisViewLayerviewCreate!: EventEmitter<__esri.ViewLayerviewCreateEvent>;\n @Event({ cancelable: true }) arcgisViewLayerviewCreateError!: EventEmitter<__esri.ViewLayerviewCreateErrorEvent>;\n @Event({ cancelable: true }) arcgisViewLayerviewDestroy!: EventEmitter<__esri.ViewLayerviewDestroyEvent>;\n @Event({ cancelable: true }) arcgisViewMouseWheel!: EventEmitter<__esri.ViewMouseWheelEvent>;\n @Event({ cancelable: true }) arcgisViewPointerDown!: EventEmitter<__esri.ViewPointerDownEvent>;\n @Event({ cancelable: true }) arcgisViewPointerEnter!: EventEmitter<__esri.ViewPointerEnterEvent>;\n @Event({ cancelable: true }) arcgisViewPointerLeave!: EventEmitter<__esri.ViewPointerLeaveEvent>;\n @Event({ cancelable: true }) arcgisViewPointerMove!: EventEmitter<__esri.ViewPointerMoveEvent>;\n @Event({ cancelable: true }) arcgisViewPointerUp!: EventEmitter<__esri.ViewPointerUpEvent>;\n\n //--------------------------------------------------------------------------\n //\n // Methods\n //\n //--------------------------------------------------------------------------\n\n @Method()\n async closePopup(): Promise<void> {\n this.view?.closePopup();\n }\n\n @Method()\n async destroy(): Promise<void> {\n if (this.destroyDisabled) {\n this._clearWatchHandles();\n this.view.destroy();\n }\n }\n\n @Method()\n async goTo(target: __esri.GoToTarget2D, options?: __esri.GoToOptions2D): Promise<any> {\n return (await this.view?.goTo(target, options)) as unknown;\n }\n\n @Method()\n async hitTest(screenPoint: __esri.ScreenPoint, options?: Record<string, any>): Promise<__esri.HitTestResult> {\n return await this.view?.hitTest(screenPoint, options);\n }\n\n @Method()\n async openPopup(options?: Record<string, any>): Promise<any> {\n return void this.view?.openPopup(options) as unknown;\n }\n\n @Method()\n async takeScreenshot(options?: Record<string, any>): Promise<__esri.Screenshot> {\n return await this.view?.takeScreenshot(options);\n }\n\n @Method()\n async tryFatalErrorRecovery(): Promise<void> {\n this.view?.tryFatalErrorRecovery();\n }\n\n @Method()\n async whenLayerView(layer: __esri.Layer): Promise<__esri.LayerView> {\n return await this.view?.whenLayerView(layer);\n }\n\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n\n async connectedCallback(): Promise<void> {\n this.view = await newViewsMapView({});\n }\n\n async componentWillLoad(): Promise<void> {\n await this._loadMap();\n }\n\n componentDidRender(): void {\n if (this.view && !this.view.container) {\n this.view.container = this.el;\n }\n }\n\n componentDidLoad(): void {\n this._proxyEvents();\n }\n\n disconnectedCallback(): void {\n void this.destroy();\n }\n\n render(): VNode {\n return <div class=\"arcgis-map\" ref={(el) => (this.el = el!)}></div>;\n }\n\n //--------------------------------------------------------------------------\n //\n // Private Methods\n //\n //--------------------------------------------------------------------------\n\n private _clearWatchHandles(): void {\n this._watchHandles.forEach((handle) => handle.remove());\n this._watchHandles = [];\n }\n\n private async _addWatchers(): Promise<void> {\n const { watch, when } = await importCoreReactiveUtils();\n addHandles(this, [\n // watch for ready and emit arcgisViewReadyChange event\n watch(\n () => this.view.ready,\n () => {\n this.ready = this.view.ready;\n this.arcgisViewReadyChange.emit();\n },\n {\n initial: true\n }\n ),\n // watch for stationary and emit arcgisViewChange event\n watch(\n () => this.view.stationary,\n () => {\n this.stationary = this.view.stationary;\n this.interacting = this.view.interacting;\n this.navigating = this.view.navigating;\n this.arcgisViewChange.emit();\n },\n {\n initial: true\n }\n ),\n // when view stationary is true, update these props:\n // zoom, scale, center, rotation, extent, camera, viewpoint\n when(\n () => this.view.stationary,\n () => {\n this.center = this.view.center;\n this.extent = this.view.extent;\n this.scale = this.view.scale;\n this.viewpoint = this.view.viewpoint;\n this.zoom = this.view.zoom;\n this.spatialReference = this.view.spatialReference;\n }\n ),\n // watchers for other props to update component\n watch(\n () => this.view.allLayerViews,\n () => {\n this.allLayerViews = this.view.allLayerViews;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.map?.basemap,\n () => {\n this.basemap = this.view.map?.basemap as unknown as __esri.Basemap;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.fatalError,\n () => {\n this.fatalError = this.view.fatalError;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.input.gamepad,\n () => {\n this.gamepad = this.view.input.gamepad;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.graphics,\n () => {\n this.graphics = this.view.graphics;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.layerViews,\n () => {\n this.layerViews = this.view.layerViews;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.navigation,\n () => {\n this.navigation = this.view.navigation;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.map,\n () => {\n this.map = this.view.map as __esri.WebMap;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.popup,\n () => {\n this.popup = this.view.popup;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.resolution,\n () => {\n this.resolution = this.view.resolution;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.rotation,\n () => {\n this.rotation = this.view.rotation;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.suspended,\n () => {\n this.suspended = this.view.suspended;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.updating,\n () => {\n this.updating = this.view.updating;\n },\n {\n initial: true\n }\n )\n ]);\n }\n\n private async _createMap(): Promise<__esri.WebMap> {\n const mapParams: __esri.WebMapProperties = {};\n\n if (this.itemId) {\n mapParams.portalItem = await this._createPortalItem();\n }\n\n if (this.basemap) {\n mapParams.basemap = this.basemap as unknown as __esri.Basemap;\n } else if (isNullOrEmptyString(this.itemId)) {\n mapParams.basemap = \"topo-vector\" as unknown as __esri.Basemap;\n }\n\n const map = await newWebMap(mapParams);\n return map;\n }\n\n private async _createPortalItem(): Promise<__esri.PortalItemProperties> {\n const itemProps: Partial<__esri.PortalItemProperties> = {};\n\n if (this.itemId) {\n itemProps.id = this.itemId;\n }\n\n return itemProps;\n }\n\n private _createViewParams(): Partial<__esri.MapViewProperties> {\n const params: Partial<__esri.MapViewProperties> = {};\n\n if (this.background) {\n params.background = this.background;\n }\n\n if (this.center) {\n if (typeof this.center === \"string\") {\n params.center = this.center.split(\",\").map((x) => Number(x));\n } else {\n params.center = this.center;\n }\n }\n\n if (this.constraints) {\n params.constraints = this.constraints;\n }\n\n if (this.extent) {\n params.extent = this.extent;\n }\n\n if (this.floors) {\n params.floors = this.floors;\n }\n\n if (this.highlightOptions) {\n params.highlightOptions = this.highlightOptions;\n }\n\n if (this.map) {\n params.map = this.map;\n }\n\n if (this.navigation) {\n params.navigation = this.navigation;\n }\n\n if (this.popupEnabled !== undefined) {\n params.popupEnabled = this.popupEnabled;\n }\n\n if (this.rotation !== undefined) {\n params.rotation = this.rotation;\n }\n\n if (this.scale !== undefined) {\n params.scale = this.scale;\n }\n\n if (this.spatialReference) {\n params.spatialReference = this.spatialReference;\n }\n\n if (this.theme) {\n params.theme = this.theme;\n }\n\n if (this.timeExtent) {\n params.timeExtent = this.timeExtent;\n }\n\n if (this.timeZone) {\n params.timeZone = this.timeZone;\n }\n\n if (this.viewpoint) {\n params.viewpoint = this.viewpoint;\n }\n\n if (this.zoom !== undefined) {\n params.zoom = this.zoom;\n }\n\n return params;\n }\n\n private async _loadMap(): Promise<void> {\n this.map ||= await this._createMap();\n\n const params = this._createViewParams();\n\n const view = await newViewsMapView({\n ...params\n });\n\n this.view = view;\n\n return void view.when(async () => {\n // proxy view functions\n this.toMap = view.toMap.bind(view);\n this.toScreen = view.toScreen.bind(view);\n await this._addWatchers();\n });\n }\n\n private _proxyEvents(): void {\n addHandles(this, [\n this.view.on(\"click\", (event) => {\n this.arcgisViewClick.emit(event);\n }),\n this.view.on(\"double-click\", (event) => {\n this.arcgisViewDoubleClick.emit(event);\n }),\n this.view.on(\"drag\", (event) => {\n this.arcgisViewDrag.emit(event);\n }),\n this.view.on(\"hold\", (event) => {\n this.arcgisViewHold.emit(event);\n }),\n this.view.on(\"immediate-click\", (event) => {\n this.arcgisViewImmediateClick.emit(event);\n }),\n this.view.on(\"immediate-double-click\", (event) => {\n this.arcgisViewImmediateDoubleClick.emit(event);\n }),\n this.view.on(\"key-down\", (event) => {\n this.arcgisViewKeyDown.emit(event);\n }),\n this.view.on(\"key-up\", (event) => {\n this.arcgisViewKeyUp.emit(event);\n }),\n this.view.on(\"layerview-create\", (event) => {\n this.arcgisViewLayerviewCreate.emit(event);\n }),\n this.view.on(\"layerview-create-error\", (event) => {\n this.arcgisViewLayerviewCreateError.emit(event);\n }),\n this.view.on(\"layerview-destroy\", (event) => {\n this.arcgisViewLayerviewDestroy.emit(event);\n }),\n this.view.on(\"mouse-wheel\", (event) => {\n this.arcgisViewMouseWheel.emit(event);\n }),\n this.view.on(\"pointer-down\", (event) => {\n this.arcgisViewPointerDown.emit(event);\n }),\n this.view.on(\"pointer-enter\", (event) => {\n this.arcgisViewPointerEnter.emit(event);\n }),\n this.view.on(\"pointer-leave\", (event) => {\n this.arcgisViewPointerLeave.emit(event);\n }),\n this.view.on(\"pointer-move\", (event) => {\n this.arcgisViewPointerMove.emit(event);\n }),\n this.view.on(\"pointer-up\", (event) => {\n this.arcgisViewPointerUp.emit(event);\n })\n ]);\n }\n\n private async _updateMap(): Promise<void> {\n if (this.view?.map) {\n this.view.map.destroy();\n const map = await this._createMap();\n this.view.map = map;\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["mapCss","ArcgisMap","this","_watchHandles","backgroundWatcher","value","view","background","basemapWatcher","map","isNullOrEmptyString","basemap","centerWatcher","center","equals","constraintsWatcher","constraints","extentWatcher","extent","floorsWatcher","floors","graphicsWatcher","graphics","highlightOptionsWatcher","highlightOptions","itemIdWatcher","old","_updateMap","_loadMap","mapWatcher","navigationWatcher","navigation","paddingWatcher","padding","popupEnabledWatcher","popupEnabled","resizeAlignWatcher","resizeAlign","rotationWatcher","rotation","scaleWatcher","interacting","scale","spatialReferenceWatcher","spatialReference","themeWatcher","theme","timeExtentWatcher","timeExtent","timeZoneWatcher","timeZone","viewpointWatcher","isNotSameViewpoint","viewpoint","zoomWatcher","zoom","closePopup","destroy","destroyDisabled","_clearWatchHandles","goTo","target","options","hitTest","screenPoint","openPopup","takeScreenshot","tryFatalErrorRecovery","whenLayerView","layer","connectedCallback","newViewsMapView","componentWillLoad","componentDidRender","container","el","componentDidLoad","_proxyEvents","disconnectedCallback","render","h","class","ref","forEach","handle","remove","_addWatchers","watch","when","importCoreReactiveUtils","addHandles","ready","arcgisViewReadyChange","emit","initial","stationary","navigating","arcgisViewChange","allLayerViews","fatalError","input","gamepad","layerViews","popup","resolution","suspended","updating","_createMap","mapParams","itemId","portalItem","_createPortalItem","newWebMap","itemProps","id","_createViewParams","params","split","x","Number","undefined","async","toMap","bind","toScreen","on","event","arcgisViewClick","arcgisViewDoubleClick","arcgisViewDrag","arcgisViewHold","arcgisViewImmediateClick","arcgisViewImmediateDoubleClick","arcgisViewKeyDown","arcgisViewKeyUp","arcgisViewLayerviewCreate","arcgisViewLayerviewCreateError","arcgisViewLayerviewDestroy","arcgisViewMouseWheel","arcgisViewPointerDown","arcgisViewPointerEnter","arcgisViewPointerLeave","arcgisViewPointerMove","arcgisViewPointerUp"],"sources":["src/components/map/map.css?tag=arcgis-map","src/components/map/map.tsx"],"sourcesContent":[".arcgis-map {\n padding: 0;\n margin: 0;\n height: 100%;\n width: 100%;\n}\n","import type { EventEmitter, VNode } from \"@stencil/core\";\nimport { Component, Element, Event, Method, Prop, Watch, h } from \"@stencil/core\";\n\n// arcgis imports\nimport { importCoreReactiveUtils, newViewsMapView, newWebMap } from \"@arcgis/core-adapter\";\nimport type WebMap from \"@arcgis/core/WebMap\";\nimport type { ViewElement } from \"../../utils/component-utils\";\nimport { addHandles, isNotSameViewpoint, isNullOrEmptyString } from \"../../utils/component-utils\";\nimport type { ArcGISMapView } from \"../types\";\n\nexport type ArcGISWebMap = InstanceType<typeof WebMap>;\n\n@Component({\n tag: \"arcgis-map\",\n styleUrl: \"map.css\",\n shadow: false\n})\nexport class ArcgisMap implements ViewElement {\n //--------------------------------------------------------------------------\n //\n // Elements\n //\n //--------------------------------------------------------------------------\n\n el: HTMLDivElement;\n\n @Element() _hostElement!: HTMLArcgisMapElement;\n\n //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n\n /**\n * Collection containing a flat list of all the created LayerViews\n * related to the basemap, operational layers, and group layers in this view.\n */\n @Prop({ mutable: true }) allLayerViews: ArcGISMapView[\"allLayerViews\"];\n\n /**\n * The background color of the MapView. If the view's map changes, the view's `background` is reset to the map's background,\n * even if the user set it previously.\n */\n @Prop({ mutable: true }) background: ArcGISMapView[\"background\"];\n\n @Watch(\"background\")\n backgroundWatcher(value: ArcGISMapView[\"background\"]): void {\n if (this.view) {\n this.background = value;\n }\n }\n\n /**\n * Represents the view for a single basemap after it has been added to the map.\n */\n @Prop({ mutable: true }) basemapView: ArcGISMapView[\"basemapView\"];\n\n /**\n * Specifies a basemap for the map. The basemap is a set of layers that give\n * geographic context to the MapView or SceneView and the other operational layers\n * in the map.\n */\n @Prop({ mutable: true }) basemap: ArcGISWebMap[\"basemap\"];\n\n @Watch(\"basemap\")\n basemapWatcher(value: string): void {\n if (this.view?.map && isNullOrEmptyString(value)) {\n this.view.map.basemap = value as unknown as __esri.Basemap;\n }\n }\n\n /**\n * Represents the view's center point; when setting the center, you may pass a\n * esri/geometry/Point instance or a string representing\n * a longitude/latitude pair (`\"-100.4593, 36.9014\"`).\n * Setting the center immediately changes the current view.\n * For animating the view, see this component's goTo() method.\n */\n @Prop({ mutable: true }) center: ArcGISMapView[\"center\"] | string;\n\n @Watch(\"center\")\n centerWatcher(value: ArcGISMapView[\"center\"]): void {\n if (this.view && value && !this.view.center.equals(value)) {\n this.view.center = value;\n }\n }\n\n /**\n * Specifies constraints to scale, zoom, and rotation that may be applied to the MapView.\n */\n @Prop() constraints: ArcGISMapView[\"constraints\"];\n\n @Watch(\"constraints\")\n constraintsWatcher(value: ArcGISMapView[\"constraints\"]): void {\n if (this.view) {\n this.view.constraints = value;\n }\n }\n\n /**\n * Retains element and view state even when removed from DOM\n */\n @Prop() destroyDisabled = false;\n\n /**\n * The extent represents the visible portion of a map within the view as an instance of esri/geometry/Extent.\n * Setting the extent immediately changes the view without animation. To animate\n * the view, see this component's goTo() method.\n * When the view is rotated, the extent does not update to include the newly visible portions of the map.\n */\n @Prop({ mutable: true }) extent: ArcGISMapView[\"extent\"];\n\n @Watch(\"extent\")\n extentWatcher(value: ArcGISMapView[\"extent\"]): void {\n if (this.view && value && !this.view.extent.equals(value)) {\n this.view.extent = value;\n }\n }\n\n /**\n * A rejected view indicates a fatal error making it unable to display.\n */\n @Prop({ mutable: true }) fatalError: ArcGISMapView[\"fatalError\"];\n\n /**\n * Applies a display filter on the view for a specific set of floor levels.\n * It can filter the map display on floor-aware layers by zero or more level IDs.\n */\n @Prop() floors: ArcGISMapView[\"floors\"];\n\n @Watch(\"floors\")\n floorsWatcher(value: ArcGISMapView[\"floors\"]): void {\n if (this.view) {\n this.view.floors = value;\n }\n }\n\n @Prop({ mutable: true }) gamepad: __esri.GamepadSettings;\n\n /**\n * Allows for adding graphics directly to the default graphics in the View.\n * Example:\n * ```\n * // Adds a graphic to the View\n * graphics.add(pointGraphic);\n * ```\n * Example:\n * ```\n * // Removes a graphic from the View\n * graphics.remove(pointGraphic);\n * ```\n */\n @Prop({ mutable: true }) graphics: ArcGISMapView[\"graphics\"];\n\n @Watch(\"graphics\")\n graphicsWatcher(value: ArcGISMapView[\"graphics\"]): void {\n if (this.view) {\n this.view.graphics = value;\n }\n }\n\n /**\n * Options for configuring the highlight. Use the highlight method on the\n * appropriate esri/views/layers/LayerView to highlight a feature.\n * The layerView's `highlightOptions` will take precedence over the MapView's `highlightOptions` if both properties are set.\n */\n @Prop() highlightOptions: ArcGISMapView[\"highlightOptions\"];\n\n @Watch(\"highlightOptions\")\n highlightOptionsWatcher(value: ArcGISMapView[\"highlightOptions\"]): void {\n if (this.view) {\n this.view.highlightOptions = value;\n }\n }\n\n /**\n * Indication whether the view is being interacted with (for example when panning or by an interactive tool).\n */\n @Prop({ mutable: true }) interacting = false;\n\n /**\n * The ID of a WebMap from ArcGIS Online or ArcGIS Enterprise portal.\n */\n @Prop({ mutable: true, reflect: true }) itemId: string;\n\n @Watch(\"itemId\")\n itemIdWatcher(value: string, old: string): void {\n // NOTE: there is an issue when users set the value to undefined.\n // https://github.com/ionic-team/stencil/issues/2814\n // If user sets `itemid` to `undefined`, Stencil 2 will log the following warning:\n // `The state/prop \"${propName}\" changed during rendering.`\n // `This can potentially lead to infinite-loops and other bugs.`\n //\n // It appears consumer setting the value to null does not cause this warning.\n // In Stencil 4, if a user sets property to undefined, will trigger change, but\n // will not remove attribute from DOM.\n if (value !== old) {\n if (this.view?.map) {\n void this._updateMap();\n } else {\n void this._loadMap();\n }\n }\n }\n\n /**\n * A collection containing a hierarchical list of all the created\n * esri/views/layers/LayerView LayerViews of the\n * esri/Map#layers operational layers in the map.\n */\n @Prop({ mutable: true }) layerViews: ArcGISMapView[\"layerViews\"];\n\n /**\n * The magnifier allows for showing a portion of the view as a magnifier image on top of the view.\n */\n @Prop({ mutable: true }) magnifier: ArcGISMapView[\"magnifier\"];\n\n /**\n * An instance of a esri/Map object to display in the view.\n */\n @Prop({ mutable: true }) map: ArcGISWebMap;\n\n @Watch(\"map\")\n mapWatcher(value: ArcGISWebMap): void {\n if (this.view) {\n this.view.map = value;\n }\n }\n\n /**\n * Indication whether the view is being navigated (for example when panning).\n */\n @Prop({ mutable: true }) navigating = false;\n\n /**\n * Options to configure the navigation behavior of the View.\n */\n @Prop({ mutable: true }) navigation: ArcGISMapView[\"navigation\"];\n\n @Watch(\"navigation\")\n navigationWatcher(value: ArcGISMapView[\"navigation\"]): void {\n if (this.view) {\n this.view.navigation = value;\n }\n }\n\n /**\n * Use the padding property to make the center,\n * and extent, etc. work off a\n * subsection of the full view. This is particularly useful when layering UI\n * elements or semi-transparent content on top of portions of the view.\n */\n @Prop() padding: ArcGISMapView[\"padding\"];\n\n @Watch(\"padding\")\n paddingWatcher(value: ArcGISMapView[\"padding\"]): void {\n if (this.view) {\n this.view.padding = value;\n }\n }\n\n /**\n * A Popup object that displays general content or attributes from layers in the map.\n */\n @Prop({ mutable: true }) popup: ArcGISMapView[\"popup\"];\n\n /**\n * Controls whether the popup opens when users click on the view.\n */\n @Prop() popupEnabled = true;\n\n @Watch(\"popupEnabled\")\n popupEnabledWatcher(value: boolean, old: boolean): void {\n if (value !== old && this.view) {\n this.view.popupEnabled = value;\n }\n }\n\n /**\n * When `true`, this property indicates whether the view successfully satisfied all dependencies,\n * signaling that the following conditions are met.\n */\n @Prop({ mutable: true }) ready = false;\n\n /**\n * Defines which anchor stays still while resizing the browser window. The default, `center`,\n * ensures the view's center point remains constantly visible as the window size changes. The other\n * options allow the respective portion of the view to remain visible when the window's size is changed.\n */\n @Prop() resizeAlign: ArcGISMapView[\"resizeAlign\"];\n\n @Watch(\"resizeAlign\")\n resizeAlignWatcher(value: ArcGISMapView[\"resizeAlign\"]): void {\n if (this.view) {\n this.view.resizeAlign = value;\n }\n }\n\n /**\n * Represents the current value of one pixel in the unit of the view's spatialReference.\n * The value of resolution is calculated by dividing the view's extent width\n * by its width.\n */\n @Prop({ mutable: true }) resolution: ArcGISMapView[\"resolution\"];\n\n /**\n * The clockwise rotation of due north in relation to the top of the view in degrees.\n * The view may be rotated by directly setting\n * the rotation or by using the following mouse event: `Right-click + Drag`.\n * Map rotation may be disabled by setting the `rotationEnabled` property\n * in [constraints](#constraints) to `false`. See the code snippet below for\n * an example of this.\n */\n @Prop({ mutable: true }) rotation = 0;\n\n @Watch(\"rotation\")\n rotationWatcher(value: number): void {\n if (this.view && this.view.rotation !== value) {\n this.view.rotation = value;\n }\n }\n\n /**\n * Represents the map scale at the center of the view. Setting the scale immediately changes the view. For animating\n * the view, see this component's goTo() method.\n */\n @Prop({ mutable: true }) scale: number;\n\n @Watch(\"scale\")\n scaleWatcher(value: number, old: number): void {\n if (!this.view?.interacting && value != null && value !== old) {\n this.view.scale = value;\n }\n }\n\n /**\n * The spatial reference of the view.\n * This indicates the projected or geographic coordinate system used\n * to locate geographic features in the map.\n */\n @Prop({ mutable: true }) spatialReference: ArcGISMapView[\"spatialReference\"];\n\n @Watch(\"spatialReference\")\n spatialReferenceWatcher(value: ArcGISMapView[\"spatialReference\"]): void {\n if (this.view && value && !this.view.spatialReference.equals(value)) {\n this.view.spatialReference = value;\n }\n }\n\n /**\n * Indication whether the view is animating, being navigated with or resizing.\n */\n @Prop({ mutable: true }) stationary: boolean;\n\n /**\n * Indicates if the view is visible on the page.\n */\n @Prop({ mutable: true, reflect: true }) suspended = true;\n\n /**\n * This property specifies the base colors used by some widgets\n * and components to render graphics and labels.\n */\n @Prop() theme: ArcGISMapView[\"theme\"];\n\n @Watch(\"theme\")\n themeWatcher(value: ArcGISMapView[\"theme\"]): void {\n if (this.view) {\n this.view.theme = value;\n }\n }\n\n /**\n * The view's time extent. Time-aware layers display their temporal data that falls within\n * the view's time extent. Setting the view's time extent is similar to setting the spatial\n * extent because once the time extent is set, the\n * view updates automatically to conform to the change.\n */\n @Prop() timeExtent: ArcGISMapView[\"timeExtent\"];\n\n @Watch(\"timeExtent\")\n timeExtentWatcher(value: ArcGISMapView[\"timeExtent\"]): void {\n if (this.view) {\n this.view.timeExtent = value;\n }\n }\n\n /**\n * Defines the time zone of the view.\n * The time zone property determines how dates and times are represented to the user,\n * but the underlying data is unchanged.\n */\n @Prop() timeZone: ArcGISMapView[\"timeZone\"] = \"system\";\n\n @Watch(\"timeZone\")\n timeZoneWatcher(value: ArcGISMapView[\"timeZone\"]): void {\n if (this.view) {\n this.view.timeZone = value;\n }\n }\n\n // Start functions as properties\n\n /**\n * toMap() function as a property.\n */\n @Prop({ mutable: true }) toMap: ArcGISMapView[\"toMap\"];\n\n /**\n * toScreen() function as a property.\n */\n @Prop({ mutable: true }) toScreen: ArcGISMapView[\"toScreen\"];\n\n // End functions as properties\n\n /**\n * Indicates whether the view is being updated by additional data requests to the network,\n * or by processing received data.\n */\n @Prop({ mutable: true, reflect: true }) updating = false;\n\n /**\n * Represents the current view as a Viewpoint or point of observation on the view.\n * Setting the viewpoint immediately changes the current view. For animating\n * the view, see this component's goTo() method.\n */\n @Prop({ mutable: true }) viewpoint: ArcGISMapView[\"viewpoint\"];\n\n @Watch(\"viewpoint\")\n viewpointWatcher(value: ArcGISMapView[\"viewpoint\"]): void {\n if (this.view && isNotSameViewpoint(this.view.viewpoint, value)) {\n this.view.viewpoint = value;\n }\n }\n\n /**\n * Represents the level of detail (LOD) at the center of the view.\n * A zoom level (or scale) is a number that defines how large or small the contents of a map appear in a map view.\n * Zoom level is a number usually between 0 (global view) and 23 (very detailed view) and is used as a shorthand for predetermined scale values.\n * A value of -1 means the view has no LODs.\n * When setting the zoom value, the MapView converts it to the corresponding scale, or interpolates it if the zoom is a fractional number.\n * MapView can display maps with different projections at a full range of scales, and so use the scale property on this component rather than zoom level.\n *\n * Setting the zoom immediately changes the current view. For animating the view, see this component's goTo() method.\n * Setting this property in conjunction with `center` is a convenient way to set the initial extent of the view.\n */\n @Prop({ mutable: true, reflect: true }) zoom: number;\n\n @Watch(\"zoom\")\n zoomWatcher(value: number, old: number): void {\n if (!this.view?.interacting && value != null && value !== old) {\n this.view.zoom = value;\n }\n }\n\n /**\n * Internal view of the component.\n */\n @Prop({ mutable: true }) view: ArcGISMapView;\n\n _watchHandles: __esri.WatchHandle[] = [];\n\n //--------------------------------------------------------------------------\n //\n // Events\n //\n //--------------------------------------------------------------------------\n\n /**\n * For the `ready` property\n */\n @Event({ cancelable: true }) arcgisViewReadyChange!: EventEmitter;\n /**\n * For view related properties: zoom, scale, center, rotation, extent, camera, viewpoint\n */\n @Event({ cancelable: true }) arcgisViewChange!: EventEmitter;\n\n // proxy view events\n /**\n * Fires after a user clicks on the view.\n */\n @Event({ cancelable: true }) arcgisViewClick!: EventEmitter<__esri.ViewClickEvent>;\n /**\n * Fires after double-clicking on the view.\n */\n @Event({ cancelable: true }) arcgisViewDoubleClick!: EventEmitter<__esri.ViewDoubleClickEvent>;\n /**\n * Fires during a pointer drag on the view.\n */\n @Event({ cancelable: true }) arcgisViewDrag!: EventEmitter<__esri.ViewDragEvent>;\n /**\n * Fires during a pointer drag on the view.\n */\n @Event({ cancelable: true }) arcgisViewHold!: EventEmitter<__esri.ViewHoldEvent>;\n /**\n * Fires right after a user clicks on the view.\n */\n @Event({ cancelable: true }) arcgisViewImmediateClick!: EventEmitter<__esri.ViewImmediateClickEvent>;\n /**\n * Is emitted after two consecutive immediate-click events.\n */\n @Event({ cancelable: true }) arcgisViewImmediateDoubleClick!: EventEmitter<__esri.ViewImmediateDoubleClickEvent>;\n /**\n * Fires after a keyboard key is pressed.\n */\n @Event({ cancelable: true }) arcgisViewKeyDown!: EventEmitter<__esri.ViewKeyDownEvent>;\n /**\n * Fires after a keyboard key is pressed.\n */\n @Event({ cancelable: true }) arcgisViewKeyUp!: EventEmitter<__esri.ViewKeyUpEvent>;\n /**\n * Fires after each layer in the map has a corresponding LayerView created and rendered in the view.\n */\n @Event({ cancelable: true }) arcgisViewLayerviewCreate!: EventEmitter<__esri.ViewLayerviewCreateEvent>;\n /**\n * Fires when an error emits during the creation of a LayerView after a layer has been added to the map.\n */\n @Event({ cancelable: true }) arcgisViewLayerviewCreateError!: EventEmitter<__esri.ViewLayerviewCreateErrorEvent>;\n /**\n * Fires after a LayerView is destroyed and is no longer rendered in the view.\n */\n @Event({ cancelable: true }) arcgisViewLayerviewDestroy!: EventEmitter<__esri.ViewLayerviewDestroyEvent>;\n /**\n * Fires when a wheel button of a pointing device (typically a mouse) is scrolled on the view.\n */\n @Event({ cancelable: true }) arcgisViewMouseWheel!: EventEmitter<__esri.ViewMouseWheelEvent>;\n /**\n * Fires after a mouse button is pressed, or a finger touches the display.\n */\n @Event({ cancelable: true }) arcgisViewPointerDown!: EventEmitter<__esri.ViewPointerDownEvent>;\n /**\n * Fires after a mouse cursor enters the view, or a display touch begins.\n */\n @Event({ cancelable: true }) arcgisViewPointerEnter!: EventEmitter<__esri.ViewPointerEnterEvent>;\n /**\n * Fires after a mouse cursor leaves the view, or a display touch ends.\n */\n @Event({ cancelable: true }) arcgisViewPointerLeave!: EventEmitter<__esri.ViewPointerLeaveEvent>;\n /**\n * Fires after the mouse or a finger on the display moves.\n */\n @Event({ cancelable: true }) arcgisViewPointerMove!: EventEmitter<__esri.ViewPointerMoveEvent>;\n /**\n * Fires after a mouse button is released, or a display touch ends.\n */\n @Event({ cancelable: true }) arcgisViewPointerUp!: EventEmitter<__esri.ViewPointerUpEvent>;\n\n //--------------------------------------------------------------------------\n //\n // Methods\n //\n //--------------------------------------------------------------------------\n\n /**\n * Closes the popup.\n */\n @Method()\n async closePopup(): Promise<void> {\n this.view?.closePopup();\n }\n\n /**\n * Destroys the view, and any associated resources, including its map, popup, and UI elements.\n */\n @Method()\n async destroy(): Promise<void> {\n if (this.destroyDisabled) {\n this._clearWatchHandles();\n this.view.destroy();\n }\n }\n\n /**\n * Sets the view to a given target.\n */\n @Method()\n async goTo(target: __esri.GoToTarget2D, options?: __esri.GoToOptions2D): Promise<any> {\n return (await this.view?.goTo(target, options)) as unknown;\n }\n\n /**\n * Returns hit test results from each layer that intersects the specified screen coordinates.\n */\n @Method()\n async hitTest(screenPoint: __esri.ScreenPoint, options?: Record<string, any>): Promise<__esri.HitTestResult> {\n return await this.view?.hitTest(screenPoint, options);\n }\n\n /**\n * Opens the popup at the given location with content defined either explicitly with content or driven\n * from the PopupTemplate of input features.\n */\n @Method()\n async openPopup(options?: Record<string, any>): Promise<any> {\n return void this.view?.openPopup(options) as unknown;\n }\n\n /**\n * Create a screenshot of the current view.\n */\n @Method()\n async takeScreenshot(options?: Record<string, any>): Promise<__esri.Screenshot> {\n return await this.view?.takeScreenshot(options);\n }\n\n /**\n * Call this method to clear any fatal errors resulting from a lost WebGL context.\n */\n @Method()\n async tryFatalErrorRecovery(): Promise<void> {\n this.view?.tryFatalErrorRecovery();\n }\n\n /**\n * Gets the LayerView created on the view for the given layer.\n */\n @Method()\n async whenLayerView(layer: __esri.Layer): Promise<__esri.LayerView> {\n return await this.view?.whenLayerView(layer);\n }\n\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n\n async connectedCallback(): Promise<void> {\n this.view = await newViewsMapView({});\n }\n\n async componentWillLoad(): Promise<void> {\n await this._loadMap();\n }\n\n componentDidRender(): void {\n if (this.view && !this.view.container) {\n this.view.container = this.el;\n }\n }\n\n componentDidLoad(): void {\n this._proxyEvents();\n }\n\n disconnectedCallback(): void {\n void this.destroy();\n }\n\n render(): VNode {\n return <div class=\"arcgis-map\" ref={(el) => (this.el = el!)}></div>;\n }\n\n //--------------------------------------------------------------------------\n //\n // Private Methods\n //\n //--------------------------------------------------------------------------\n\n private _clearWatchHandles(): void {\n this._watchHandles.forEach((handle) => handle.remove());\n this._watchHandles = [];\n }\n\n private async _addWatchers(): Promise<void> {\n const { watch, when } = await importCoreReactiveUtils();\n addHandles(this, [\n // watch for ready and emit arcgisViewReadyChange event\n watch(\n () => this.view.ready,\n () => {\n this.ready = this.view.ready;\n this.arcgisViewReadyChange.emit();\n },\n {\n initial: true\n }\n ),\n // watch for stationary and emit arcgisViewChange event\n watch(\n () => this.view.stationary,\n () => {\n this.stationary = this.view.stationary;\n this.interacting = this.view.interacting;\n this.navigating = this.view.navigating;\n this.arcgisViewChange.emit();\n },\n {\n initial: true\n }\n ),\n // when view stationary is true, update these props:\n // zoom, scale, center, rotation, extent, camera, viewpoint\n when(\n () => this.view.stationary,\n () => {\n this.center = this.view.center;\n this.extent = this.view.extent;\n this.scale = this.view.scale;\n this.viewpoint = this.view.viewpoint;\n this.zoom = this.view.zoom;\n this.spatialReference = this.view.spatialReference;\n }\n ),\n // watchers for other props to update component\n watch(\n () => this.view.allLayerViews,\n () => {\n this.allLayerViews = this.view.allLayerViews;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.map?.basemap,\n () => {\n this.basemap = this.view.map?.basemap as unknown as __esri.Basemap;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.fatalError,\n () => {\n this.fatalError = this.view.fatalError;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.input.gamepad,\n () => {\n this.gamepad = this.view.input.gamepad;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.graphics,\n () => {\n this.graphics = this.view.graphics;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.layerViews,\n () => {\n this.layerViews = this.view.layerViews;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.navigation,\n () => {\n this.navigation = this.view.navigation;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.map,\n () => {\n this.map = this.view.map as __esri.WebMap;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.popup,\n () => {\n this.popup = this.view.popup;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.resolution,\n () => {\n this.resolution = this.view.resolution;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.rotation,\n () => {\n this.rotation = this.view.rotation;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.suspended,\n () => {\n this.suspended = this.view.suspended;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.updating,\n () => {\n this.updating = this.view.updating;\n },\n {\n initial: true\n }\n )\n ]);\n }\n\n private async _createMap(): Promise<__esri.WebMap> {\n const mapParams: __esri.WebMapProperties = {};\n\n if (this.itemId) {\n mapParams.portalItem = await this._createPortalItem();\n }\n\n if (this.basemap) {\n mapParams.basemap = this.basemap as unknown as __esri.Basemap;\n } else if (isNullOrEmptyString(this.itemId)) {\n mapParams.basemap = \"topo-vector\" as unknown as __esri.Basemap;\n }\n\n const map = await newWebMap(mapParams);\n return map;\n }\n\n private async _createPortalItem(): Promise<__esri.PortalItemProperties> {\n const itemProps: Partial<__esri.PortalItemProperties> = {};\n\n if (this.itemId) {\n itemProps.id = this.itemId;\n }\n\n return itemProps;\n }\n\n private _createViewParams(): Partial<__esri.MapViewProperties> {\n const params: Partial<__esri.MapViewProperties> = {};\n\n if (this.background) {\n params.background = this.background;\n }\n\n if (this.center) {\n if (typeof this.center === \"string\") {\n params.center = this.center.split(\",\").map((x) => Number(x));\n } else {\n params.center = this.center;\n }\n }\n\n if (this.constraints) {\n params.constraints = this.constraints;\n }\n\n if (this.extent) {\n params.extent = this.extent;\n }\n\n if (this.floors) {\n params.floors = this.floors;\n }\n\n if (this.highlightOptions) {\n params.highlightOptions = this.highlightOptions;\n }\n\n if (this.map) {\n params.map = this.map;\n }\n\n if (this.navigation) {\n params.navigation = this.navigation;\n }\n\n if (this.popupEnabled !== undefined) {\n params.popupEnabled = this.popupEnabled;\n }\n\n if (this.rotation !== undefined) {\n params.rotation = this.rotation;\n }\n\n if (this.scale !== undefined) {\n params.scale = this.scale;\n }\n\n if (this.spatialReference) {\n params.spatialReference = this.spatialReference;\n }\n\n if (this.theme) {\n params.theme = this.theme;\n }\n\n if (this.timeExtent) {\n params.timeExtent = this.timeExtent;\n }\n\n if (this.timeZone) {\n params.timeZone = this.timeZone;\n }\n\n if (this.viewpoint) {\n params.viewpoint = this.viewpoint;\n }\n\n if (this.zoom !== undefined) {\n params.zoom = this.zoom;\n }\n\n return params;\n }\n\n private async _loadMap(): Promise<void> {\n this.map ||= await this._createMap();\n\n const params = this._createViewParams();\n\n const view = await newViewsMapView({\n ...params\n });\n\n this.view = view;\n\n return void view.when(async () => {\n // proxy view functions\n this.toMap = view.toMap.bind(view);\n this.toScreen = view.toScreen.bind(view);\n await this._addWatchers();\n });\n }\n\n private _proxyEvents(): void {\n addHandles(this, [\n this.view.on(\"click\", (event) => {\n this.arcgisViewClick.emit(event);\n }),\n this.view.on(\"double-click\", (event) => {\n this.arcgisViewDoubleClick.emit(event);\n }),\n this.view.on(\"drag\", (event) => {\n this.arcgisViewDrag.emit(event);\n }),\n this.view.on(\"hold\", (event) => {\n this.arcgisViewHold.emit(event);\n }),\n this.view.on(\"immediate-click\", (event) => {\n this.arcgisViewImmediateClick.emit(event);\n }),\n this.view.on(\"immediate-double-click\", (event) => {\n this.arcgisViewImmediateDoubleClick.emit(event);\n }),\n this.view.on(\"key-down\", (event) => {\n this.arcgisViewKeyDown.emit(event);\n }),\n this.view.on(\"key-up\", (event) => {\n this.arcgisViewKeyUp.emit(event);\n }),\n this.view.on(\"layerview-create\", (event) => {\n this.arcgisViewLayerviewCreate.emit(event);\n }),\n this.view.on(\"layerview-create-error\", (event) => {\n this.arcgisViewLayerviewCreateError.emit(event);\n }),\n this.view.on(\"layerview-destroy\", (event) => {\n this.arcgisViewLayerviewDestroy.emit(event);\n }),\n this.view.on(\"mouse-wheel\", (event) => {\n this.arcgisViewMouseWheel.emit(event);\n }),\n this.view.on(\"pointer-down\", (event) => {\n this.arcgisViewPointerDown.emit(event);\n }),\n this.view.on(\"pointer-enter\", (event) => {\n this.arcgisViewPointerEnter.emit(event);\n }),\n this.view.on(\"pointer-leave\", (event) => {\n this.arcgisViewPointerLeave.emit(event);\n }),\n this.view.on(\"pointer-move\", (event) => {\n this.arcgisViewPointerMove.emit(event);\n }),\n this.view.on(\"pointer-up\", (event) => {\n this.arcgisViewPointerUp.emit(event);\n })\n ]);\n }\n\n private async _updateMap(): Promise<void> {\n if (this.view?.map) {\n this.view.map.destroy();\n const map = await this._createMap();\n this.view.map = map;\n }\n }\n}\n"],"mappings":"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"}
@@ -201,30 +201,55 @@ const ArcgisMap = class {
201
201
  // Methods
202
202
  //
203
203
  //--------------------------------------------------------------------------
204
+ /**
205
+ * Closes the popup.
206
+ */
204
207
  async closePopup() {
205
208
  this.view?.closePopup();
206
209
  }
210
+ /**
211
+ * Destroys the view, and any associated resources, including its map, popup, and UI elements.
212
+ */
207
213
  async destroy() {
208
214
  if (this.destroyDisabled) {
209
215
  this._clearWatchHandles();
210
216
  this.view.destroy();
211
217
  }
212
218
  }
219
+ /**
220
+ * Sets the view to a given target.
221
+ */
213
222
  async goTo(target, options) {
214
223
  return (await this.view?.goTo(target, options));
215
224
  }
225
+ /**
226
+ * Returns hit test results from each layer that intersects the specified screen coordinates.
227
+ */
216
228
  async hitTest(screenPoint, options) {
217
229
  return await this.view?.hitTest(screenPoint, options);
218
230
  }
231
+ /**
232
+ * Opens the popup at the given location with content defined either explicitly with content or driven
233
+ * from the PopupTemplate of input features.
234
+ */
219
235
  async openPopup(options) {
220
236
  return void this.view?.openPopup(options);
221
237
  }
238
+ /**
239
+ * Create a screenshot of the current view.
240
+ */
222
241
  async takeScreenshot(options) {
223
242
  return await this.view?.takeScreenshot(options);
224
243
  }
244
+ /**
245
+ * Call this method to clear any fatal errors resulting from a lost WebGL context.
246
+ */
225
247
  async tryFatalErrorRecovery() {
226
248
  this.view?.tryFatalErrorRecovery();
227
249
  }
250
+ /**
251
+ * Gets the LayerView created on the view for the given layer.
252
+ */
228
253
  async whenLayerView(layer) {
229
254
  return await this.view?.whenLayerView(layer);
230
255
  }
@@ -1 +1 @@
1
- {"file":"arcgis-map.entry.cjs.js","mappings":"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","names":["isNullOrEmptyString","isNotSameViewpoint","newViewsMapView","h","importCoreReactiveUtils","addHandles","newWebMap"],"sources":["src/components/map/map.css?tag=arcgis-map","src/components/map/map.tsx"],"sourcesContent":[".arcgis-map {\n padding: 0;\n margin: 0;\n height: 100%;\n width: 100%;\n}\n","import type { EventEmitter, VNode } from \"@stencil/core\";\nimport { Component, Element, Event, Method, Prop, Watch, h } from \"@stencil/core\";\n\n// arcgis imports\nimport { importCoreReactiveUtils, newViewsMapView, newWebMap } from \"@arcgis/core-adapter\";\nimport type WebMap from \"@arcgis/core/WebMap\";\nimport type { ViewElement } from \"../../utils/component-utils\";\nimport { addHandles, isNotSameViewpoint, isNullOrEmptyString } from \"../../utils/component-utils\";\nimport type { ArcGISMapView } from \"../types\";\n\nexport type ArcGISWebMap = InstanceType<typeof WebMap>;\n\n@Component({\n tag: \"arcgis-map\",\n styleUrl: \"map.css\",\n shadow: false\n})\nexport class ArcgisMap implements ViewElement {\n //--------------------------------------------------------------------------\n //\n // Elements\n //\n //--------------------------------------------------------------------------\n\n el: HTMLDivElement;\n\n @Element() _hostElement!: HTMLArcgisMapElement;\n\n //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n @Prop({ mutable: true }) allLayerViews: ArcGISMapView[\"allLayerViews\"];\n\n @Prop({ mutable: true }) background: ArcGISMapView[\"background\"];\n\n @Watch(\"background\")\n backgroundWatcher(value: ArcGISMapView[\"background\"]): void {\n if (this.view) {\n this.background = value;\n }\n }\n\n @Prop({ mutable: true }) basemapView: ArcGISMapView[\"basemapView\"];\n\n @Prop({ mutable: true }) basemap: ArcGISWebMap[\"basemap\"];\n\n @Watch(\"basemap\")\n basemapWatcher(value: string): void {\n if (this.view?.map && isNullOrEmptyString(value)) {\n this.view.map.basemap = value as unknown as __esri.Basemap;\n }\n }\n\n @Prop({ mutable: true }) center: ArcGISMapView[\"center\"] | string;\n\n @Watch(\"center\")\n centerWatcher(value: ArcGISMapView[\"center\"]): void {\n if (this.view && value && !this.view.center.equals(value)) {\n this.view.center = value;\n }\n }\n\n @Prop() constraints: ArcGISMapView[\"constraints\"];\n\n @Watch(\"constraints\")\n constraintsWatcher(value: ArcGISMapView[\"constraints\"]): void {\n if (this.view) {\n this.view.constraints = value;\n }\n }\n\n @Prop() destroyDisabled = false;\n\n @Prop({ mutable: true }) extent: ArcGISMapView[\"extent\"];\n\n @Watch(\"extent\")\n extentWatcher(value: ArcGISMapView[\"extent\"]): void {\n if (this.view && value && !this.view.extent.equals(value)) {\n this.view.extent = value;\n }\n }\n\n @Prop({ mutable: true }) fatalError: ArcGISMapView[\"fatalError\"];\n\n @Prop() floors: ArcGISMapView[\"floors\"];\n\n @Watch(\"floors\")\n floorsWatcher(value: ArcGISMapView[\"floors\"]): void {\n if (this.view) {\n this.view.floors = value;\n }\n }\n\n @Prop({ mutable: true }) gamepad: __esri.GamepadSettings;\n\n @Prop({ mutable: true }) graphics: ArcGISMapView[\"graphics\"];\n\n @Watch(\"graphics\")\n graphicsWatcher(value: ArcGISMapView[\"graphics\"]): void {\n if (this.view) {\n this.view.graphics = value;\n }\n }\n\n @Prop() highlightOptions: ArcGISMapView[\"highlightOptions\"];\n\n @Watch(\"highlightOptions\")\n highlightOptionsWatcher(value: ArcGISMapView[\"highlightOptions\"]): void {\n if (this.view) {\n this.view.highlightOptions = value;\n }\n }\n\n @Prop({ mutable: true }) interacting = false;\n\n @Prop({ mutable: true, reflect: true }) itemId: string;\n\n @Watch(\"itemId\")\n itemIdWatcher(value: string, old: string): void {\n // NOTE: there is an issue when users set the value to undefined.\n // https://github.com/ionic-team/stencil/issues/2814\n // If user sets `itemid` to `undefined`, Stencil 2 will log the following warning:\n // `The state/prop \"${propName}\" changed during rendering.`\n // `This can potentially lead to infinite-loops and other bugs.`\n //\n // It appears consumer setting the value to null does not cause this warning.\n // In Stencil 4, if a user sets property to undefined, will trigger change, but\n // will not remove attribute from DOM.\n if (value !== old) {\n if (this.view?.map) {\n void this._updateMap();\n } else {\n void this._loadMap();\n }\n }\n }\n\n @Prop({ mutable: true }) layerViews: ArcGISMapView[\"layerViews\"];\n\n @Prop({ mutable: true }) magnifier: ArcGISMapView[\"magnifier\"];\n\n @Prop({ mutable: true }) map: ArcGISWebMap;\n\n @Watch(\"map\")\n mapWatcher(value: ArcGISWebMap): void {\n if (this.view) {\n this.view.map = value;\n }\n }\n\n @Prop({ mutable: true }) navigating = false;\n\n @Prop({ mutable: true }) navigation: ArcGISMapView[\"navigation\"];\n\n @Watch(\"navigation\")\n navigationWatcher(value: ArcGISMapView[\"navigation\"]): void {\n if (this.view) {\n this.view.navigation = value;\n }\n }\n\n @Prop() padding: ArcGISMapView[\"padding\"];\n\n @Watch(\"padding\")\n paddingWatcher(value: ArcGISMapView[\"padding\"]): void {\n if (this.view) {\n this.view.padding = value;\n }\n }\n\n @Prop({ mutable: true }) popup: ArcGISMapView[\"popup\"];\n\n @Prop() popupEnabled = true;\n\n @Watch(\"popupEnabled\")\n popupEnabledWatcher(value: boolean, old: boolean): void {\n if (value !== old && this.view) {\n this.view.popupEnabled = value;\n }\n }\n\n @Prop({ mutable: true }) ready = false;\n\n @Prop() resizeAlign: ArcGISMapView[\"resizeAlign\"];\n\n @Watch(\"resizeAlign\")\n resizeAlignWatcher(value: ArcGISMapView[\"resizeAlign\"]): void {\n if (this.view) {\n this.view.resizeAlign = value;\n }\n }\n\n @Prop({ mutable: true }) resolution: ArcGISMapView[\"resolution\"];\n\n @Prop({ mutable: true }) rotation = 0;\n\n @Watch(\"rotation\")\n rotationWatcher(value: number): void {\n if (this.view && this.view.rotation !== value) {\n this.view.rotation = value;\n }\n }\n\n @Prop({ mutable: true }) scale: number;\n\n @Watch(\"scale\")\n scaleWatcher(value: number, old: number): void {\n if (!this.view?.interacting && value != null && value !== old) {\n this.view.scale = value;\n }\n }\n\n @Prop({ mutable: true }) spatialReference: ArcGISMapView[\"spatialReference\"];\n\n @Watch(\"spatialReference\")\n spatialReferenceWatcher(value: ArcGISMapView[\"spatialReference\"]): void {\n if (this.view && value && !this.view.spatialReference.equals(value)) {\n this.view.spatialReference = value;\n }\n }\n\n @Prop({ mutable: true }) stationary: boolean;\n\n @Prop({ mutable: true, reflect: true }) suspended = true;\n\n @Prop() theme: ArcGISMapView[\"theme\"];\n\n @Watch(\"theme\")\n themeWatcher(value: ArcGISMapView[\"theme\"]): void {\n if (this.view) {\n this.view.theme = value;\n }\n }\n\n @Prop() timeExtent: ArcGISMapView[\"timeExtent\"];\n\n @Watch(\"timeExtent\")\n timeExtentWatcher(value: ArcGISMapView[\"timeExtent\"]): void {\n if (this.view) {\n this.view.timeExtent = value;\n }\n }\n\n @Prop() timeZone: ArcGISMapView[\"timeZone\"] = \"system\";\n\n @Watch(\"timeZone\")\n timeZoneWatcher(value: ArcGISMapView[\"timeZone\"]): void {\n if (this.view) {\n this.view.timeZone = value;\n }\n }\n\n // Start functions as properties\n\n @Prop({ mutable: true }) toMap: ArcGISMapView[\"toMap\"];\n\n @Prop({ mutable: true }) toScreen: ArcGISMapView[\"toScreen\"];\n\n // End functions as properties\n\n @Prop({ mutable: true, reflect: true }) updating = false;\n\n @Prop({ mutable: true }) viewpoint: ArcGISMapView[\"viewpoint\"];\n\n @Watch(\"viewpoint\")\n viewpointWatcher(value: ArcGISMapView[\"viewpoint\"]): void {\n if (this.view && isNotSameViewpoint(this.view.viewpoint, value)) {\n this.view.viewpoint = value;\n }\n }\n\n @Prop({ mutable: true, reflect: true }) zoom: number;\n\n @Watch(\"zoom\")\n zoomWatcher(value: number, old: number): void {\n if (!this.view?.interacting && value != null && value !== old) {\n this.view.zoom = value;\n }\n }\n\n /**\n * Internal view of the component.\n */\n @Prop({ mutable: true }) view: ArcGISMapView;\n\n _watchHandles: __esri.WatchHandle[] = [];\n\n //--------------------------------------------------------------------------\n //\n // Events\n //\n //--------------------------------------------------------------------------\n\n @Event({ cancelable: true }) arcgisViewReadyChange!: EventEmitter;\n @Event({ cancelable: true }) arcgisViewChange!: EventEmitter;\n\n // proxy view events\n @Event({ cancelable: true }) arcgisViewClick!: EventEmitter<__esri.ViewClickEvent>;\n @Event({ cancelable: true }) arcgisViewDoubleClick!: EventEmitter<__esri.ViewDoubleClickEvent>;\n @Event({ cancelable: true }) arcgisViewDrag!: EventEmitter<__esri.ViewDragEvent>;\n @Event({ cancelable: true }) arcgisViewHold!: EventEmitter<__esri.ViewHoldEvent>;\n @Event({ cancelable: true }) arcgisViewImmediateClick!: EventEmitter<__esri.ViewImmediateClickEvent>;\n @Event({ cancelable: true }) arcgisViewImmediateDoubleClick!: EventEmitter<__esri.ViewImmediateDoubleClickEvent>;\n @Event({ cancelable: true }) arcgisViewKeyDown!: EventEmitter<__esri.ViewKeyDownEvent>;\n @Event({ cancelable: true }) arcgisViewKeyUp!: EventEmitter<__esri.ViewKeyUpEvent>;\n @Event({ cancelable: true }) arcgisViewLayerviewCreate!: EventEmitter<__esri.ViewLayerviewCreateEvent>;\n @Event({ cancelable: true }) arcgisViewLayerviewCreateError!: EventEmitter<__esri.ViewLayerviewCreateErrorEvent>;\n @Event({ cancelable: true }) arcgisViewLayerviewDestroy!: EventEmitter<__esri.ViewLayerviewDestroyEvent>;\n @Event({ cancelable: true }) arcgisViewMouseWheel!: EventEmitter<__esri.ViewMouseWheelEvent>;\n @Event({ cancelable: true }) arcgisViewPointerDown!: EventEmitter<__esri.ViewPointerDownEvent>;\n @Event({ cancelable: true }) arcgisViewPointerEnter!: EventEmitter<__esri.ViewPointerEnterEvent>;\n @Event({ cancelable: true }) arcgisViewPointerLeave!: EventEmitter<__esri.ViewPointerLeaveEvent>;\n @Event({ cancelable: true }) arcgisViewPointerMove!: EventEmitter<__esri.ViewPointerMoveEvent>;\n @Event({ cancelable: true }) arcgisViewPointerUp!: EventEmitter<__esri.ViewPointerUpEvent>;\n\n //--------------------------------------------------------------------------\n //\n // Methods\n //\n //--------------------------------------------------------------------------\n\n @Method()\n async closePopup(): Promise<void> {\n this.view?.closePopup();\n }\n\n @Method()\n async destroy(): Promise<void> {\n if (this.destroyDisabled) {\n this._clearWatchHandles();\n this.view.destroy();\n }\n }\n\n @Method()\n async goTo(target: __esri.GoToTarget2D, options?: __esri.GoToOptions2D): Promise<any> {\n return (await this.view?.goTo(target, options)) as unknown;\n }\n\n @Method()\n async hitTest(screenPoint: __esri.ScreenPoint, options?: Record<string, any>): Promise<__esri.HitTestResult> {\n return await this.view?.hitTest(screenPoint, options);\n }\n\n @Method()\n async openPopup(options?: Record<string, any>): Promise<any> {\n return void this.view?.openPopup(options) as unknown;\n }\n\n @Method()\n async takeScreenshot(options?: Record<string, any>): Promise<__esri.Screenshot> {\n return await this.view?.takeScreenshot(options);\n }\n\n @Method()\n async tryFatalErrorRecovery(): Promise<void> {\n this.view?.tryFatalErrorRecovery();\n }\n\n @Method()\n async whenLayerView(layer: __esri.Layer): Promise<__esri.LayerView> {\n return await this.view?.whenLayerView(layer);\n }\n\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n\n async connectedCallback(): Promise<void> {\n this.view = await newViewsMapView({});\n }\n\n async componentWillLoad(): Promise<void> {\n await this._loadMap();\n }\n\n componentDidRender(): void {\n if (this.view && !this.view.container) {\n this.view.container = this.el;\n }\n }\n\n componentDidLoad(): void {\n this._proxyEvents();\n }\n\n disconnectedCallback(): void {\n void this.destroy();\n }\n\n render(): VNode {\n return <div class=\"arcgis-map\" ref={(el) => (this.el = el!)}></div>;\n }\n\n //--------------------------------------------------------------------------\n //\n // Private Methods\n //\n //--------------------------------------------------------------------------\n\n private _clearWatchHandles(): void {\n this._watchHandles.forEach((handle) => handle.remove());\n this._watchHandles = [];\n }\n\n private async _addWatchers(): Promise<void> {\n const { watch, when } = await importCoreReactiveUtils();\n addHandles(this, [\n // watch for ready and emit arcgisViewReadyChange event\n watch(\n () => this.view.ready,\n () => {\n this.ready = this.view.ready;\n this.arcgisViewReadyChange.emit();\n },\n {\n initial: true\n }\n ),\n // watch for stationary and emit arcgisViewChange event\n watch(\n () => this.view.stationary,\n () => {\n this.stationary = this.view.stationary;\n this.interacting = this.view.interacting;\n this.navigating = this.view.navigating;\n this.arcgisViewChange.emit();\n },\n {\n initial: true\n }\n ),\n // when view stationary is true, update these props:\n // zoom, scale, center, rotation, extent, camera, viewpoint\n when(\n () => this.view.stationary,\n () => {\n this.center = this.view.center;\n this.extent = this.view.extent;\n this.scale = this.view.scale;\n this.viewpoint = this.view.viewpoint;\n this.zoom = this.view.zoom;\n this.spatialReference = this.view.spatialReference;\n }\n ),\n // watchers for other props to update component\n watch(\n () => this.view.allLayerViews,\n () => {\n this.allLayerViews = this.view.allLayerViews;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.map?.basemap,\n () => {\n this.basemap = this.view.map?.basemap as unknown as __esri.Basemap;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.fatalError,\n () => {\n this.fatalError = this.view.fatalError;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.input.gamepad,\n () => {\n this.gamepad = this.view.input.gamepad;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.graphics,\n () => {\n this.graphics = this.view.graphics;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.layerViews,\n () => {\n this.layerViews = this.view.layerViews;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.navigation,\n () => {\n this.navigation = this.view.navigation;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.map,\n () => {\n this.map = this.view.map as __esri.WebMap;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.popup,\n () => {\n this.popup = this.view.popup;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.resolution,\n () => {\n this.resolution = this.view.resolution;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.rotation,\n () => {\n this.rotation = this.view.rotation;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.suspended,\n () => {\n this.suspended = this.view.suspended;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.updating,\n () => {\n this.updating = this.view.updating;\n },\n {\n initial: true\n }\n )\n ]);\n }\n\n private async _createMap(): Promise<__esri.WebMap> {\n const mapParams: __esri.WebMapProperties = {};\n\n if (this.itemId) {\n mapParams.portalItem = await this._createPortalItem();\n }\n\n if (this.basemap) {\n mapParams.basemap = this.basemap as unknown as __esri.Basemap;\n } else if (isNullOrEmptyString(this.itemId)) {\n mapParams.basemap = \"topo-vector\" as unknown as __esri.Basemap;\n }\n\n const map = await newWebMap(mapParams);\n return map;\n }\n\n private async _createPortalItem(): Promise<__esri.PortalItemProperties> {\n const itemProps: Partial<__esri.PortalItemProperties> = {};\n\n if (this.itemId) {\n itemProps.id = this.itemId;\n }\n\n return itemProps;\n }\n\n private _createViewParams(): Partial<__esri.MapViewProperties> {\n const params: Partial<__esri.MapViewProperties> = {};\n\n if (this.background) {\n params.background = this.background;\n }\n\n if (this.center) {\n if (typeof this.center === \"string\") {\n params.center = this.center.split(\",\").map((x) => Number(x));\n } else {\n params.center = this.center;\n }\n }\n\n if (this.constraints) {\n params.constraints = this.constraints;\n }\n\n if (this.extent) {\n params.extent = this.extent;\n }\n\n if (this.floors) {\n params.floors = this.floors;\n }\n\n if (this.highlightOptions) {\n params.highlightOptions = this.highlightOptions;\n }\n\n if (this.map) {\n params.map = this.map;\n }\n\n if (this.navigation) {\n params.navigation = this.navigation;\n }\n\n if (this.popupEnabled !== undefined) {\n params.popupEnabled = this.popupEnabled;\n }\n\n if (this.rotation !== undefined) {\n params.rotation = this.rotation;\n }\n\n if (this.scale !== undefined) {\n params.scale = this.scale;\n }\n\n if (this.spatialReference) {\n params.spatialReference = this.spatialReference;\n }\n\n if (this.theme) {\n params.theme = this.theme;\n }\n\n if (this.timeExtent) {\n params.timeExtent = this.timeExtent;\n }\n\n if (this.timeZone) {\n params.timeZone = this.timeZone;\n }\n\n if (this.viewpoint) {\n params.viewpoint = this.viewpoint;\n }\n\n if (this.zoom !== undefined) {\n params.zoom = this.zoom;\n }\n\n return params;\n }\n\n private async _loadMap(): Promise<void> {\n this.map ||= await this._createMap();\n\n const params = this._createViewParams();\n\n const view = await newViewsMapView({\n ...params\n });\n\n this.view = view;\n\n return void view.when(async () => {\n // proxy view functions\n this.toMap = view.toMap.bind(view);\n this.toScreen = view.toScreen.bind(view);\n await this._addWatchers();\n });\n }\n\n private _proxyEvents(): void {\n addHandles(this, [\n this.view.on(\"click\", (event) => {\n this.arcgisViewClick.emit(event);\n }),\n this.view.on(\"double-click\", (event) => {\n this.arcgisViewDoubleClick.emit(event);\n }),\n this.view.on(\"drag\", (event) => {\n this.arcgisViewDrag.emit(event);\n }),\n this.view.on(\"hold\", (event) => {\n this.arcgisViewHold.emit(event);\n }),\n this.view.on(\"immediate-click\", (event) => {\n this.arcgisViewImmediateClick.emit(event);\n }),\n this.view.on(\"immediate-double-click\", (event) => {\n this.arcgisViewImmediateDoubleClick.emit(event);\n }),\n this.view.on(\"key-down\", (event) => {\n this.arcgisViewKeyDown.emit(event);\n }),\n this.view.on(\"key-up\", (event) => {\n this.arcgisViewKeyUp.emit(event);\n }),\n this.view.on(\"layerview-create\", (event) => {\n this.arcgisViewLayerviewCreate.emit(event);\n }),\n this.view.on(\"layerview-create-error\", (event) => {\n this.arcgisViewLayerviewCreateError.emit(event);\n }),\n this.view.on(\"layerview-destroy\", (event) => {\n this.arcgisViewLayerviewDestroy.emit(event);\n }),\n this.view.on(\"mouse-wheel\", (event) => {\n this.arcgisViewMouseWheel.emit(event);\n }),\n this.view.on(\"pointer-down\", (event) => {\n this.arcgisViewPointerDown.emit(event);\n }),\n this.view.on(\"pointer-enter\", (event) => {\n this.arcgisViewPointerEnter.emit(event);\n }),\n this.view.on(\"pointer-leave\", (event) => {\n this.arcgisViewPointerLeave.emit(event);\n }),\n this.view.on(\"pointer-move\", (event) => {\n this.arcgisViewPointerMove.emit(event);\n }),\n this.view.on(\"pointer-up\", (event) => {\n this.arcgisViewPointerUp.emit(event);\n })\n ]);\n }\n\n private async _updateMap(): Promise<void> {\n if (this.view?.map) {\n this.view.map.destroy();\n const map = await this._createMap();\n this.view.map = map;\n }\n }\n}\n"],"version":3}
1
+ {"file":"arcgis-map.entry.cjs.js","mappings":"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","names":["isNullOrEmptyString","isNotSameViewpoint","newViewsMapView","h","importCoreReactiveUtils","addHandles","newWebMap"],"sources":["src/components/map/map.css?tag=arcgis-map","src/components/map/map.tsx"],"sourcesContent":[".arcgis-map {\n padding: 0;\n margin: 0;\n height: 100%;\n width: 100%;\n}\n","import type { EventEmitter, VNode } from \"@stencil/core\";\nimport { Component, Element, Event, Method, Prop, Watch, h } from \"@stencil/core\";\n\n// arcgis imports\nimport { importCoreReactiveUtils, newViewsMapView, newWebMap } from \"@arcgis/core-adapter\";\nimport type WebMap from \"@arcgis/core/WebMap\";\nimport type { ViewElement } from \"../../utils/component-utils\";\nimport { addHandles, isNotSameViewpoint, isNullOrEmptyString } from \"../../utils/component-utils\";\nimport type { ArcGISMapView } from \"../types\";\n\nexport type ArcGISWebMap = InstanceType<typeof WebMap>;\n\n@Component({\n tag: \"arcgis-map\",\n styleUrl: \"map.css\",\n shadow: false\n})\nexport class ArcgisMap implements ViewElement {\n //--------------------------------------------------------------------------\n //\n // Elements\n //\n //--------------------------------------------------------------------------\n\n el: HTMLDivElement;\n\n @Element() _hostElement!: HTMLArcgisMapElement;\n\n //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n\n /**\n * Collection containing a flat list of all the created LayerViews\n * related to the basemap, operational layers, and group layers in this view.\n */\n @Prop({ mutable: true }) allLayerViews: ArcGISMapView[\"allLayerViews\"];\n\n /**\n * The background color of the MapView. If the view's map changes, the view's `background` is reset to the map's background,\n * even if the user set it previously.\n */\n @Prop({ mutable: true }) background: ArcGISMapView[\"background\"];\n\n @Watch(\"background\")\n backgroundWatcher(value: ArcGISMapView[\"background\"]): void {\n if (this.view) {\n this.background = value;\n }\n }\n\n /**\n * Represents the view for a single basemap after it has been added to the map.\n */\n @Prop({ mutable: true }) basemapView: ArcGISMapView[\"basemapView\"];\n\n /**\n * Specifies a basemap for the map. The basemap is a set of layers that give\n * geographic context to the MapView or SceneView and the other operational layers\n * in the map.\n */\n @Prop({ mutable: true }) basemap: ArcGISWebMap[\"basemap\"];\n\n @Watch(\"basemap\")\n basemapWatcher(value: string): void {\n if (this.view?.map && isNullOrEmptyString(value)) {\n this.view.map.basemap = value as unknown as __esri.Basemap;\n }\n }\n\n /**\n * Represents the view's center point; when setting the center, you may pass a\n * esri/geometry/Point instance or a string representing\n * a longitude/latitude pair (`\"-100.4593, 36.9014\"`).\n * Setting the center immediately changes the current view.\n * For animating the view, see this component's goTo() method.\n */\n @Prop({ mutable: true }) center: ArcGISMapView[\"center\"] | string;\n\n @Watch(\"center\")\n centerWatcher(value: ArcGISMapView[\"center\"]): void {\n if (this.view && value && !this.view.center.equals(value)) {\n this.view.center = value;\n }\n }\n\n /**\n * Specifies constraints to scale, zoom, and rotation that may be applied to the MapView.\n */\n @Prop() constraints: ArcGISMapView[\"constraints\"];\n\n @Watch(\"constraints\")\n constraintsWatcher(value: ArcGISMapView[\"constraints\"]): void {\n if (this.view) {\n this.view.constraints = value;\n }\n }\n\n /**\n * Retains element and view state even when removed from DOM\n */\n @Prop() destroyDisabled = false;\n\n /**\n * The extent represents the visible portion of a map within the view as an instance of esri/geometry/Extent.\n * Setting the extent immediately changes the view without animation. To animate\n * the view, see this component's goTo() method.\n * When the view is rotated, the extent does not update to include the newly visible portions of the map.\n */\n @Prop({ mutable: true }) extent: ArcGISMapView[\"extent\"];\n\n @Watch(\"extent\")\n extentWatcher(value: ArcGISMapView[\"extent\"]): void {\n if (this.view && value && !this.view.extent.equals(value)) {\n this.view.extent = value;\n }\n }\n\n /**\n * A rejected view indicates a fatal error making it unable to display.\n */\n @Prop({ mutable: true }) fatalError: ArcGISMapView[\"fatalError\"];\n\n /**\n * Applies a display filter on the view for a specific set of floor levels.\n * It can filter the map display on floor-aware layers by zero or more level IDs.\n */\n @Prop() floors: ArcGISMapView[\"floors\"];\n\n @Watch(\"floors\")\n floorsWatcher(value: ArcGISMapView[\"floors\"]): void {\n if (this.view) {\n this.view.floors = value;\n }\n }\n\n @Prop({ mutable: true }) gamepad: __esri.GamepadSettings;\n\n /**\n * Allows for adding graphics directly to the default graphics in the View.\n * Example:\n * ```\n * // Adds a graphic to the View\n * graphics.add(pointGraphic);\n * ```\n * Example:\n * ```\n * // Removes a graphic from the View\n * graphics.remove(pointGraphic);\n * ```\n */\n @Prop({ mutable: true }) graphics: ArcGISMapView[\"graphics\"];\n\n @Watch(\"graphics\")\n graphicsWatcher(value: ArcGISMapView[\"graphics\"]): void {\n if (this.view) {\n this.view.graphics = value;\n }\n }\n\n /**\n * Options for configuring the highlight. Use the highlight method on the\n * appropriate esri/views/layers/LayerView to highlight a feature.\n * The layerView's `highlightOptions` will take precedence over the MapView's `highlightOptions` if both properties are set.\n */\n @Prop() highlightOptions: ArcGISMapView[\"highlightOptions\"];\n\n @Watch(\"highlightOptions\")\n highlightOptionsWatcher(value: ArcGISMapView[\"highlightOptions\"]): void {\n if (this.view) {\n this.view.highlightOptions = value;\n }\n }\n\n /**\n * Indication whether the view is being interacted with (for example when panning or by an interactive tool).\n */\n @Prop({ mutable: true }) interacting = false;\n\n /**\n * The ID of a WebMap from ArcGIS Online or ArcGIS Enterprise portal.\n */\n @Prop({ mutable: true, reflect: true }) itemId: string;\n\n @Watch(\"itemId\")\n itemIdWatcher(value: string, old: string): void {\n // NOTE: there is an issue when users set the value to undefined.\n // https://github.com/ionic-team/stencil/issues/2814\n // If user sets `itemid` to `undefined`, Stencil 2 will log the following warning:\n // `The state/prop \"${propName}\" changed during rendering.`\n // `This can potentially lead to infinite-loops and other bugs.`\n //\n // It appears consumer setting the value to null does not cause this warning.\n // In Stencil 4, if a user sets property to undefined, will trigger change, but\n // will not remove attribute from DOM.\n if (value !== old) {\n if (this.view?.map) {\n void this._updateMap();\n } else {\n void this._loadMap();\n }\n }\n }\n\n /**\n * A collection containing a hierarchical list of all the created\n * esri/views/layers/LayerView LayerViews of the\n * esri/Map#layers operational layers in the map.\n */\n @Prop({ mutable: true }) layerViews: ArcGISMapView[\"layerViews\"];\n\n /**\n * The magnifier allows for showing a portion of the view as a magnifier image on top of the view.\n */\n @Prop({ mutable: true }) magnifier: ArcGISMapView[\"magnifier\"];\n\n /**\n * An instance of a esri/Map object to display in the view.\n */\n @Prop({ mutable: true }) map: ArcGISWebMap;\n\n @Watch(\"map\")\n mapWatcher(value: ArcGISWebMap): void {\n if (this.view) {\n this.view.map = value;\n }\n }\n\n /**\n * Indication whether the view is being navigated (for example when panning).\n */\n @Prop({ mutable: true }) navigating = false;\n\n /**\n * Options to configure the navigation behavior of the View.\n */\n @Prop({ mutable: true }) navigation: ArcGISMapView[\"navigation\"];\n\n @Watch(\"navigation\")\n navigationWatcher(value: ArcGISMapView[\"navigation\"]): void {\n if (this.view) {\n this.view.navigation = value;\n }\n }\n\n /**\n * Use the padding property to make the center,\n * and extent, etc. work off a\n * subsection of the full view. This is particularly useful when layering UI\n * elements or semi-transparent content on top of portions of the view.\n */\n @Prop() padding: ArcGISMapView[\"padding\"];\n\n @Watch(\"padding\")\n paddingWatcher(value: ArcGISMapView[\"padding\"]): void {\n if (this.view) {\n this.view.padding = value;\n }\n }\n\n /**\n * A Popup object that displays general content or attributes from layers in the map.\n */\n @Prop({ mutable: true }) popup: ArcGISMapView[\"popup\"];\n\n /**\n * Controls whether the popup opens when users click on the view.\n */\n @Prop() popupEnabled = true;\n\n @Watch(\"popupEnabled\")\n popupEnabledWatcher(value: boolean, old: boolean): void {\n if (value !== old && this.view) {\n this.view.popupEnabled = value;\n }\n }\n\n /**\n * When `true`, this property indicates whether the view successfully satisfied all dependencies,\n * signaling that the following conditions are met.\n */\n @Prop({ mutable: true }) ready = false;\n\n /**\n * Defines which anchor stays still while resizing the browser window. The default, `center`,\n * ensures the view's center point remains constantly visible as the window size changes. The other\n * options allow the respective portion of the view to remain visible when the window's size is changed.\n */\n @Prop() resizeAlign: ArcGISMapView[\"resizeAlign\"];\n\n @Watch(\"resizeAlign\")\n resizeAlignWatcher(value: ArcGISMapView[\"resizeAlign\"]): void {\n if (this.view) {\n this.view.resizeAlign = value;\n }\n }\n\n /**\n * Represents the current value of one pixel in the unit of the view's spatialReference.\n * The value of resolution is calculated by dividing the view's extent width\n * by its width.\n */\n @Prop({ mutable: true }) resolution: ArcGISMapView[\"resolution\"];\n\n /**\n * The clockwise rotation of due north in relation to the top of the view in degrees.\n * The view may be rotated by directly setting\n * the rotation or by using the following mouse event: `Right-click + Drag`.\n * Map rotation may be disabled by setting the `rotationEnabled` property\n * in [constraints](#constraints) to `false`. See the code snippet below for\n * an example of this.\n */\n @Prop({ mutable: true }) rotation = 0;\n\n @Watch(\"rotation\")\n rotationWatcher(value: number): void {\n if (this.view && this.view.rotation !== value) {\n this.view.rotation = value;\n }\n }\n\n /**\n * Represents the map scale at the center of the view. Setting the scale immediately changes the view. For animating\n * the view, see this component's goTo() method.\n */\n @Prop({ mutable: true }) scale: number;\n\n @Watch(\"scale\")\n scaleWatcher(value: number, old: number): void {\n if (!this.view?.interacting && value != null && value !== old) {\n this.view.scale = value;\n }\n }\n\n /**\n * The spatial reference of the view.\n * This indicates the projected or geographic coordinate system used\n * to locate geographic features in the map.\n */\n @Prop({ mutable: true }) spatialReference: ArcGISMapView[\"spatialReference\"];\n\n @Watch(\"spatialReference\")\n spatialReferenceWatcher(value: ArcGISMapView[\"spatialReference\"]): void {\n if (this.view && value && !this.view.spatialReference.equals(value)) {\n this.view.spatialReference = value;\n }\n }\n\n /**\n * Indication whether the view is animating, being navigated with or resizing.\n */\n @Prop({ mutable: true }) stationary: boolean;\n\n /**\n * Indicates if the view is visible on the page.\n */\n @Prop({ mutable: true, reflect: true }) suspended = true;\n\n /**\n * This property specifies the base colors used by some widgets\n * and components to render graphics and labels.\n */\n @Prop() theme: ArcGISMapView[\"theme\"];\n\n @Watch(\"theme\")\n themeWatcher(value: ArcGISMapView[\"theme\"]): void {\n if (this.view) {\n this.view.theme = value;\n }\n }\n\n /**\n * The view's time extent. Time-aware layers display their temporal data that falls within\n * the view's time extent. Setting the view's time extent is similar to setting the spatial\n * extent because once the time extent is set, the\n * view updates automatically to conform to the change.\n */\n @Prop() timeExtent: ArcGISMapView[\"timeExtent\"];\n\n @Watch(\"timeExtent\")\n timeExtentWatcher(value: ArcGISMapView[\"timeExtent\"]): void {\n if (this.view) {\n this.view.timeExtent = value;\n }\n }\n\n /**\n * Defines the time zone of the view.\n * The time zone property determines how dates and times are represented to the user,\n * but the underlying data is unchanged.\n */\n @Prop() timeZone: ArcGISMapView[\"timeZone\"] = \"system\";\n\n @Watch(\"timeZone\")\n timeZoneWatcher(value: ArcGISMapView[\"timeZone\"]): void {\n if (this.view) {\n this.view.timeZone = value;\n }\n }\n\n // Start functions as properties\n\n /**\n * toMap() function as a property.\n */\n @Prop({ mutable: true }) toMap: ArcGISMapView[\"toMap\"];\n\n /**\n * toScreen() function as a property.\n */\n @Prop({ mutable: true }) toScreen: ArcGISMapView[\"toScreen\"];\n\n // End functions as properties\n\n /**\n * Indicates whether the view is being updated by additional data requests to the network,\n * or by processing received data.\n */\n @Prop({ mutable: true, reflect: true }) updating = false;\n\n /**\n * Represents the current view as a Viewpoint or point of observation on the view.\n * Setting the viewpoint immediately changes the current view. For animating\n * the view, see this component's goTo() method.\n */\n @Prop({ mutable: true }) viewpoint: ArcGISMapView[\"viewpoint\"];\n\n @Watch(\"viewpoint\")\n viewpointWatcher(value: ArcGISMapView[\"viewpoint\"]): void {\n if (this.view && isNotSameViewpoint(this.view.viewpoint, value)) {\n this.view.viewpoint = value;\n }\n }\n\n /**\n * Represents the level of detail (LOD) at the center of the view.\n * A zoom level (or scale) is a number that defines how large or small the contents of a map appear in a map view.\n * Zoom level is a number usually between 0 (global view) and 23 (very detailed view) and is used as a shorthand for predetermined scale values.\n * A value of -1 means the view has no LODs.\n * When setting the zoom value, the MapView converts it to the corresponding scale, or interpolates it if the zoom is a fractional number.\n * MapView can display maps with different projections at a full range of scales, and so use the scale property on this component rather than zoom level.\n *\n * Setting the zoom immediately changes the current view. For animating the view, see this component's goTo() method.\n * Setting this property in conjunction with `center` is a convenient way to set the initial extent of the view.\n */\n @Prop({ mutable: true, reflect: true }) zoom: number;\n\n @Watch(\"zoom\")\n zoomWatcher(value: number, old: number): void {\n if (!this.view?.interacting && value != null && value !== old) {\n this.view.zoom = value;\n }\n }\n\n /**\n * Internal view of the component.\n */\n @Prop({ mutable: true }) view: ArcGISMapView;\n\n _watchHandles: __esri.WatchHandle[] = [];\n\n //--------------------------------------------------------------------------\n //\n // Events\n //\n //--------------------------------------------------------------------------\n\n /**\n * For the `ready` property\n */\n @Event({ cancelable: true }) arcgisViewReadyChange!: EventEmitter;\n /**\n * For view related properties: zoom, scale, center, rotation, extent, camera, viewpoint\n */\n @Event({ cancelable: true }) arcgisViewChange!: EventEmitter;\n\n // proxy view events\n /**\n * Fires after a user clicks on the view.\n */\n @Event({ cancelable: true }) arcgisViewClick!: EventEmitter<__esri.ViewClickEvent>;\n /**\n * Fires after double-clicking on the view.\n */\n @Event({ cancelable: true }) arcgisViewDoubleClick!: EventEmitter<__esri.ViewDoubleClickEvent>;\n /**\n * Fires during a pointer drag on the view.\n */\n @Event({ cancelable: true }) arcgisViewDrag!: EventEmitter<__esri.ViewDragEvent>;\n /**\n * Fires during a pointer drag on the view.\n */\n @Event({ cancelable: true }) arcgisViewHold!: EventEmitter<__esri.ViewHoldEvent>;\n /**\n * Fires right after a user clicks on the view.\n */\n @Event({ cancelable: true }) arcgisViewImmediateClick!: EventEmitter<__esri.ViewImmediateClickEvent>;\n /**\n * Is emitted after two consecutive immediate-click events.\n */\n @Event({ cancelable: true }) arcgisViewImmediateDoubleClick!: EventEmitter<__esri.ViewImmediateDoubleClickEvent>;\n /**\n * Fires after a keyboard key is pressed.\n */\n @Event({ cancelable: true }) arcgisViewKeyDown!: EventEmitter<__esri.ViewKeyDownEvent>;\n /**\n * Fires after a keyboard key is pressed.\n */\n @Event({ cancelable: true }) arcgisViewKeyUp!: EventEmitter<__esri.ViewKeyUpEvent>;\n /**\n * Fires after each layer in the map has a corresponding LayerView created and rendered in the view.\n */\n @Event({ cancelable: true }) arcgisViewLayerviewCreate!: EventEmitter<__esri.ViewLayerviewCreateEvent>;\n /**\n * Fires when an error emits during the creation of a LayerView after a layer has been added to the map.\n */\n @Event({ cancelable: true }) arcgisViewLayerviewCreateError!: EventEmitter<__esri.ViewLayerviewCreateErrorEvent>;\n /**\n * Fires after a LayerView is destroyed and is no longer rendered in the view.\n */\n @Event({ cancelable: true }) arcgisViewLayerviewDestroy!: EventEmitter<__esri.ViewLayerviewDestroyEvent>;\n /**\n * Fires when a wheel button of a pointing device (typically a mouse) is scrolled on the view.\n */\n @Event({ cancelable: true }) arcgisViewMouseWheel!: EventEmitter<__esri.ViewMouseWheelEvent>;\n /**\n * Fires after a mouse button is pressed, or a finger touches the display.\n */\n @Event({ cancelable: true }) arcgisViewPointerDown!: EventEmitter<__esri.ViewPointerDownEvent>;\n /**\n * Fires after a mouse cursor enters the view, or a display touch begins.\n */\n @Event({ cancelable: true }) arcgisViewPointerEnter!: EventEmitter<__esri.ViewPointerEnterEvent>;\n /**\n * Fires after a mouse cursor leaves the view, or a display touch ends.\n */\n @Event({ cancelable: true }) arcgisViewPointerLeave!: EventEmitter<__esri.ViewPointerLeaveEvent>;\n /**\n * Fires after the mouse or a finger on the display moves.\n */\n @Event({ cancelable: true }) arcgisViewPointerMove!: EventEmitter<__esri.ViewPointerMoveEvent>;\n /**\n * Fires after a mouse button is released, or a display touch ends.\n */\n @Event({ cancelable: true }) arcgisViewPointerUp!: EventEmitter<__esri.ViewPointerUpEvent>;\n\n //--------------------------------------------------------------------------\n //\n // Methods\n //\n //--------------------------------------------------------------------------\n\n /**\n * Closes the popup.\n */\n @Method()\n async closePopup(): Promise<void> {\n this.view?.closePopup();\n }\n\n /**\n * Destroys the view, and any associated resources, including its map, popup, and UI elements.\n */\n @Method()\n async destroy(): Promise<void> {\n if (this.destroyDisabled) {\n this._clearWatchHandles();\n this.view.destroy();\n }\n }\n\n /**\n * Sets the view to a given target.\n */\n @Method()\n async goTo(target: __esri.GoToTarget2D, options?: __esri.GoToOptions2D): Promise<any> {\n return (await this.view?.goTo(target, options)) as unknown;\n }\n\n /**\n * Returns hit test results from each layer that intersects the specified screen coordinates.\n */\n @Method()\n async hitTest(screenPoint: __esri.ScreenPoint, options?: Record<string, any>): Promise<__esri.HitTestResult> {\n return await this.view?.hitTest(screenPoint, options);\n }\n\n /**\n * Opens the popup at the given location with content defined either explicitly with content or driven\n * from the PopupTemplate of input features.\n */\n @Method()\n async openPopup(options?: Record<string, any>): Promise<any> {\n return void this.view?.openPopup(options) as unknown;\n }\n\n /**\n * Create a screenshot of the current view.\n */\n @Method()\n async takeScreenshot(options?: Record<string, any>): Promise<__esri.Screenshot> {\n return await this.view?.takeScreenshot(options);\n }\n\n /**\n * Call this method to clear any fatal errors resulting from a lost WebGL context.\n */\n @Method()\n async tryFatalErrorRecovery(): Promise<void> {\n this.view?.tryFatalErrorRecovery();\n }\n\n /**\n * Gets the LayerView created on the view for the given layer.\n */\n @Method()\n async whenLayerView(layer: __esri.Layer): Promise<__esri.LayerView> {\n return await this.view?.whenLayerView(layer);\n }\n\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n\n async connectedCallback(): Promise<void> {\n this.view = await newViewsMapView({});\n }\n\n async componentWillLoad(): Promise<void> {\n await this._loadMap();\n }\n\n componentDidRender(): void {\n if (this.view && !this.view.container) {\n this.view.container = this.el;\n }\n }\n\n componentDidLoad(): void {\n this._proxyEvents();\n }\n\n disconnectedCallback(): void {\n void this.destroy();\n }\n\n render(): VNode {\n return <div class=\"arcgis-map\" ref={(el) => (this.el = el!)}></div>;\n }\n\n //--------------------------------------------------------------------------\n //\n // Private Methods\n //\n //--------------------------------------------------------------------------\n\n private _clearWatchHandles(): void {\n this._watchHandles.forEach((handle) => handle.remove());\n this._watchHandles = [];\n }\n\n private async _addWatchers(): Promise<void> {\n const { watch, when } = await importCoreReactiveUtils();\n addHandles(this, [\n // watch for ready and emit arcgisViewReadyChange event\n watch(\n () => this.view.ready,\n () => {\n this.ready = this.view.ready;\n this.arcgisViewReadyChange.emit();\n },\n {\n initial: true\n }\n ),\n // watch for stationary and emit arcgisViewChange event\n watch(\n () => this.view.stationary,\n () => {\n this.stationary = this.view.stationary;\n this.interacting = this.view.interacting;\n this.navigating = this.view.navigating;\n this.arcgisViewChange.emit();\n },\n {\n initial: true\n }\n ),\n // when view stationary is true, update these props:\n // zoom, scale, center, rotation, extent, camera, viewpoint\n when(\n () => this.view.stationary,\n () => {\n this.center = this.view.center;\n this.extent = this.view.extent;\n this.scale = this.view.scale;\n this.viewpoint = this.view.viewpoint;\n this.zoom = this.view.zoom;\n this.spatialReference = this.view.spatialReference;\n }\n ),\n // watchers for other props to update component\n watch(\n () => this.view.allLayerViews,\n () => {\n this.allLayerViews = this.view.allLayerViews;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.map?.basemap,\n () => {\n this.basemap = this.view.map?.basemap as unknown as __esri.Basemap;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.fatalError,\n () => {\n this.fatalError = this.view.fatalError;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.input.gamepad,\n () => {\n this.gamepad = this.view.input.gamepad;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.graphics,\n () => {\n this.graphics = this.view.graphics;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.layerViews,\n () => {\n this.layerViews = this.view.layerViews;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.navigation,\n () => {\n this.navigation = this.view.navigation;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.map,\n () => {\n this.map = this.view.map as __esri.WebMap;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.popup,\n () => {\n this.popup = this.view.popup;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.resolution,\n () => {\n this.resolution = this.view.resolution;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.rotation,\n () => {\n this.rotation = this.view.rotation;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.suspended,\n () => {\n this.suspended = this.view.suspended;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.updating,\n () => {\n this.updating = this.view.updating;\n },\n {\n initial: true\n }\n )\n ]);\n }\n\n private async _createMap(): Promise<__esri.WebMap> {\n const mapParams: __esri.WebMapProperties = {};\n\n if (this.itemId) {\n mapParams.portalItem = await this._createPortalItem();\n }\n\n if (this.basemap) {\n mapParams.basemap = this.basemap as unknown as __esri.Basemap;\n } else if (isNullOrEmptyString(this.itemId)) {\n mapParams.basemap = \"topo-vector\" as unknown as __esri.Basemap;\n }\n\n const map = await newWebMap(mapParams);\n return map;\n }\n\n private async _createPortalItem(): Promise<__esri.PortalItemProperties> {\n const itemProps: Partial<__esri.PortalItemProperties> = {};\n\n if (this.itemId) {\n itemProps.id = this.itemId;\n }\n\n return itemProps;\n }\n\n private _createViewParams(): Partial<__esri.MapViewProperties> {\n const params: Partial<__esri.MapViewProperties> = {};\n\n if (this.background) {\n params.background = this.background;\n }\n\n if (this.center) {\n if (typeof this.center === \"string\") {\n params.center = this.center.split(\",\").map((x) => Number(x));\n } else {\n params.center = this.center;\n }\n }\n\n if (this.constraints) {\n params.constraints = this.constraints;\n }\n\n if (this.extent) {\n params.extent = this.extent;\n }\n\n if (this.floors) {\n params.floors = this.floors;\n }\n\n if (this.highlightOptions) {\n params.highlightOptions = this.highlightOptions;\n }\n\n if (this.map) {\n params.map = this.map;\n }\n\n if (this.navigation) {\n params.navigation = this.navigation;\n }\n\n if (this.popupEnabled !== undefined) {\n params.popupEnabled = this.popupEnabled;\n }\n\n if (this.rotation !== undefined) {\n params.rotation = this.rotation;\n }\n\n if (this.scale !== undefined) {\n params.scale = this.scale;\n }\n\n if (this.spatialReference) {\n params.spatialReference = this.spatialReference;\n }\n\n if (this.theme) {\n params.theme = this.theme;\n }\n\n if (this.timeExtent) {\n params.timeExtent = this.timeExtent;\n }\n\n if (this.timeZone) {\n params.timeZone = this.timeZone;\n }\n\n if (this.viewpoint) {\n params.viewpoint = this.viewpoint;\n }\n\n if (this.zoom !== undefined) {\n params.zoom = this.zoom;\n }\n\n return params;\n }\n\n private async _loadMap(): Promise<void> {\n this.map ||= await this._createMap();\n\n const params = this._createViewParams();\n\n const view = await newViewsMapView({\n ...params\n });\n\n this.view = view;\n\n return void view.when(async () => {\n // proxy view functions\n this.toMap = view.toMap.bind(view);\n this.toScreen = view.toScreen.bind(view);\n await this._addWatchers();\n });\n }\n\n private _proxyEvents(): void {\n addHandles(this, [\n this.view.on(\"click\", (event) => {\n this.arcgisViewClick.emit(event);\n }),\n this.view.on(\"double-click\", (event) => {\n this.arcgisViewDoubleClick.emit(event);\n }),\n this.view.on(\"drag\", (event) => {\n this.arcgisViewDrag.emit(event);\n }),\n this.view.on(\"hold\", (event) => {\n this.arcgisViewHold.emit(event);\n }),\n this.view.on(\"immediate-click\", (event) => {\n this.arcgisViewImmediateClick.emit(event);\n }),\n this.view.on(\"immediate-double-click\", (event) => {\n this.arcgisViewImmediateDoubleClick.emit(event);\n }),\n this.view.on(\"key-down\", (event) => {\n this.arcgisViewKeyDown.emit(event);\n }),\n this.view.on(\"key-up\", (event) => {\n this.arcgisViewKeyUp.emit(event);\n }),\n this.view.on(\"layerview-create\", (event) => {\n this.arcgisViewLayerviewCreate.emit(event);\n }),\n this.view.on(\"layerview-create-error\", (event) => {\n this.arcgisViewLayerviewCreateError.emit(event);\n }),\n this.view.on(\"layerview-destroy\", (event) => {\n this.arcgisViewLayerviewDestroy.emit(event);\n }),\n this.view.on(\"mouse-wheel\", (event) => {\n this.arcgisViewMouseWheel.emit(event);\n }),\n this.view.on(\"pointer-down\", (event) => {\n this.arcgisViewPointerDown.emit(event);\n }),\n this.view.on(\"pointer-enter\", (event) => {\n this.arcgisViewPointerEnter.emit(event);\n }),\n this.view.on(\"pointer-leave\", (event) => {\n this.arcgisViewPointerLeave.emit(event);\n }),\n this.view.on(\"pointer-move\", (event) => {\n this.arcgisViewPointerMove.emit(event);\n }),\n this.view.on(\"pointer-up\", (event) => {\n this.arcgisViewPointerUp.emit(event);\n })\n ]);\n }\n\n private async _updateMap(): Promise<void> {\n if (this.view?.map) {\n this.view.map.destroy();\n const map = await this._createMap();\n this.view.map = map;\n }\n }\n}\n"],"version":3}
@@ -198,30 +198,55 @@ const ArcgisMap$1 = /*@__PURE__*/ proxyCustomElement(class ArcgisMap extends HTM
198
198
  // Methods
199
199
  //
200
200
  //--------------------------------------------------------------------------
201
+ /**
202
+ * Closes the popup.
203
+ */
201
204
  async closePopup() {
202
205
  this.view?.closePopup();
203
206
  }
207
+ /**
208
+ * Destroys the view, and any associated resources, including its map, popup, and UI elements.
209
+ */
204
210
  async destroy() {
205
211
  if (this.destroyDisabled) {
206
212
  this._clearWatchHandles();
207
213
  this.view.destroy();
208
214
  }
209
215
  }
216
+ /**
217
+ * Sets the view to a given target.
218
+ */
210
219
  async goTo(target, options) {
211
220
  return (await this.view?.goTo(target, options));
212
221
  }
222
+ /**
223
+ * Returns hit test results from each layer that intersects the specified screen coordinates.
224
+ */
213
225
  async hitTest(screenPoint, options) {
214
226
  return await this.view?.hitTest(screenPoint, options);
215
227
  }
228
+ /**
229
+ * Opens the popup at the given location with content defined either explicitly with content or driven
230
+ * from the PopupTemplate of input features.
231
+ */
216
232
  async openPopup(options) {
217
233
  return void this.view?.openPopup(options);
218
234
  }
235
+ /**
236
+ * Create a screenshot of the current view.
237
+ */
219
238
  async takeScreenshot(options) {
220
239
  return await this.view?.takeScreenshot(options);
221
240
  }
241
+ /**
242
+ * Call this method to clear any fatal errors resulting from a lost WebGL context.
243
+ */
222
244
  async tryFatalErrorRecovery() {
223
245
  this.view?.tryFatalErrorRecovery();
224
246
  }
247
+ /**
248
+ * Gets the LayerView created on the view for the given layer.
249
+ */
225
250
  async whenLayerView(layer) {
226
251
  return await this.view?.whenLayerView(layer);
227
252
  }