@arcgis/map-components 4.29.0-beta.76 → 4.29.0-beta.77
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.
- package/dist/arcgis-map-components/arcgis-map-components.esm.js +1 -1
- package/dist/arcgis-map-components/arcgis-map-components.esm.js.map +1 -1
- package/dist/arcgis-map-components/p-9d9417bb.entry.js +2 -0
- package/dist/arcgis-map-components/p-9d9417bb.entry.js.map +1 -0
- package/dist/arcgis-map-components/p-c27946f8.entry.js +2 -0
- package/dist/arcgis-map-components/p-c27946f8.entry.js.map +1 -0
- package/dist/cjs/arcgis-basemap-gallery_3.cjs.entry.js +45 -22
- package/dist/cjs/arcgis-basemap-gallery_3.cjs.entry.js.map +1 -1
- package/dist/cjs/arcgis-map-components.cjs.js +1 -1
- package/dist/cjs/arcgis-map.cjs.entry.js +27 -21
- package/dist/cjs/arcgis-map.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/components/arcgis-map.js +28 -21
- package/dist/components/arcgis-map.js.map +1 -1
- package/dist/components/arcgis-scene.js +48 -23
- package/dist/components/arcgis-scene.js.map +1 -1
- package/dist/esm/arcgis-basemap-gallery_3.entry.js +45 -22
- package/dist/esm/arcgis-basemap-gallery_3.entry.js.map +1 -1
- package/dist/esm/arcgis-map-components.js +1 -1
- package/dist/esm/arcgis-map.entry.js +27 -21
- package/dist/esm/arcgis-map.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/map/map.d.ts +13 -12
- package/dist/types/components/scene/scene.d.ts +15 -13
- package/dist/types/components.d.ts +42 -38
- package/package.json +5 -5
- package/dist/arcgis-map-components/p-8bf4b85e.entry.js +0 -2
- package/dist/arcgis-map-components/p-8bf4b85e.entry.js.map +0 -1
- package/dist/arcgis-map-components/p-c74a83ee.entry.js +0 -2
- package/dist/arcgis-map-components/p-c74a83ee.entry.js.map +0 -1
|
@@ -325,7 +325,7 @@ const ArcgisScene = class {
|
|
|
325
325
|
this.arcgisViewPointerUp = index.createEvent(this, "arcgisViewPointerUp", 7);
|
|
326
326
|
this._watchHandles = [];
|
|
327
327
|
this.allLayerViews = undefined;
|
|
328
|
-
this.alphaCompositingEnabled =
|
|
328
|
+
this.alphaCompositingEnabled = false;
|
|
329
329
|
this.analyses = undefined;
|
|
330
330
|
this.basemapView = undefined;
|
|
331
331
|
this.basemap = undefined;
|
|
@@ -338,37 +338,38 @@ const ArcgisScene = class {
|
|
|
338
338
|
this.extent = undefined;
|
|
339
339
|
this.fatalError = undefined;
|
|
340
340
|
this.floors = undefined;
|
|
341
|
+
this.gamepad = undefined;
|
|
341
342
|
this.graphics = undefined;
|
|
343
|
+
this.ground = undefined;
|
|
342
344
|
this.groundView = undefined;
|
|
343
345
|
this.highlightOptions = undefined;
|
|
344
|
-
this.interacting =
|
|
346
|
+
this.interacting = false;
|
|
345
347
|
this.itemId = undefined;
|
|
346
348
|
this.layerViews = undefined;
|
|
347
349
|
this.magnifier = undefined;
|
|
348
350
|
this.map = undefined;
|
|
349
|
-
this.navigating =
|
|
351
|
+
this.navigating = false;
|
|
350
352
|
this.navigation = undefined;
|
|
351
353
|
this.padding = undefined;
|
|
352
354
|
this.performanceInfo = undefined;
|
|
353
355
|
this.popup = undefined;
|
|
354
|
-
this.popupEnabled =
|
|
356
|
+
this.popupEnabled = true;
|
|
355
357
|
this.qualityProfile = undefined;
|
|
356
|
-
this.ready =
|
|
358
|
+
this.ready = false;
|
|
357
359
|
this.resolution = undefined;
|
|
358
360
|
this.scale = undefined;
|
|
359
361
|
this.spatialReference = undefined;
|
|
360
362
|
this.stationary = undefined;
|
|
361
|
-
this.suspended =
|
|
363
|
+
this.suspended = false;
|
|
362
364
|
this.theme = undefined;
|
|
363
365
|
this.timeExtent = undefined;
|
|
364
366
|
this.toMap = undefined;
|
|
365
367
|
this.toScreen = undefined;
|
|
366
|
-
this.updating =
|
|
367
|
-
this.viewingMode =
|
|
368
|
+
this.updating = false;
|
|
369
|
+
this.viewingMode = "global";
|
|
368
370
|
this.viewpoint = undefined;
|
|
369
371
|
this.zoom = undefined;
|
|
370
372
|
this.view = undefined;
|
|
371
|
-
this.disableNavigation = false;
|
|
372
373
|
}
|
|
373
374
|
alphaCompositingEnabledWatcher(value) {
|
|
374
375
|
if (value !== undefined && this.view) {
|
|
@@ -422,6 +423,11 @@ const ArcgisScene = class {
|
|
|
422
423
|
this.view.graphics = value;
|
|
423
424
|
}
|
|
424
425
|
}
|
|
426
|
+
groundWatcher(value) {
|
|
427
|
+
if (this.view?.map && componentUtils.isNullOrEmptyString(value)) {
|
|
428
|
+
this.view.map.ground = value;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
425
431
|
highlightOptionsWatcher(value) {
|
|
426
432
|
if (this.view) {
|
|
427
433
|
this.view.highlightOptions = value;
|
|
@@ -439,10 +445,10 @@ const ArcgisScene = class {
|
|
|
439
445
|
// will not remove attribute from DOM.
|
|
440
446
|
if (value !== old) {
|
|
441
447
|
if (this.view?.map) {
|
|
442
|
-
this._updateMap();
|
|
448
|
+
void this._updateMap();
|
|
443
449
|
}
|
|
444
450
|
else {
|
|
445
|
-
this._loadMap();
|
|
451
|
+
void this._loadMap();
|
|
446
452
|
}
|
|
447
453
|
}
|
|
448
454
|
}
|
|
@@ -461,8 +467,8 @@ const ArcgisScene = class {
|
|
|
461
467
|
this.view.padding = value;
|
|
462
468
|
}
|
|
463
469
|
}
|
|
464
|
-
popupEnabledWatcher(value) {
|
|
465
|
-
if (value !==
|
|
470
|
+
popupEnabledWatcher(value, old) {
|
|
471
|
+
if (value !== old && this.view) {
|
|
466
472
|
this.view.popupEnabled = value;
|
|
467
473
|
}
|
|
468
474
|
}
|
|
@@ -521,13 +527,13 @@ const ArcgisScene = class {
|
|
|
521
527
|
}
|
|
522
528
|
}
|
|
523
529
|
async goTo(target, options) {
|
|
524
|
-
return await this.view?.goTo(target, options);
|
|
530
|
+
return (await this.view?.goTo(target, options));
|
|
525
531
|
}
|
|
526
532
|
async hitTest(screenPoint, options) {
|
|
527
533
|
return await this.view?.hitTest(screenPoint, options);
|
|
528
534
|
}
|
|
529
535
|
async openPopup(options) {
|
|
530
|
-
return await this.view?.openPopup(options);
|
|
536
|
+
return (await this.view?.openPopup(options));
|
|
531
537
|
}
|
|
532
538
|
async takeScreenshot(options) {
|
|
533
539
|
return await this.view?.takeScreenshot(options);
|
|
@@ -561,7 +567,7 @@ const ArcgisScene = class {
|
|
|
561
567
|
this._proxyEvents();
|
|
562
568
|
}
|
|
563
569
|
disconnectedCallback() {
|
|
564
|
-
this.destroy();
|
|
570
|
+
void this.destroy();
|
|
565
571
|
}
|
|
566
572
|
render() {
|
|
567
573
|
return index.h("div", { class: "arcgis-scene", ref: (el) => (this.el = el) });
|
|
@@ -636,11 +642,21 @@ const ArcgisScene = class {
|
|
|
636
642
|
}, {
|
|
637
643
|
initial: true
|
|
638
644
|
}),
|
|
645
|
+
watch(() => this.view.input.gamepad, () => {
|
|
646
|
+
this.gamepad = this.view.input.gamepad;
|
|
647
|
+
}, {
|
|
648
|
+
initial: true
|
|
649
|
+
}),
|
|
639
650
|
watch(() => this.view.graphics, () => {
|
|
640
651
|
this.graphics = this.view.graphics;
|
|
641
652
|
}, {
|
|
642
653
|
initial: true
|
|
643
654
|
}),
|
|
655
|
+
watch(() => this.view.map?.ground, () => {
|
|
656
|
+
this.ground = this.view.map?.ground;
|
|
657
|
+
}, {
|
|
658
|
+
initial: true
|
|
659
|
+
}),
|
|
644
660
|
watch(() => this.view.groundView, () => {
|
|
645
661
|
this.groundView = this.view.groundView;
|
|
646
662
|
}, {
|
|
@@ -704,7 +720,7 @@ const ArcgisScene = class {
|
|
|
704
720
|
async _createMap() {
|
|
705
721
|
const mapParams = {};
|
|
706
722
|
if (this.itemId) {
|
|
707
|
-
mapParams.portalItem = this._createPortalItem();
|
|
723
|
+
mapParams.portalItem = await this._createPortalItem();
|
|
708
724
|
}
|
|
709
725
|
if (this.basemap) {
|
|
710
726
|
mapParams.basemap = this.basemap;
|
|
@@ -712,15 +728,21 @@ const ArcgisScene = class {
|
|
|
712
728
|
else if (componentUtils.isNullOrEmptyString(this.itemId)) {
|
|
713
729
|
mapParams.basemap = "topo-vector";
|
|
714
730
|
}
|
|
731
|
+
if (this.ground) {
|
|
732
|
+
mapParams.ground = this.ground;
|
|
733
|
+
}
|
|
734
|
+
else if (componentUtils.isNullOrEmptyString(this.itemId)) {
|
|
735
|
+
mapParams.ground = "world-elevation";
|
|
736
|
+
}
|
|
715
737
|
const map = await index$1.newWebScene(mapParams);
|
|
716
738
|
return map;
|
|
717
739
|
}
|
|
718
|
-
_createPortalItem() {
|
|
719
|
-
const
|
|
740
|
+
async _createPortalItem() {
|
|
741
|
+
const itemProps = {};
|
|
720
742
|
if (this.itemId) {
|
|
721
|
-
|
|
743
|
+
itemProps.id = this.itemId;
|
|
722
744
|
}
|
|
723
|
-
return
|
|
745
|
+
return itemProps;
|
|
724
746
|
}
|
|
725
747
|
_createViewParams() {
|
|
726
748
|
const params = {};
|
|
@@ -781,7 +803,7 @@ const ArcgisScene = class {
|
|
|
781
803
|
...params
|
|
782
804
|
});
|
|
783
805
|
this.view = view;
|
|
784
|
-
view.when(async () => {
|
|
806
|
+
return void view.when(async () => {
|
|
785
807
|
// proxy view functions
|
|
786
808
|
this.toMap = view.toMap.bind(view);
|
|
787
809
|
this.toScreen = view.toScreen.bind(view);
|
|
@@ -862,6 +884,7 @@ const ArcgisScene = class {
|
|
|
862
884
|
"extent": ["extentWatcher"],
|
|
863
885
|
"floors": ["floorsWatcher"],
|
|
864
886
|
"graphics": ["graphicsWatcher"],
|
|
887
|
+
"ground": ["groundWatcher"],
|
|
865
888
|
"highlightOptions": ["highlightOptionsWatcher"],
|
|
866
889
|
"itemId": ["itemIdWatcher"],
|
|
867
890
|
"map": ["mapWatcher"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"arcgis-basemap-gallery.arcgis-expand.arcgis-scene.entry.cjs.js","mappings":"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","names":["referenceElementHelper","newWidgetsBasemapGallery","checkForView","onDisconnectedHelper","h","importCoreReactiveUtils","addHandles","newWidgetsExpand","isNullOrEmptyString","isNotSameCamera","isNotSameEnvironment","isNotSameViewpoint","isValidInteger","newViewsSceneView","newWebScene"],"sources":["src/components/basemap-gallery/basemap-gallery.css?tag=arcgis-basemap-gallery","src/components/basemap-gallery/basemap-gallery.tsx","src/components/expand/expand.css?tag=arcgis-expand","src/components/expand/expand.tsx","src/components/scene/scene.css?tag=arcgis-scene","src/components/scene/scene.tsx"],"sourcesContent":["","import type { EventEmitter, VNode } from \"@stencil/core\";\nimport { Component, Element, Event, Prop, Watch, h } from \"@stencil/core\";\n\n// arcgis imports\nimport { importCoreReactiveUtils, newWidgetsBasemapGallery } from \"@arcgis/core-adapter\";\nimport type BasemapGallery from \"@arcgis/core/widgets/BasemapGallery\";\nimport type { ArcgisReferenceElement } from \"../../utils/component-utils\";\nimport { addHandles, checkForView, referenceElementHelper } from \"../../utils/component-utils\";\nimport { onDisconnectedHelper } from \"../../utils/disconnected\";\nimport type { ExpandableComponent } from \"../../utils/expandable\";\nimport type { ArcGISMapView, ArcGISSceneView } from \"../types\";\n\nexport type BasemapGalleryWidget = InstanceType<typeof BasemapGallery>;\n\n@Component({\n tag: \"arcgis-basemap-gallery\",\n styleUrl: \"basemap-gallery.css\",\n shadow: false\n})\nexport class ArcgisBasemapGallery implements ExpandableComponent {\n //--------------------------------------------------------------------------\n //\n // Element\n //\n //--------------------------------------------------------------------------\n\n @Element() el!: HTMLDivElement;\n\n childElem: HTMLDivElement;\n\n expandElem: HTMLArcgisExpandElement;\n\n //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n\n @Prop() referenceElement: ArcgisReferenceElement | string;\n\n @Watch(\"referenceElement\")\n referenceElementWatcher(newValue: ArcgisReferenceElement | string): void {\n referenceElementHelper(this, newValue);\n }\n\n @Prop({ mutable: true }) activeBasemap: BasemapGalleryWidget[\"activeBasemap\"];\n\n @Prop() position = \"bottom-left\";\n\n @Watch(\"position\")\n positionWatcher(newValue: string): void {\n if (newValue !== undefined && this.widget) {\n this.view.ui.move(this.childElem, newValue);\n }\n }\n\n @Prop() expandable = false;\n\n @Prop({ mutable: true }) source: BasemapGalleryWidget[\"source\"];\n\n @Watch(\"source\")\n sourceWatcher(newValue: BasemapGalleryWidget[\"source\"]): void {\n if (this.widget) {\n this.widget.source = newValue;\n }\n }\n\n @Prop({ mutable: true }) view: ArcGISMapView | ArcGISSceneView;\n\n @Watch(\"view\")\n viewWatcher(newValue: ArcGISMapView | ArcGISSceneView): void {\n if (newValue !== undefined && this.widget) {\n this.widget.view = newValue;\n }\n }\n\n @Prop({ mutable: true }) widget: BasemapGalleryWidget;\n\n _watchHandles: __esri.WatchHandle[] = [];\n\n //--------------------------------------------------------------------------\n //\n // Events\n //\n //--------------------------------------------------------------------------\n\n @Event({ cancelable: true }) widgetReady!: EventEmitter<{ widget: __esri.BasemapGallery }>;\n\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n\n async componentDidLoad(): Promise<void> {\n const params = this._createParams();\n const widget = await newWidgetsBasemapGallery(params);\n\n this.widget = widget;\n\n await this._addWatchers();\n\n this.widgetReady.emit({ widget: this.widget });\n\n checkForView(this);\n }\n\n disconnectedCallback(): void {\n onDisconnectedHelper(this);\n }\n\n render(): VNode {\n if (this.expandable) {\n return (\n <arcgis-expand position={this.position} ref={(el) => (this.expandElem = el!)}>\n <div ref={(el) => (this.childElem = el!)}></div>\n </arcgis-expand>\n );\n }\n return <div ref={(el) => (this.childElem = el!)}></div>;\n }\n\n //--------------------------------------------------------------------------\n //\n // Private Interal Methods\n //\n //--------------------------------------------------------------------------\n\n private async _addWatchers() {\n const { watch } = await importCoreReactiveUtils();\n\n addHandles(\n this,\n watch(\n () => this.widget.source,\n () => (this.source = this.widget.source),\n {\n initial: true\n }\n )\n );\n\n addHandles(\n this,\n watch(\n () => this.widget.activeBasemap,\n (basemap) => (this.activeBasemap = basemap),\n {\n initial: true\n }\n )\n );\n }\n\n private _createParams(): Partial<InstanceType<typeof BasemapGallery>> {\n const params: Partial<InstanceType<typeof BasemapGallery>> = {\n container: this.childElem\n };\n\n if (this.view) {\n params.view = this.view;\n }\n\n return params;\n }\n}\n","arcgis-expand > .esri-expand__content--expanded {\n background-color: var(--calcite-ui-background);\n}\n","import { newWidgetsExpand } from \"@arcgis/core-adapter\";\nimport type Expand from \"@arcgis/core/widgets/Expand\";\nimport type { EventEmitter, VNode } from \"@stencil/core\";\nimport { Component, Element, Event, Method, Prop, Watch, h } from \"@stencil/core\";\nimport type { ArcgisReferenceElement } from \"../../utils/component-utils\";\nimport { referenceElementHelper } from \"../../utils/component-utils\";\nimport { onDisconnectedHelper } from \"../../utils/disconnected\";\n\n// arcgis imports\nimport type { ArcGISMapView, ArcGISSceneView } from \"../types\";\n\nexport type ExpandWidget = InstanceType<typeof Expand>;\n\n@Component({\n tag: \"arcgis-expand\",\n styleUrl: \"expand.css\",\n shadow: false\n})\nexport class ArcgisExpand {\n @Element() el!: HTMLDivElement;\n\n childElem: HTMLDivElement;\n\n //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n\n @Prop() autoCollapse: ExpandWidget[\"autoCollapse\"] = false;\n\n @Watch(\"autoCollapse\")\n autoCollapseWatcher(newValue: boolean): void {\n if (newValue !== undefined && this.widget) {\n this.widget.autoCollapse = newValue;\n }\n }\n\n @Prop() closeOnEsc: ExpandWidget[\"closeOnEsc\"] = true;\n\n @Watch(\"closeOnEsc\")\n closeOnEscWatcher(newValue: boolean): void {\n if (newValue !== undefined && this.widget) {\n this.widget.closeOnEsc = newValue;\n }\n }\n\n @Prop() collapseIcon: ExpandWidget[\"collapseIcon\"];\n\n @Watch(\"collapseIcon\")\n collapseIconWatcher(newValue: string): void {\n if (this.widget) {\n this.widget.collapseIcon = newValue;\n this.widget.collapseIconClass = newValue;\n }\n }\n\n @Prop() collapseTooltip: ExpandWidget[\"collapseTooltip\"];\n\n @Watch(\"collapseTooltip\")\n collapseTooltipWatcher(newValue: string): void {\n if (this.widget) {\n this.widget.collapseTooltip = newValue;\n }\n }\n\n @Prop() expanded: ExpandWidget[\"expanded\"] = false;\n\n @Watch(\"expanded\")\n expandedWatcher(newValue: boolean): void {\n if (newValue !== undefined && this.widget) {\n this.widget.expanded = newValue;\n }\n }\n\n @Prop() expandIcon: ExpandWidget[\"expandIcon\"];\n\n @Watch(\"expandIcon\")\n expandIconWatcher(newValue: string): void {\n if (this.widget) {\n this.widget.expandIcon = newValue;\n this.widget.expandIconClass = newValue;\n }\n }\n\n @Prop() expandTooltip: ExpandWidget[\"expandTooltip\"];\n\n @Watch(\"expandTooltip\")\n expandTooltipWatcher(newValue: string): void {\n if (this.widget) {\n this.widget.expandTooltip = newValue;\n }\n }\n\n @Prop() group: ExpandWidget[\"group\"];\n\n @Watch(\"group\")\n groupWatcher(newValue: string): void {\n if (this.widget) {\n this.widget.group = newValue;\n }\n }\n\n @Prop() iconNumber: ExpandWidget[\"iconNumber\"];\n\n @Watch(\"iconNumber\")\n iconNumberWatcher(newValue: number): void {\n if (newValue !== undefined && this.widget) {\n this.widget.iconNumber = newValue;\n }\n }\n\n @Prop() mode: ExpandWidget[\"mode\"] = \"auto\";\n\n @Watch(\"mode\")\n modeWatcher(newValue: ExpandWidget[\"mode\"]): void {\n if (this.widget) {\n this.widget.mode = newValue;\n }\n }\n\n @Prop() referenceElement: ArcgisReferenceElement | string;\n\n @Watch(\"referenceElement\")\n referenceElementWatcher(newValue: ArcgisReferenceElement | string): void {\n referenceElementHelper(this, newValue);\n }\n\n @Prop() position = \"top-right\";\n\n @Prop({ mutable: true }) view: ArcGISMapView | ArcGISSceneView;\n\n @Watch(\"view\")\n viewWatcher(newValue: ArcGISMapView | ArcGISSceneView): void {\n if (newValue !== undefined && this.widget) {\n this.widget.view = newValue;\n }\n }\n\n @Watch(\"position\")\n positionWatcher(newValue: string): void {\n if (newValue !== undefined && this.widget) {\n this.view.ui.move(this.childElem, newValue);\n }\n }\n\n @Prop({ mutable: true }) widget: ExpandWidget;\n\n _watchHandles: __esri.WatchHandle[] = [];\n\n //--------------------------------------------------------------------------\n //\n // Events\n //\n //--------------------------------------------------------------------------\n\n @Event({ cancelable: true }) widgetReady!: EventEmitter<{ widget: __esri.Expand }>;\n\n //--------------------------------------------------------------------------\n //\n // Methods\n //\n //--------------------------------------------------------------------------\n\n @Method()\n async collapse(): Promise<void> {\n this.widget?.collapse();\n }\n\n @Method()\n async expand(): Promise<void> {\n this.widget?.expand();\n }\n\n @Method()\n async toggle(): Promise<void> {\n if (this.expanded) await this.collapse();\n else await this.expand();\n }\n\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n\n async componentDidLoad(): Promise<void> {\n const params = this._createParams();\n\n const widget = await newWidgetsExpand(params);\n\n this.widget = widget;\n\n this._checkForView();\n }\n\n disconnectedCallback(): void {\n onDisconnectedHelper(this);\n }\n\n render(): VNode {\n return <div ref={(el) => (this.childElem = el!)}></div>;\n }\n\n //--------------------------------------------------------------------------\n //\n // Private Internal Methods\n //\n //--------------------------------------------------------------------------\n\n private _createParams(): __esri.ExpandProperties {\n const params: __esri.ExpandProperties = {\n container: this.childElem\n };\n\n if (this.autoCollapse !== undefined) {\n params.autoCollapse = this.autoCollapse;\n }\n\n if (this.closeOnEsc !== undefined) {\n params.closeOnEsc = this.closeOnEsc;\n }\n\n if (this.collapseIcon) {\n params.collapseIcon = this.collapseIcon;\n params.collapseIconClass = this.collapseIcon;\n }\n\n if (this.collapseTooltip) {\n params.collapseTooltip = this.collapseTooltip;\n }\n\n if (this.expanded !== undefined) {\n params.expanded = this.expanded;\n }\n\n if (this.expandIcon) {\n console.log(\"expandIcon\", this.expandIcon);\n params.expandIcon = this.expandIcon;\n params.expandIconClass = this.expandIcon;\n }\n\n if (this.expandTooltip) {\n params.expandTooltip = this.expandTooltip;\n }\n\n if (this.group) {\n params.group = this.group;\n }\n\n if (this.iconNumber !== undefined) {\n params.iconNumber = this.iconNumber;\n }\n\n if (this.mode) {\n params.mode = this.mode;\n }\n\n if (this.view) {\n params.view = this.view;\n }\n\n return params;\n }\n\n private _checkForView(): void {\n const viewRef = this.el.closest(\"arcgis-map\") || this.el.closest(\"arcgis-scene\");\n if (viewRef?.view) {\n this.view = viewRef.view;\n this.view.ui.add(this.childElem, this.position);\n this.widgetReady.emit({ widget: this.widget });\n } else if (viewRef) {\n const handler = () => {\n viewRef.removeEventListener(\"arcgisViewReadyChange\", handler, false);\n this.view = viewRef.view;\n this.view.ui.add(this.childElem, this.position);\n this.widgetReady.emit({ widget: this.widget });\n };\n viewRef.addEventListener(\"arcgisViewReadyChange\", handler, false);\n }\n }\n}\n",".arcgis-scene {\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, newViewsSceneView, newWebScene } from \"@arcgis/core-adapter\";\nimport type WebScene from \"@arcgis/core/WebScene\";\nimport type { ViewElement } from \"../../utils/component-utils\";\nimport {\n addHandles,\n isNotSameCamera,\n isNotSameEnvironment,\n isNotSameViewpoint,\n isNullOrEmptyString,\n isValidInteger\n} from \"../../utils/component-utils\";\nimport type { ArcGISSceneView } from \"../types\";\n\nexport type ArcGISWebScene = InstanceType<typeof WebScene>;\n\n@Component({\n tag: \"arcgis-scene\",\n styleUrl: \"scene.css\",\n shadow: false\n})\nexport class ArcgisScene implements ViewElement {\n //--------------------------------------------------------------------------\n //\n // Elements\n //\n //--------------------------------------------------------------------------\n\n el: HTMLDivElement;\n\n @Element() _hostElement!: HTMLArcgisSceneElement;\n\n //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n\n @Prop({ mutable: true }) allLayerViews: ArcGISSceneView[\"allLayerViews\"];\n\n @Prop() alphaCompositingEnabled: ArcGISSceneView[\"alphaCompositingEnabled\"];\n\n @Watch(\"alphaCompositingEnabled\")\n alphaCompositingEnabledWatcher(value: ArcGISSceneView[\"alphaCompositingEnabled\"]): void {\n if (value !== undefined && this.view) {\n this.view.alphaCompositingEnabled = value;\n }\n }\n\n @Prop({ mutable: true }) analyses: ArcGISSceneView[\"analyses\"];\n\n @Prop({ mutable: true }) basemapView: ArcGISSceneView[\"basemapView\"];\n\n @Prop({ mutable: true }) basemap: ArcGISWebScene[\"basemap\"];\n\n @Watch(\"basemap\")\n basemapWatcher(value: string): void {\n if (this.view?.map && isNullOrEmptyString(value)) {\n this.view.map.basemap = value as any;\n }\n }\n\n @Prop({ mutable: true }) camera: ArcGISSceneView[\"camera\"];\n\n @Watch(\"camera\")\n cameraWatcher(value: ArcGISSceneView[\"camera\"]): void {\n if (this.view && value && isNotSameCamera(this.view.camera, value)) {\n this.view.camera = value;\n }\n }\n\n @Prop({ mutable: true }) center: ArcGISSceneView[\"center\"] | string;\n\n @Watch(\"center\")\n centerWatcher(value: ArcGISSceneView[\"center\"]): void {\n if (this.view && value && !this.view.center?.equals(value)) {\n this.view.center = value;\n }\n }\n\n @Prop() clippingArea: ArcGISSceneView[\"clippingArea\"];\n\n @Watch(\"clippingArea\")\n clippingAreaWatcher(value: ArcGISSceneView[\"clippingArea\"]): void {\n if (this.view && value && !this.view.clippingArea?.equals(value)) {\n this.view.clippingArea = value;\n }\n }\n\n @Prop() constraints: ArcGISSceneView[\"constraints\"];\n\n @Watch(\"constraints\")\n constraintsWatcher(value: ArcGISSceneView[\"constraints\"]): void {\n if (this.view) {\n this.view.constraints = value;\n }\n }\n\n @Prop() destroyDisabled = false;\n\n @Prop({ mutable: true }) environment: ArcGISSceneView[\"environment\"];\n\n @Watch(\"environment\")\n environmentWatcher(value: ArcGISSceneView[\"environment\"]): void {\n if (\n this.view &&\n value &&\n isNotSameEnvironment(this.view.environment as __esri.Environment, value as __esri.Environment)\n ) {\n this.view.environment = value;\n }\n }\n\n @Prop({ mutable: true }) extent: ArcGISSceneView[\"extent\"];\n\n @Watch(\"extent\")\n extentWatcher(value: ArcGISSceneView[\"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: ArcGISSceneView[\"fatalError\"];\n\n @Prop() floors: ArcGISSceneView[\"floors\"];\n\n @Watch(\"floors\")\n floorsWatcher(value: ArcGISSceneView[\"floors\"]): void {\n if (this.view) {\n this.view.floors = value;\n }\n }\n\n @Prop({ mutable: true }) graphics: ArcGISSceneView[\"graphics\"];\n\n @Watch(\"graphics\")\n graphicsWatcher(value: ArcGISSceneView[\"graphics\"]): void {\n if (this.view) {\n this.view.graphics = value;\n }\n }\n\n @Prop({ mutable: true }) groundView: ArcGISSceneView[\"groundView\"];\n\n @Prop() highlightOptions: ArcGISSceneView[\"highlightOptions\"];\n\n @Watch(\"highlightOptions\")\n highlightOptionsWatcher(value: ArcGISSceneView[\"highlightOptions\"]): void {\n if (this.view) {\n this.view.highlightOptions = value;\n }\n }\n\n @Prop({ mutable: true }) interacting: ArcGISSceneView[\"interacting\"];\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 this._updateMap();\n } else {\n this._loadMap();\n }\n }\n }\n\n @Prop({ mutable: true }) layerViews: ArcGISSceneView[\"layerViews\"];\n\n @Prop({ mutable: true }) magnifier: ArcGISSceneView[\"magnifier\"];\n\n @Prop({ mutable: true }) map: ArcGISWebScene;\n\n @Watch(\"map\")\n mapWatcher(value: ArcGISWebScene): void {\n if (this.view) {\n this.view.map = value;\n }\n }\n\n @Prop({ mutable: true }) navigating: ArcGISSceneView[\"navigating\"];\n\n @Prop({ mutable: true }) navigation: ArcGISSceneView[\"navigation\"];\n\n @Watch(\"navigation\")\n navigationWatcher(value: ArcGISSceneView[\"navigation\"]): void {\n if (this.view) {\n this.view.navigation = value;\n }\n }\n\n @Prop() padding: ArcGISSceneView[\"padding\"];\n\n @Watch(\"padding\")\n paddingWatcher(value: ArcGISSceneView[\"padding\"]): void {\n if (this.view) {\n this.view.padding = value;\n }\n }\n\n @Prop({ mutable: true }) performanceInfo: ArcGISSceneView[\"performanceInfo\"];\n\n @Prop({ mutable: true }) popup: ArcGISSceneView[\"popup\"];\n\n @Prop() popupEnabled: ArcGISSceneView[\"popupEnabled\"];\n\n @Watch(\"popupEnabled\")\n popupEnabledWatcher(value: ArcGISSceneView[\"popupEnabled\"]): void {\n if (value !== undefined && this.view) {\n this.view.popupEnabled = value;\n }\n }\n\n @Prop({ mutable: true }) qualityProfile: ArcGISSceneView[\"qualityProfile\"];\n\n @Watch(\"qualityProfile\")\n qualityProfileWatcher(value: ArcGISSceneView[\"qualityProfile\"]): void {\n if (this.view && this.view.qualityProfile !== value) {\n this.view.qualityProfile = value;\n }\n }\n\n @Prop({ mutable: true }) ready: ArcGISSceneView[\"ready\"];\n\n @Prop({ mutable: true }) resolution: ArcGISSceneView[\"resolution\"];\n\n @Prop({ mutable: true }) scale: number;\n\n @Watch(\"scale\")\n scaleWatcher(value: number, old: number): void {\n if (this.view && this.view.stationary && !this.view.interacting && value != null && value !== old) {\n this.view.scale = value;\n }\n }\n\n @Prop({ mutable: true }) spatialReference: ArcGISSceneView[\"spatialReference\"];\n\n @Watch(\"spatialReference\")\n spatialReferenceWatcher(value: ArcGISSceneView[\"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: ArcGISSceneView[\"stationary\"];\n\n @Prop({ mutable: true, reflect: true }) suspended: ArcGISSceneView[\"suspended\"];\n\n @Prop() theme: ArcGISSceneView[\"theme\"];\n\n @Watch(\"theme\")\n themeWatcher(value: ArcGISSceneView[\"theme\"]): void {\n if (this.view) {\n this.view.theme = value;\n }\n }\n\n @Prop() timeExtent: ArcGISSceneView[\"timeExtent\"];\n\n @Watch(\"timeExtent\")\n timeExtentWatcher(value: ArcGISSceneView[\"timeExtent\"]): void {\n if (this.view) {\n this.view.timeExtent = value;\n }\n }\n\n // Start functions as properties\n\n @Prop({ mutable: true }) toMap: ArcGISSceneView[\"toMap\"];\n\n @Prop({ mutable: true }) toScreen: ArcGISSceneView[\"toScreen\"];\n\n // End functions as properties\n\n @Prop({ mutable: true, reflect: true }) updating: ArcGISSceneView[\"updating\"];\n\n @Prop() viewingMode: ArcGISSceneView[\"viewingMode\"];\n\n @Watch(\"viewingMode\")\n viewingModeWatcher(value: ArcGISSceneView[\"viewingMode\"]): void {\n if (this.view) {\n this.view.viewingMode = value;\n }\n }\n\n @Prop({ mutable: true }) viewpoint: ArcGISSceneView[\"viewpoint\"];\n\n @Watch(\"viewpoint\")\n viewpointWatcher(value: ArcGISSceneView[\"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 && this.view.stationary && !this.view.interacting && value !== old && isValidInteger(value)) {\n this.view.zoom = value;\n }\n }\n\n /**\n * Internal view of the component.\n */\n @Prop({ mutable: true }) view: ArcGISSceneView;\n\n @Prop() disableNavigation = false;\n\n config: __esri.config;\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.GoToTarget3D, options?: __esri.GoToOptions3D): Promise<void> {\n return await this.view?.goTo(target, options);\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<void> {\n return await this.view?.openPopup(options);\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 whenAnalysisView(\n analysis:\n | __esri.AreaMeasurementAnalysis\n | __esri.DimensionAnalysis\n | __esri.DirectLineMeasurementAnalysis\n | __esri.LineOfSightAnalysis\n | __esri.SliceAnalysis\n ): Promise<\n | __esri.AreaMeasurementAnalysisView3D\n | __esri.DimensionAnalysisView\n | __esri.DirectLineMeasurementAnalysisView3D\n | __esri.LineOfSightAnalysisView3D\n | __esri.SliceAnalysisView3D\n > {\n return await this.view?.whenAnalysisView(analysis);\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 newViewsSceneView({});\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 this.destroy();\n }\n\n render(): VNode {\n return <div class=\"arcgis-scene\" 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() {\n const { watch, when } = await importCoreReactiveUtils();\n\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.camera = this.view.camera;\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.analyses,\n () => {\n this.analyses = this.view.analyses;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.map?.basemap,\n () => {\n this.basemap = this.view.map?.basemap as any;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.basemapView,\n () => {\n this.basemapView = this.view.basemapView;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.environment,\n () => {\n this.environment = this.view.environment;\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.graphics,\n () => {\n this.graphics = this.view.graphics;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.groundView,\n () => {\n this.groundView = this.view.groundView;\n },\n {\n initial: true\n }\n ),\n // Start: arcgisStationaryChange events\n watch(\n () => this.view.interacting,\n () => {\n this.interacting = this.view.interacting;\n }\n ),\n watch(\n () => this.view.navigating,\n () => {\n this.navigating = this.view.navigating;\n }\n ),\n watch(\n () => this.view.stationary,\n () => {\n this.stationary = this.view.stationary;\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.WebScene;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.performanceInfo,\n () => {\n this.performanceInfo = this.view.performanceInfo;\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.qualityProfile,\n () => {\n this.qualityProfile = this.view.qualityProfile;\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.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.WebScene> {\n const mapParams: Partial<__esri.WebScene> = {};\n\n if (this.itemId) {\n mapParams.portalItem = this._createPortalItem() as any;\n }\n\n if (this.basemap) {\n mapParams.basemap = this.basemap as any;\n } else if (isNullOrEmptyString(this.itemId)) {\n mapParams.basemap = \"topo-vector\" as any;\n }\n\n const map = await newWebScene(mapParams);\n return map;\n }\n\n private _createPortalItem(): Partial<__esri.PortalItemProperties> {\n const item: Partial<__esri.PortalItemProperties> = {};\n\n if (this.itemId) {\n item.id = this.itemId;\n }\n\n return item;\n }\n\n private _createViewParams(): Partial<__esri.SceneViewProperties> {\n const params: Partial<__esri.SceneViewProperties> = {};\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.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.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 const map = await this._createMap();\n\n const params = this._createViewParams();\n\n const view = await newViewsSceneView({\n map,\n ...params\n });\n\n this.view = view;\n\n 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-basemap-gallery.arcgis-expand.arcgis-scene.entry.cjs.js","mappings":"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","names":["referenceElementHelper","newWidgetsBasemapGallery","checkForView","onDisconnectedHelper","h","importCoreReactiveUtils","addHandles","newWidgetsExpand","isNullOrEmptyString","isNotSameCamera","isNotSameEnvironment","isNotSameViewpoint","isValidInteger","newViewsSceneView","newWebScene"],"sources":["src/components/basemap-gallery/basemap-gallery.css?tag=arcgis-basemap-gallery","src/components/basemap-gallery/basemap-gallery.tsx","src/components/expand/expand.css?tag=arcgis-expand","src/components/expand/expand.tsx","src/components/scene/scene.css?tag=arcgis-scene","src/components/scene/scene.tsx"],"sourcesContent":["","import type { EventEmitter, VNode } from \"@stencil/core\";\nimport { Component, Element, Event, Prop, Watch, h } from \"@stencil/core\";\n\n// arcgis imports\nimport { importCoreReactiveUtils, newWidgetsBasemapGallery } from \"@arcgis/core-adapter\";\nimport type BasemapGallery from \"@arcgis/core/widgets/BasemapGallery\";\nimport type { ArcgisReferenceElement } from \"../../utils/component-utils\";\nimport { addHandles, checkForView, referenceElementHelper } from \"../../utils/component-utils\";\nimport { onDisconnectedHelper } from \"../../utils/disconnected\";\nimport type { ExpandableComponent } from \"../../utils/expandable\";\nimport type { ArcGISMapView, ArcGISSceneView } from \"../types\";\n\nexport type BasemapGalleryWidget = InstanceType<typeof BasemapGallery>;\n\n@Component({\n tag: \"arcgis-basemap-gallery\",\n styleUrl: \"basemap-gallery.css\",\n shadow: false\n})\nexport class ArcgisBasemapGallery implements ExpandableComponent {\n //--------------------------------------------------------------------------\n //\n // Element\n //\n //--------------------------------------------------------------------------\n\n @Element() el!: HTMLDivElement;\n\n childElem: HTMLDivElement;\n\n expandElem: HTMLArcgisExpandElement;\n\n //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n\n @Prop() referenceElement: ArcgisReferenceElement | string;\n\n @Watch(\"referenceElement\")\n referenceElementWatcher(newValue: ArcgisReferenceElement | string): void {\n referenceElementHelper(this, newValue);\n }\n\n @Prop({ mutable: true }) activeBasemap: BasemapGalleryWidget[\"activeBasemap\"];\n\n @Prop() position = \"bottom-left\";\n\n @Watch(\"position\")\n positionWatcher(newValue: string): void {\n if (newValue !== undefined && this.widget) {\n this.view.ui.move(this.childElem, newValue);\n }\n }\n\n @Prop() expandable = false;\n\n @Prop({ mutable: true }) source: BasemapGalleryWidget[\"source\"];\n\n @Watch(\"source\")\n sourceWatcher(newValue: BasemapGalleryWidget[\"source\"]): void {\n if (this.widget) {\n this.widget.source = newValue;\n }\n }\n\n @Prop({ mutable: true }) view: ArcGISMapView | ArcGISSceneView;\n\n @Watch(\"view\")\n viewWatcher(newValue: ArcGISMapView | ArcGISSceneView): void {\n if (newValue !== undefined && this.widget) {\n this.widget.view = newValue;\n }\n }\n\n @Prop({ mutable: true }) widget: BasemapGalleryWidget;\n\n _watchHandles: __esri.WatchHandle[] = [];\n\n //--------------------------------------------------------------------------\n //\n // Events\n //\n //--------------------------------------------------------------------------\n\n @Event({ cancelable: true }) widgetReady!: EventEmitter<{ widget: __esri.BasemapGallery }>;\n\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n\n async componentDidLoad(): Promise<void> {\n const params = this._createParams();\n const widget = await newWidgetsBasemapGallery(params);\n\n this.widget = widget;\n\n await this._addWatchers();\n\n this.widgetReady.emit({ widget: this.widget });\n\n checkForView(this);\n }\n\n disconnectedCallback(): void {\n onDisconnectedHelper(this);\n }\n\n render(): VNode {\n if (this.expandable) {\n return (\n <arcgis-expand position={this.position} ref={(el) => (this.expandElem = el!)}>\n <div ref={(el) => (this.childElem = el!)}></div>\n </arcgis-expand>\n );\n }\n return <div ref={(el) => (this.childElem = el!)}></div>;\n }\n\n //--------------------------------------------------------------------------\n //\n // Private Interal Methods\n //\n //--------------------------------------------------------------------------\n\n private async _addWatchers() {\n const { watch } = await importCoreReactiveUtils();\n\n addHandles(\n this,\n watch(\n () => this.widget.source,\n () => (this.source = this.widget.source),\n {\n initial: true\n }\n )\n );\n\n addHandles(\n this,\n watch(\n () => this.widget.activeBasemap,\n (basemap) => (this.activeBasemap = basemap),\n {\n initial: true\n }\n )\n );\n }\n\n private _createParams(): Partial<InstanceType<typeof BasemapGallery>> {\n const params: Partial<InstanceType<typeof BasemapGallery>> = {\n container: this.childElem\n };\n\n if (this.view) {\n params.view = this.view;\n }\n\n return params;\n }\n}\n","arcgis-expand > .esri-expand__content--expanded {\n background-color: var(--calcite-ui-background);\n}\n","import { newWidgetsExpand } from \"@arcgis/core-adapter\";\nimport type Expand from \"@arcgis/core/widgets/Expand\";\nimport type { EventEmitter, VNode } from \"@stencil/core\";\nimport { Component, Element, Event, Method, Prop, Watch, h } from \"@stencil/core\";\nimport type { ArcgisReferenceElement } from \"../../utils/component-utils\";\nimport { referenceElementHelper } from \"../../utils/component-utils\";\nimport { onDisconnectedHelper } from \"../../utils/disconnected\";\n\n// arcgis imports\nimport type { ArcGISMapView, ArcGISSceneView } from \"../types\";\n\nexport type ExpandWidget = InstanceType<typeof Expand>;\n\n@Component({\n tag: \"arcgis-expand\",\n styleUrl: \"expand.css\",\n shadow: false\n})\nexport class ArcgisExpand {\n @Element() el!: HTMLDivElement;\n\n childElem: HTMLDivElement;\n\n //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n\n @Prop() autoCollapse: ExpandWidget[\"autoCollapse\"] = false;\n\n @Watch(\"autoCollapse\")\n autoCollapseWatcher(newValue: boolean): void {\n if (newValue !== undefined && this.widget) {\n this.widget.autoCollapse = newValue;\n }\n }\n\n @Prop() closeOnEsc: ExpandWidget[\"closeOnEsc\"] = true;\n\n @Watch(\"closeOnEsc\")\n closeOnEscWatcher(newValue: boolean): void {\n if (newValue !== undefined && this.widget) {\n this.widget.closeOnEsc = newValue;\n }\n }\n\n @Prop() collapseIcon: ExpandWidget[\"collapseIcon\"];\n\n @Watch(\"collapseIcon\")\n collapseIconWatcher(newValue: string): void {\n if (this.widget) {\n this.widget.collapseIcon = newValue;\n this.widget.collapseIconClass = newValue;\n }\n }\n\n @Prop() collapseTooltip: ExpandWidget[\"collapseTooltip\"];\n\n @Watch(\"collapseTooltip\")\n collapseTooltipWatcher(newValue: string): void {\n if (this.widget) {\n this.widget.collapseTooltip = newValue;\n }\n }\n\n @Prop() expanded: ExpandWidget[\"expanded\"] = false;\n\n @Watch(\"expanded\")\n expandedWatcher(newValue: boolean): void {\n if (newValue !== undefined && this.widget) {\n this.widget.expanded = newValue;\n }\n }\n\n @Prop() expandIcon: ExpandWidget[\"expandIcon\"];\n\n @Watch(\"expandIcon\")\n expandIconWatcher(newValue: string): void {\n if (this.widget) {\n this.widget.expandIcon = newValue;\n this.widget.expandIconClass = newValue;\n }\n }\n\n @Prop() expandTooltip: ExpandWidget[\"expandTooltip\"];\n\n @Watch(\"expandTooltip\")\n expandTooltipWatcher(newValue: string): void {\n if (this.widget) {\n this.widget.expandTooltip = newValue;\n }\n }\n\n @Prop() group: ExpandWidget[\"group\"];\n\n @Watch(\"group\")\n groupWatcher(newValue: string): void {\n if (this.widget) {\n this.widget.group = newValue;\n }\n }\n\n @Prop() iconNumber: ExpandWidget[\"iconNumber\"];\n\n @Watch(\"iconNumber\")\n iconNumberWatcher(newValue: number): void {\n if (newValue !== undefined && this.widget) {\n this.widget.iconNumber = newValue;\n }\n }\n\n @Prop() mode: ExpandWidget[\"mode\"] = \"auto\";\n\n @Watch(\"mode\")\n modeWatcher(newValue: ExpandWidget[\"mode\"]): void {\n if (this.widget) {\n this.widget.mode = newValue;\n }\n }\n\n @Prop() referenceElement: ArcgisReferenceElement | string;\n\n @Watch(\"referenceElement\")\n referenceElementWatcher(newValue: ArcgisReferenceElement | string): void {\n referenceElementHelper(this, newValue);\n }\n\n @Prop() position = \"top-right\";\n\n @Prop({ mutable: true }) view: ArcGISMapView | ArcGISSceneView;\n\n @Watch(\"view\")\n viewWatcher(newValue: ArcGISMapView | ArcGISSceneView): void {\n if (newValue !== undefined && this.widget) {\n this.widget.view = newValue;\n }\n }\n\n @Watch(\"position\")\n positionWatcher(newValue: string): void {\n if (newValue !== undefined && this.widget) {\n this.view.ui.move(this.childElem, newValue);\n }\n }\n\n @Prop({ mutable: true }) widget: ExpandWidget;\n\n _watchHandles: __esri.WatchHandle[] = [];\n\n //--------------------------------------------------------------------------\n //\n // Events\n //\n //--------------------------------------------------------------------------\n\n @Event({ cancelable: true }) widgetReady!: EventEmitter<{ widget: __esri.Expand }>;\n\n //--------------------------------------------------------------------------\n //\n // Methods\n //\n //--------------------------------------------------------------------------\n\n @Method()\n async collapse(): Promise<void> {\n this.widget?.collapse();\n }\n\n @Method()\n async expand(): Promise<void> {\n this.widget?.expand();\n }\n\n @Method()\n async toggle(): Promise<void> {\n if (this.expanded) await this.collapse();\n else await this.expand();\n }\n\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n\n async componentDidLoad(): Promise<void> {\n const params = this._createParams();\n\n const widget = await newWidgetsExpand(params);\n\n this.widget = widget;\n\n this._checkForView();\n }\n\n disconnectedCallback(): void {\n onDisconnectedHelper(this);\n }\n\n render(): VNode {\n return <div ref={(el) => (this.childElem = el!)}></div>;\n }\n\n //--------------------------------------------------------------------------\n //\n // Private Internal Methods\n //\n //--------------------------------------------------------------------------\n\n private _createParams(): __esri.ExpandProperties {\n const params: __esri.ExpandProperties = {\n container: this.childElem\n };\n\n if (this.autoCollapse !== undefined) {\n params.autoCollapse = this.autoCollapse;\n }\n\n if (this.closeOnEsc !== undefined) {\n params.closeOnEsc = this.closeOnEsc;\n }\n\n if (this.collapseIcon) {\n params.collapseIcon = this.collapseIcon;\n params.collapseIconClass = this.collapseIcon;\n }\n\n if (this.collapseTooltip) {\n params.collapseTooltip = this.collapseTooltip;\n }\n\n if (this.expanded !== undefined) {\n params.expanded = this.expanded;\n }\n\n if (this.expandIcon) {\n console.log(\"expandIcon\", this.expandIcon);\n params.expandIcon = this.expandIcon;\n params.expandIconClass = this.expandIcon;\n }\n\n if (this.expandTooltip) {\n params.expandTooltip = this.expandTooltip;\n }\n\n if (this.group) {\n params.group = this.group;\n }\n\n if (this.iconNumber !== undefined) {\n params.iconNumber = this.iconNumber;\n }\n\n if (this.mode) {\n params.mode = this.mode;\n }\n\n if (this.view) {\n params.view = this.view;\n }\n\n return params;\n }\n\n private _checkForView(): void {\n const viewRef = this.el.closest(\"arcgis-map\") || this.el.closest(\"arcgis-scene\");\n if (viewRef?.view) {\n this.view = viewRef.view;\n this.view.ui.add(this.childElem, this.position);\n this.widgetReady.emit({ widget: this.widget });\n } else if (viewRef) {\n const handler = () => {\n viewRef.removeEventListener(\"arcgisViewReadyChange\", handler, false);\n this.view = viewRef.view;\n this.view.ui.add(this.childElem, this.position);\n this.widgetReady.emit({ widget: this.widget });\n };\n viewRef.addEventListener(\"arcgisViewReadyChange\", handler, false);\n }\n }\n}\n",".arcgis-scene {\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, newViewsSceneView, newWebScene } from \"@arcgis/core-adapter\";\nimport type WebScene from \"@arcgis/core/WebScene\";\nimport type { ViewElement } from \"../../utils/component-utils\";\nimport {\n addHandles,\n isNotSameCamera,\n isNotSameEnvironment,\n isNotSameViewpoint,\n isNullOrEmptyString,\n isValidInteger\n} from \"../../utils/component-utils\";\nimport type { ArcGISSceneView } from \"../types\";\n\nexport type ArcGISWebScene = InstanceType<typeof WebScene>;\n\n@Component({\n tag: \"arcgis-scene\",\n styleUrl: \"scene.css\",\n shadow: false\n})\nexport class ArcgisScene implements ViewElement {\n //--------------------------------------------------------------------------\n //\n // Elements\n //\n //--------------------------------------------------------------------------\n\n el: HTMLDivElement;\n\n @Element() _hostElement!: HTMLArcgisSceneElement;\n\n //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n\n @Prop({ mutable: true }) allLayerViews: ArcGISSceneView[\"allLayerViews\"];\n\n @Prop() alphaCompositingEnabled = false;\n\n @Watch(\"alphaCompositingEnabled\")\n alphaCompositingEnabledWatcher(value: boolean): void {\n if (value !== undefined && this.view) {\n this.view.alphaCompositingEnabled = value;\n }\n }\n\n @Prop({ mutable: true }) analyses: ArcGISSceneView[\"analyses\"];\n\n @Prop({ mutable: true }) basemapView: ArcGISSceneView[\"basemapView\"];\n\n @Prop({ mutable: true }) basemap: ArcGISWebScene[\"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 }) camera: ArcGISSceneView[\"camera\"];\n\n @Watch(\"camera\")\n cameraWatcher(value: ArcGISSceneView[\"camera\"]): void {\n if (this.view && value && isNotSameCamera(this.view.camera, value)) {\n this.view.camera = value;\n }\n }\n\n @Prop({ mutable: true }) center: ArcGISSceneView[\"center\"] | string;\n\n @Watch(\"center\")\n centerWatcher(value: ArcGISSceneView[\"center\"]): void {\n if (this.view && value && !this.view.center?.equals(value)) {\n this.view.center = value;\n }\n }\n\n @Prop() clippingArea: ArcGISSceneView[\"clippingArea\"];\n\n @Watch(\"clippingArea\")\n clippingAreaWatcher(value: ArcGISSceneView[\"clippingArea\"]): void {\n if (this.view && value && !this.view.clippingArea?.equals(value)) {\n this.view.clippingArea = value;\n }\n }\n\n @Prop() constraints: ArcGISSceneView[\"constraints\"];\n\n @Watch(\"constraints\")\n constraintsWatcher(value: ArcGISSceneView[\"constraints\"]): void {\n if (this.view) {\n this.view.constraints = value;\n }\n }\n\n @Prop() destroyDisabled = false;\n\n @Prop({ mutable: true }) environment: ArcGISSceneView[\"environment\"];\n\n @Watch(\"environment\")\n environmentWatcher(value: ArcGISSceneView[\"environment\"]): void {\n if (\n this.view &&\n value &&\n isNotSameEnvironment(this.view.environment as __esri.Environment, value as __esri.Environment)\n ) {\n this.view.environment = value;\n }\n }\n\n @Prop({ mutable: true }) extent: ArcGISSceneView[\"extent\"];\n\n @Watch(\"extent\")\n extentWatcher(value: ArcGISSceneView[\"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: ArcGISSceneView[\"fatalError\"];\n\n @Prop() floors: ArcGISSceneView[\"floors\"];\n\n @Watch(\"floors\")\n floorsWatcher(value: ArcGISSceneView[\"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: ArcGISSceneView[\"graphics\"];\n\n @Watch(\"graphics\")\n graphicsWatcher(value: ArcGISSceneView[\"graphics\"]): void {\n if (this.view) {\n this.view.graphics = value;\n }\n }\n\n @Prop({ mutable: true }) ground: ArcGISWebScene[\"ground\"];\n\n @Watch(\"ground\")\n groundWatcher(value: string): void {\n if (this.view?.map && isNullOrEmptyString(value)) {\n this.view.map.ground = value as unknown as __esri.Ground;\n }\n }\n\n @Prop({ mutable: true }) groundView: ArcGISSceneView[\"groundView\"];\n\n @Prop() highlightOptions: ArcGISSceneView[\"highlightOptions\"];\n\n @Watch(\"highlightOptions\")\n highlightOptionsWatcher(value: ArcGISSceneView[\"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: ArcGISSceneView[\"layerViews\"];\n\n @Prop({ mutable: true }) magnifier: ArcGISSceneView[\"magnifier\"];\n\n @Prop({ mutable: true }) map: ArcGISWebScene;\n\n @Watch(\"map\")\n mapWatcher(value: ArcGISWebScene): 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: ArcGISSceneView[\"navigation\"];\n\n @Watch(\"navigation\")\n navigationWatcher(value: ArcGISSceneView[\"navigation\"]): void {\n if (this.view) {\n this.view.navigation = value;\n }\n }\n\n @Prop() padding: ArcGISSceneView[\"padding\"];\n\n @Watch(\"padding\")\n paddingWatcher(value: ArcGISSceneView[\"padding\"]): void {\n if (this.view) {\n this.view.padding = value;\n }\n }\n\n @Prop({ mutable: true }) performanceInfo: ArcGISSceneView[\"performanceInfo\"];\n\n @Prop({ mutable: true }) popup: ArcGISSceneView[\"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 }) qualityProfile: ArcGISSceneView[\"qualityProfile\"];\n\n @Watch(\"qualityProfile\")\n qualityProfileWatcher(value: ArcGISSceneView[\"qualityProfile\"]): void {\n if (this.view && this.view.qualityProfile !== value) {\n this.view.qualityProfile = value;\n }\n }\n\n @Prop({ mutable: true }) ready = false;\n\n @Prop({ mutable: true }) resolution: ArcGISSceneView[\"resolution\"];\n\n @Prop({ mutable: true }) scale: number;\n\n @Watch(\"scale\")\n scaleWatcher(value: number, old: number): void {\n if (this.view && this.view.stationary && !this.view.interacting && value != null && value !== old) {\n this.view.scale = value;\n }\n }\n\n @Prop({ mutable: true }) spatialReference: ArcGISSceneView[\"spatialReference\"];\n\n @Watch(\"spatialReference\")\n spatialReferenceWatcher(value: ArcGISSceneView[\"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 = false;\n\n @Prop() theme: ArcGISSceneView[\"theme\"];\n\n @Watch(\"theme\")\n themeWatcher(value: ArcGISSceneView[\"theme\"]): void {\n if (this.view) {\n this.view.theme = value;\n }\n }\n\n @Prop() timeExtent: ArcGISSceneView[\"timeExtent\"];\n\n @Watch(\"timeExtent\")\n timeExtentWatcher(value: ArcGISSceneView[\"timeExtent\"]): void {\n if (this.view) {\n this.view.timeExtent = value;\n }\n }\n\n // Start functions as properties\n\n @Prop({ mutable: true }) toMap: ArcGISSceneView[\"toMap\"];\n\n @Prop({ mutable: true }) toScreen: ArcGISSceneView[\"toScreen\"];\n\n // End functions as properties\n\n @Prop({ mutable: true, reflect: true }) updating = false;\n\n @Prop() viewingMode: ArcGISSceneView[\"viewingMode\"] = \"global\";\n\n @Watch(\"viewingMode\")\n viewingModeWatcher(value: ArcGISSceneView[\"viewingMode\"]): void {\n if (this.view) {\n this.view.viewingMode = value;\n }\n }\n\n @Prop({ mutable: true }) viewpoint: ArcGISSceneView[\"viewpoint\"];\n\n @Watch(\"viewpoint\")\n viewpointWatcher(value: ArcGISSceneView[\"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 && this.view.stationary && !this.view.interacting && value !== old && isValidInteger(value)) {\n this.view.zoom = value;\n }\n }\n\n /**\n * Internal view of the component.\n */\n @Prop({ mutable: true }) view: ArcGISSceneView;\n\n config: __esri.config;\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.GoToTarget3D, options?: __esri.GoToOptions3D): 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 (await 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 whenAnalysisView(\n analysis:\n | __esri.AreaMeasurementAnalysis\n | __esri.DimensionAnalysis\n | __esri.DirectLineMeasurementAnalysis\n | __esri.LineOfSightAnalysis\n | __esri.SliceAnalysis\n ): Promise<\n | __esri.AreaMeasurementAnalysisView3D\n | __esri.DimensionAnalysisView\n | __esri.DirectLineMeasurementAnalysisView3D\n | __esri.LineOfSightAnalysisView3D\n | __esri.SliceAnalysisView3D\n > {\n return await this.view?.whenAnalysisView(analysis);\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 newViewsSceneView({});\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-scene\" 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\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.camera = this.view.camera;\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.analyses,\n () => {\n this.analyses = this.view.analyses;\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.basemapView,\n () => {\n this.basemapView = this.view.basemapView;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.environment,\n () => {\n this.environment = this.view.environment;\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.map?.ground,\n () => {\n this.ground = this.view.map?.ground as unknown as __esri.Ground;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.groundView,\n () => {\n this.groundView = this.view.groundView;\n },\n {\n initial: true\n }\n ),\n // Start: arcgisStationaryChange events\n watch(\n () => this.view.interacting,\n () => {\n this.interacting = this.view.interacting;\n }\n ),\n watch(\n () => this.view.navigating,\n () => {\n this.navigating = this.view.navigating;\n }\n ),\n watch(\n () => this.view.stationary,\n () => {\n this.stationary = this.view.stationary;\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.WebScene;\n },\n {\n initial: true\n }\n ),\n watch(\n () => this.view.performanceInfo,\n () => {\n this.performanceInfo = this.view.performanceInfo;\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.qualityProfile,\n () => {\n this.qualityProfile = this.view.qualityProfile;\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.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.WebScene> {\n const mapParams: __esri.WebSceneProperties = {};\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 if (this.ground) {\n mapParams.ground = this.ground as unknown as __esri.Ground;\n } else if (isNullOrEmptyString(this.itemId)) {\n mapParams.ground = \"world-elevation\" as unknown as __esri.Ground;\n }\n\n const map = await newWebScene(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.SceneViewProperties> {\n const params: Partial<__esri.SceneViewProperties> = {};\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.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.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 const map = await this._createMap();\n\n const params = this._createViewParams();\n\n const view = await newViewsSceneView({\n map,\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}
|