{"version":3,"file":"js/908.eae1b6cf6fa5fa50b37e.bundle.js","mappings":"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","sources":["webpack://@geo/geo-map/./src/core/components/web-map/web-map.tsx","webpack://@geo/geo-map/./src/core/components/map/map.tsx","webpack://@geo/geo-map/./src/core/components/styled-container/styled-container.tsx","webpack://@geo/geo-map/./src/core/events.ts","webpack://@geo/geo-map/./src/core/components/scene/scene.tsx","webpack://@geo/geo-map/./src/core/components/web-scene/web-scene.tsx","webpack://@geo/geo-map/./src/core/geo.ts"],"sourcesContent":["/*\r\nCopied and adapted from https://github.com/Esri/react-arcgis/blob/master/src/ts/components/WebComposites.tsx\r\n\r\nCopyright © 2017-2019 Esri\r\n\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance\r\nwith the License. You may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on\r\nan \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the\r\nspecific language governing permissions and limitations under the License.\r\n\r\nA copy of the license is available in the repository's LICENSE file.\r\nTODO: Refactor\r\n */\r\nimport * as React from \"react\";\r\nimport {observer} from \"mobx-react\";\r\n\r\nimport { BaseProps} from \"../../props\";\r\nimport { eventMap } from \"../../events\";\r\nimport {StyledContainer} from \"../styled-container/styled-container\";\r\n\r\nimport EsriElevationLayer from \"@arcgis/core/layers/ElevationLayer\";\r\nimport EsriWebMap from \"@arcgis/core/WebMap\";\r\nimport EsriMapView from \"@arcgis/core/views/MapView\";\r\nimport EsriPoint from \"@arcgis/core/geometry/Point\";\r\nimport {autorun, runInAction} from \"mobx\";\r\nimport {PathUtils} from \"../../../utils/path-utils\";\r\nimport _ from \"lodash\";\r\nimport Extent from \"@arcgis/core/geometry/Extent\";\r\nimport Viewpoint from \"@arcgis/core/Viewpoint\";\r\nimport {FormatUtils} from \"../../../utils/format-utils\";\r\nimport {IAppStore, withStore} from \"../../stores/abstract-app-store\";\r\nimport {MapState} from \"../../map-state\";\r\n\r\nexport interface MapProps extends BaseProps {\r\n mapProperties?: __esri.WebMapProperties | undefined;\r\n viewProperties: __esri.MapViewProperties;\r\n proxyUrl?: string;\r\n store?: IAppStore; // this is injected by withStore\r\n}\r\n\r\n@observer\r\nclass WebMapBase extends React.Component {\r\n watchHandles: any[] = [];\r\n autorunDisposers: any[] = [];\r\n constructor(props: MapProps) {\r\n super(props);\r\n this.state = {\r\n containerId: props.viewProperties.container ? props.viewProperties.container : \"view\"\r\n };\r\n }\r\n\r\n render(): React.ReactElement | null {\r\n const {store} = this.props;\r\n if (!store) {\r\n return null;\r\n }\r\n\r\n const centerStyle = {\r\n left: \"50%\",\r\n marginRight: \"-50%\",\r\n position: \"absolute\",\r\n top: \"50%\",\r\n transform: \"translate(-50%, -50%)\"\r\n };\r\n\r\n const mapStyle = this.props.className ?\r\n this.props.style :\r\n {\r\n height: \"100%\",\r\n position: \"absolute\",\r\n width: \"100%\",\r\n ...this.props.style\r\n };\r\n\r\n const loadElement = (\r\n this.props.loadElement ? this.props.loadElement :\r\n

Karte wird geladen...

\r\n );\r\n\r\n const failElement = (\r\n this.props.failElement ? this.props.failElement :\r\n
\r\n

Laden der Karte fehlgeschlagen.

\r\n

Bitte versuchen Sie es zu einem späteren Zeitpunkt nochmals

\r\n
\r\n );\r\n\r\n if (store.mapStore.status === \"loaded\") {\r\n if (!!this.props.childrenAsFunction) {\r\n return this.props.childrenAsFunction(store.mapStore.map, store.mapStore.view);\r\n }\r\n const childrenWithProps = React.Children.map(this.props.children, (child) => {\r\n const childEl = child as React.ReactElement;\r\n return React.cloneElement(childEl, {\r\n map: store.mapStore.map,\r\n view: store.mapStore.view\r\n }\r\n );\r\n });\r\n return (\r\n
\r\n \r\n {childrenWithProps}\r\n
\r\n );\r\n } else if (store.mapStore.status === \"loading\") {\r\n return (\r\n
\r\n \r\n
\r\n {loadElement}\r\n
\r\n
\r\n );\r\n }\r\n return (\r\n
\r\n \r\n
\r\n {failElement}\r\n
\r\n
\r\n );\r\n }\r\n updateVisibleLayers(): void {\r\n const {store} = this.props;\r\n if (!store) {\r\n return;\r\n }\r\n\r\n const visibleLayers: Map = new Map();\r\n const metauids: string[] = [];\r\n store.mapStore?.map?.allLayers.flatten((subL: __esri.Layer) =>\r\n (subL as __esri.MapImageLayer).allSublayers as unknown as __esri.Collection<__esri.Layer>\r\n ).toArray().forEach((layer: __esri.Layer) => {\r\n if (layer.visible) {\r\n let metauid: string = \"\";\r\n let pathMetauid = \"\";\r\n let layerId: number | undefined;\r\n if (\"metauid\" in layer) {\r\n metauid = layer.metauid as string;\r\n // Layer aus CompareWidget ignorieren\r\n if(metauid === \"[compare]\"){\r\n return;\r\n }\r\n }\r\n if (typeof layer.id === \"number\" && layer.id >= 0) {\r\n layerId = layer.id;\r\n }\r\n const url = PathUtils.getLayerPath(layer);\r\n if (typeof url === \"string\") {\r\n pathMetauid = PathUtils.getMetaId(url);\r\n if (!metauid) {\r\n metauid = pathMetauid;\r\n }\r\n const pathLayerId = PathUtils.getLayerId(url);\r\n if (typeof pathLayerId === \"number\" && pathLayerId >= 0) {\r\n layerId = pathLayerId;\r\n }\r\n }\r\n if (pathMetauid) {\r\n let visibleLayerIds = visibleLayers.get(pathMetauid);\r\n if (!visibleLayerIds) {\r\n visibleLayerIds = [];\r\n }\r\n if (typeof layerId === \"number\" && layerId >= 0) {\r\n visibleLayerIds.push(layerId);\r\n }\r\n visibleLayers.set(pathMetauid, visibleLayerIds);\r\n }\r\n if (metauid) {\r\n if (metauids.indexOf(metauid)<0) {\r\n metauids.push(metauid);\r\n }\r\n }\r\n }\r\n });\r\n store.mapStore.setActiveLayers(visibleLayers);\r\n store.mapStore.setActiveLayerMetauids(metauids);\r\n }\r\n loadMap(mapProperties: __esri.WebMapProperties,\r\n mapStore: MapState,\r\n proxyUrl: string | undefined,\r\n viewProperties: __esri.MapViewProperties,\r\n props: MapProps): Promise {\r\n const mapData = new Promise((resolve, reject) => {\r\n try {\r\n const map: __esri.WebMap = new EsriWebMap(mapProperties);\r\n\r\n const appConfig = mapStore.appConfig;\r\n map.load()\r\n .then(() => map.basemap.load())\r\n .then(() => {\r\n // get opacity and title if set in basemap of the webmap\r\n if (map.basemap.baseLayers.length > 0) {\r\n if(typeof appConfig.basemapGallery.opacity !== \"undefined\"\r\n && appConfig.basemapGallery.opacity !== null){\r\n mapStore.setBasemapOpacity(Math.round(appConfig.basemapGallery.opacity * 100));\r\n }else{\r\n const minOpacity = map.basemap.baseLayers.reduce((o, l) => Math.min(o, l.opacity), 1);\r\n mapStore.setBasemapOpacity(Math.round(minOpacity * 100));\r\n }\r\n if(typeof appConfig.basemapGallery.default !== \"undefined\"\r\n && appConfig.basemapGallery.default !== null){\r\n mapStore.setDefaultBasemapTitle(appConfig.basemapGallery.default);\r\n if(FormatUtils.formatTitle(map.basemap.title)\r\n !== FormatUtils.formatTitle(appConfig.basemapGallery.default)){\r\n mapStore.setBasemap(\"\", appConfig.basemapGallery.default);\r\n }\r\n }else{\r\n mapStore.setDefaultBasemapTitle(map.basemap.title);\r\n map.basemap.thumbnailUrl\r\n = (proxyUrl)? `${proxyUrl}?${map.thumbnailUrl}`: map.thumbnailUrl;\r\n }\r\n }\r\n const allLayers = map.allLayers;\r\n\r\n const promises = allLayers.map((layer) => layer.load());\r\n return Promise.all(promises.toArray());\r\n })\r\n .then(() => {\r\n const viewProps = {\r\n container: this.state.containerId,\r\n map,\r\n ...viewProperties\r\n };\r\n if(viewProps?.zoom===null){\r\n delete viewProps.zoom;\r\n }\r\n if(viewProps?.scale===null){\r\n delete viewProps.scale;\r\n }\r\n const view = new EsriMapView(viewProps);\r\n // Set view events to any user defined callbacks\r\n Object.keys(eventMap).forEach((key) => {\r\n if (props[key as keyof MapProps]) {\r\n view.on(eventMap[key], props[key as keyof MapProps]);\r\n }\r\n });\r\n if (appConfig.elevationLayers && appConfig.elevationLayers.length > 0) {\r\n appConfig.elevationLayers.forEach((eProps) => {\r\n const elevation =\r\n new EsriElevationLayer(eProps as __esri.ElevationLayerProperties);\r\n elevation.load().then(() => view.map.ground.layers.add(elevation));\r\n });\r\n }\r\n resolve({ map, view });\r\n }).catch((err) => {\r\n reject(err);\r\n });\r\n } catch (err) {\r\n reject(err);\r\n }\r\n });\r\n return mapData;\r\n }\r\n\r\n componentDidMount(): void {\r\n const {proxyUrl, onLoad, viewProperties, store} = this.props;\r\n const props = this.props;\r\n if (!store) {\r\n return;\r\n }\r\n\r\n store.mapStore.setStatus(\"loading\");\r\n this.autorunDisposers.push(autorun((reaction: any) => {\r\n const mapProperties = store.mapStore.webMap;\r\n if (!mapProperties) {\r\n return;\r\n }\r\n // load the map after the component was mounted\r\n this.loadMap(mapProperties as __esri.WebMapProperties, store.mapStore, proxyUrl, viewProperties, props)\r\n .then(\r\n ({ map, view }) => {\r\n const preparedLayers: string[] = [];\r\n map.allLayers.watch(\"length\",\r\n (newValue: number, oldValue: number, propertyName: string,\r\n target: __esri.Collection<__esri.Layer>) => {\r\n this.updateVisibleLayers();\r\n target.flatten((layer: __esri.Layer) => (layer as __esri.MapImageLayer)\r\n .allSublayers as unknown as __esri.Collection<__esri.Layer>\r\n ).forEach((layer) => {\r\n if (preparedLayers.indexOf((layer as any).uid) === -1) {\r\n preparedLayers.push((layer as any).uid);\r\n layer.watch(\"visible\", () => {\r\n this.updateVisibleLayers();\r\n });\r\n }\r\n });\r\n });\r\n view.when(()=>{\r\n this.goTo(undefined, view);\r\n });\r\n runInAction(() => {\r\n store.mapStore.setMap(map);\r\n store.mapStore.setView(view);\r\n store.mapStore.setStatus(\"loaded\");\r\n });\r\n if (onLoad) {\r\n onLoad(map, view);\r\n }\r\n })\r\n .catch((e) => {\r\n runInAction(() => {\r\n store.mapStore.setStatus(\"error\");\r\n });\r\n throw e;\r\n });\r\n reaction.dispose();\r\n }));\r\n }\r\n componentDidUpdate(prevProps: Readonly): void {\r\n const {viewProperties, store} = this.props;\r\n if (!store) {\r\n return;\r\n }\r\n\r\n if(prevProps.viewProperties.zoom !== viewProperties.zoom\r\n || prevProps.viewProperties.scale !== viewProperties.scale\r\n || !_.isEqual(prevProps.viewProperties.center, viewProperties.center)\r\n || !_.isEqual(prevProps.viewProperties.extent, viewProperties.extent)\r\n || !_.isEqual(prevProps.viewProperties.viewpoint, viewProperties.viewpoint)\r\n || !_.isEqual(prevProps.viewProperties.constraints, viewProperties.constraints)){\r\n if(store.mapStore.view) {\r\n const scale = viewProperties.scale as number;\r\n const zoom = viewProperties.zoom as number;\r\n if(scale > 0) {\r\n store.mapStore.view.scale = scale;\r\n }else if(zoom > 0) {\r\n store.mapStore.view.zoom = zoom;\r\n }\r\n this.goTo(prevProps);\r\n }\r\n }\r\n }\r\n goTo(prevProps?: Readonly, view?: __esri.MapView | __esri.SceneView): void {\r\n const {viewProperties, store} = this.props;\r\n if(typeof view === \"undefined\"){\r\n view = store?.mapStore.view;\r\n }\r\n let target: EsriPoint | Extent | Viewpoint | null = null;\r\n if(viewProperties.center\r\n && (!prevProps || !_.isEqual(prevProps.viewProperties.center, viewProperties.center))) {\r\n target = new Viewpoint({\r\n scale: viewProperties.scale,\r\n targetGeometry: new EsriPoint(viewProperties.center as __esri.PointProperties)\r\n });\r\n }else if(viewProperties.extent\r\n && (!prevProps || !_.isEqual(prevProps.viewProperties.extent, viewProperties.extent))) {\r\n target = new Extent(viewProperties.extent as __esri.ExtentProperties);\r\n }else if(viewProperties.viewpoint\r\n && (!prevProps || !_.isEqual(prevProps.viewProperties.viewpoint, viewProperties.viewpoint))) {\r\n target=new Viewpoint(viewProperties.viewpoint as __esri.ViewpointProperties);\r\n }\r\n if(view){\r\n // view constraints aktualisieren\r\n if(!_.isEqual(prevProps?.viewProperties.constraints, viewProperties.constraints)){\r\n if(viewProperties.constraints){\r\n view.constraints = viewProperties.constraints;\r\n }else{\r\n // TODO: Es ist nicht klar, ob dies funktioniert\r\n view.constraints = {};\r\n }\r\n }\r\n }\r\n if(target && view){\r\n view.goTo(target, {animate: false}).catch((error) => {\r\n if (error.name !== \"view:goto-interrupted\") {\r\n if(error instanceof TypeError && error.message===\"this.animationManager is undefined\"){\r\n // Neuer Versuch, falls der animationManager noch nicht bereit ist\r\n setTimeout(() => {\r\n this.goTo(prevProps, view);\r\n },100);\r\n }else{\r\n // eslint-disable-next-line no-console\r\n console.error(error);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount(): void {\r\n const {store} = this.props;\r\n this.watchHandles.forEach((handle: any) => {\r\n handle.remove();\r\n });\r\n this.watchHandles.length = 0;\r\n this.autorunDisposers.forEach((disposer: any) => {\r\n disposer();\r\n });\r\n this.autorunDisposers.length = 0;\r\n store?.mapStore.map?.destroy();\r\n store?.mapStore.setMap();\r\n store?.mapStore.setView();\r\n store?.mapStore.setStatus(\"no-map\");\r\n }\r\n}\r\n\r\nexport const WebMap = withStore(WebMapBase);\r\n","/*\r\nCopied and adapted from https://github.com/Esri/react-arcgis/blob/master/src/ts/components/MapComposites.tsx\r\n\r\nCopyright © 2017-2019 Esri\r\n\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance\r\nwith the License. You may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on\r\nan \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the\r\nspecific language governing permissions and limitations under the License.\r\n\r\nA copy of the license is available in the repository's LICENSE file.\r\nTODO: Refactor\r\n */\r\nimport * as React from \"react\";\r\nimport { BaseProps } from \"../../props\";\r\nimport { eventMap } from \"../../events\";\r\nimport {StyledContainer} from \"../styled-container/styled-container\";\r\nimport EsriMap from \"@arcgis/core/Map\";\r\nimport EsriMapView from \"@arcgis/core/views/MapView\";\r\n\r\n\r\nexport interface MapProps extends BaseProps {\r\n mapProperties?: __esri.MapProperties;\r\n viewProperties?: __esri.MapViewProperties;\r\n}\r\n\r\nexport class Map extends React.Component {\r\n constructor(props: MapProps) {\r\n super(props);\r\n this.state = {\r\n mapContainerId: this.props.containerId,\r\n status: \"loading\"\r\n };\r\n }\r\n\r\n render(): React.ReactElement | null {\r\n const centerStyle = {\r\n left: \"50%\",\r\n marginRight: \"-50%\",\r\n position: \"absolute\",\r\n top: \"50%\",\r\n transform: \"translate(-50%, -50%)\"\r\n };\r\n\r\n const mapStyle = this.props.className ?\r\n this.props.style :\r\n {\r\n height: \"100%\",\r\n position: \"relative\",\r\n width: \"100%\",\r\n ...this.props.style\r\n };\r\n\r\n const loadElement = (\r\n this.props.loadElement ? this.props.loadElement :\r\n

Wird geladen...

\r\n );\r\n\r\n const failElement = (\r\n this.props.failElement ? this.props.failElement :\r\n

Laden des ArcGIS API fehlgeschlagen.

\r\n );\r\n\r\n if (this.state.status === \"loaded\") {\r\n if (!!this.props.childrenAsFunction) {\r\n return this.props.childrenAsFunction(this.state.map, this.state.view);\r\n }\r\n const childrenWithProps = React.Children.map(this.props.children, (child) => {\r\n const childEl = child as React.ReactElement;\r\n return React.cloneElement(childEl, {\r\n map: this.state.map,\r\n view: this.state.view\r\n }\r\n );\r\n });\r\n return (\r\n
\r\n \r\n {childrenWithProps}\r\n
\r\n );\r\n } else if (this.state.status === \"loading\") {\r\n return (\r\n
\r\n \r\n
\r\n {loadElement}\r\n
\r\n
\r\n );\r\n }\r\n return (\r\n
\r\n \r\n
\r\n {failElement}\r\n
\r\n
\r\n );\r\n }\r\n\r\n loadMap(): Promise {\r\n const mapData = new Promise((resolve, reject) => {\r\n try {\r\n const map: __esri.Map = new EsriMap(this.props.mapProperties); // Make the map\r\n const viewProperties: any = {\r\n map,\r\n container: this.props.containerId,\r\n ...this.props.viewProperties\r\n };\r\n const view: __esri.View = new EsriMapView(viewProperties); // Make the view\r\n const typedView = view as __esri.MapView;\r\n Object.keys(eventMap).forEach((key) => { // Set view events to any user defined callbacks\r\n if ((this.props as any)[key]) {\r\n typedView.on((eventMap as any)[key], (this.props as any)[key]);\r\n }\r\n });\r\n view.when(() => {\r\n resolve({ map, view });\r\n }, (err: Error) => {\r\n reject(err);\r\n });\r\n } catch (err) {\r\n reject(err);\r\n }\r\n });\r\n return mapData;\r\n }\r\n\r\n componentDidMount(): void {\r\n // load the map after the component was mounted\r\n this.loadMap()\r\n .then(\r\n ({map, view}) => {\r\n this.setState({\r\n map,\r\n view,\r\n status: \"loaded\"\r\n });\r\n if (this.props.onLoad) {\r\n this.props.onLoad(map, view);\r\n }\r\n })\r\n .catch((e: Error) => {\r\n throw e;\r\n });\r\n }\r\n componentWillUnmount(): void {\r\n\r\n }\r\n}\r\n","/*\r\nCopied and adapted from https://raw.githubusercontent.com/Esri/react-arcgis/master/src/ts/components/ArcContainer.tsx\r\n\r\nCopyright © 2017-2019 Esri\r\n\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance\r\nwith the License. You may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on\r\nan \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the\r\nspecific language governing permissions and limitations under the License.\r\n\r\nA copy of the license is available in the repository's LICENSE file.\r\n*/\r\nimport * as React from \"react\";\r\n\r\nexport interface StyledContainerProps {\r\n id: string;\r\n style?: {\r\n [propName: string]: any;\r\n };\r\n}\r\n\r\nexport interface StyledContainerState {};\r\n\r\nexport class StyledContainer extends React.Component {\r\n constructor(props: StyledContainerProps) {\r\n super(props);\r\n }\r\n\r\n render(): React.ReactElement | null {\r\n return
;\r\n }\r\n\r\n shouldComponentUpdate() {\r\n return false;\r\n }\r\n}\r\n","export const eventMap: {[index: string]: \"click\"\r\n| \"double-click\"\r\n| \"drag\"\r\n| \"hold\"\r\n| \"key-down\"\r\n| \"key-up\"\r\n| \"layerview-create\"\r\n| \"layerview-destroy\"\r\n| \"mouse-wheel\"\r\n| \"pointer-down\"\r\n| \"pointer-move\"\r\n| \"pointer-up\"\r\n| \"resize\";\r\n} = {\r\n onClick: \"click\",\r\n onDoubleClick: \"double-click\",\r\n onDrag: \"drag\",\r\n onHold: \"hold\",\r\n onKeyDown: \"key-down\",\r\n onKeyUp: \"key-up\",\r\n onLayerViewCreate: \"layerview-create\",\r\n onLayerViewDestroy: \"layerview-destroy\",\r\n onMouseWheel: \"mouse-wheel\",\r\n onPointerDown: \"pointer-down\",\r\n onPointerMove: \"pointer-move\",\r\n onPointerUp: \"pointer-up\",\r\n onResize: \"resize\"\r\n};\r\n","/*\r\nCopied and adapted from https://github.com/Esri/react-arcgis/blob/master/src/ts/components/MapComposites.tsx\r\n\r\nCopyright © 2017-2019 Esri\r\n\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance\r\nwith the License. You may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on\r\nan \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the\r\nspecific language governing permissions and limitations under the License.\r\n\r\nA copy of the license is available in the repository's LICENSE file.\r\nTODO: Refactor\r\n */\r\nimport * as React from \"react\";\r\nimport { BaseProps } from \"../../props\";\r\nimport { eventMap } from \"../../events\";\r\nimport {StyledContainer} from \"../styled-container/styled-container\";\r\nimport EsriMap from \"@arcgis/core/Map\";\r\nimport EsriSceneView from \"@arcgis/core/views/SceneView\";\r\n\r\nexport interface SceneProps extends BaseProps {\r\n mapProperties?: __esri.MapProperties;\r\n viewProperties?: __esri.SceneViewProperties;\r\n}\r\n\r\nexport class Scene extends React.Component {\r\n constructor(props: SceneProps) {\r\n super(props);\r\n this.state = {\r\n mapContainerId: this.props.containerId,\r\n status: \"loading\"\r\n };\r\n }\r\n\r\n render(): React.ReactElement | null {\r\n const centerStyle = {\r\n left: \"50%\",\r\n marginRight: \"-50%\",\r\n position: \"absolute\",\r\n top: \"50%\",\r\n transform: \"translate(-50%, -50%)\"\r\n };\r\n\r\n const mapStyle = this.props.className ?\r\n this.props.style :\r\n {\r\n height: \"100%\",\r\n position: \"relative\",\r\n width: \"100%\",\r\n ...this.props.style\r\n };\r\n\r\n const loadElement = (\r\n this.props.loadElement ? this.props.loadElement :\r\n

Wird geladen...

\r\n );\r\n\r\n const failElement = (\r\n this.props.failElement ? this.props.failElement :\r\n

Laden des ArcGIS API fehlgeschlagen.

\r\n );\r\n\r\n if (this.state.status === \"loaded\") {\r\n if (!!this.props.childrenAsFunction) {\r\n return this.props.childrenAsFunction(this.state.map, this.state.view);\r\n }\r\n const childrenWithProps = React.Children.map(this.props.children, (child) => {\r\n const childEl = child as React.ReactElement;\r\n return React.cloneElement(childEl, {\r\n map: this.state.map,\r\n view: this.state.view\r\n }\r\n );\r\n });\r\n return (\r\n
\r\n \r\n {childrenWithProps}\r\n
\r\n );\r\n } else if (this.state.status === \"loading\") {\r\n return (\r\n
\r\n \r\n
\r\n {loadElement}\r\n
\r\n
\r\n );\r\n }\r\n return (\r\n
\r\n \r\n
\r\n {failElement}\r\n
\r\n
\r\n );\r\n }\r\n\r\n loadMap() {\r\n const mapData = new Promise((resolve, reject) => {\r\n try {\r\n const map: __esri.Map = new EsriMap(this.props.mapProperties); // Make the map\r\n const viewProperties: any = {\r\n map,\r\n container: this.props.containerId,\r\n ...this.props.viewProperties\r\n };\r\n const view: __esri.View = new EsriSceneView(viewProperties); // Make the view\r\n const typedView = view as __esri.SceneView;\r\n Object.keys(eventMap).forEach((key) => { // Set view events to any user defined callbacks\r\n if (this.props[key]) {\r\n typedView.on(eventMap[key], this.props[key]);\r\n }\r\n });\r\n view.when(() => {\r\n resolve({ map, view });\r\n }, (err: Error) => {\r\n reject(err);\r\n });\r\n } catch (err) {\r\n reject(err);\r\n }\r\n });\r\n return mapData;\r\n }\r\n\r\n componentDidMount() {\r\n // load the map after the component was mounted\r\n this.loadMap()\r\n .then(\r\n ({map, view}) => {\r\n this.setState({\r\n map,\r\n view,\r\n status: \"loaded\"\r\n });\r\n if (this.props.onLoad) {\r\n this.props.onLoad(map, view);\r\n }\r\n })\r\n .catch((e: Error) => {\r\n throw e;\r\n });\r\n }\r\n}\r\n\r\n","/*\r\nCopied and adapted from https://github.com/Esri/react-arcgis/blob/master/src/ts/components/WebComposites.tsx\r\n\r\nCopyright © 2017-2019 Esri\r\n\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance\r\nwith the License. You may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on\r\nan \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the\r\nspecific language governing permissions and limitations under the License.\r\n\r\nA copy of the license is available in the repository's LICENSE file.\r\nTODO: Refactor\r\n */\r\nimport * as React from \"react\";\r\nimport { BaseProps} from \"../../props\";\r\nimport { eventMap } from \"../../events\";\r\n\r\nimport {StyledContainer} from \"../styled-container/styled-container\";\r\n\r\nimport EsriWebScene from \"@arcgis/core/WebScene\";\r\nimport EsriSceneView from \"@arcgis/core/views/SceneView\";\r\n\r\nexport interface SceneProps extends BaseProps {\r\n id: string;\r\n mapProperties?: __esri.WebSceneProperties;\r\n viewProperties?: __esri.SceneViewProperties;\r\n}\r\n\r\nexport class WebScene extends React.Component {\r\n constructor(props: SceneProps) {\r\n super(props);\r\n this.state = {\r\n mapContainerId: this.props.containerId,\r\n status: \"loading\"\r\n };\r\n }\r\n\r\n render(): React.ReactElement | null {\r\n const centerStyle = {\r\n left: \"50%\",\r\n marginRight: \"-50%\",\r\n position: \"absolute\",\r\n top: \"50%\",\r\n transform: \"translate(-50%, -50%)\"\r\n };\r\n\r\n const mapStyle = this.props.className ?\r\n this.props.style :\r\n {\r\n height: \"100%\",\r\n position: \"relative\",\r\n width: \"100%\",\r\n ...this.props.style\r\n };\r\n\r\n const loadElement = (\r\n this.props.loadElement ? this.props.loadElement :\r\n

Wird geladen...

\r\n );\r\n\r\n const failElement = (\r\n this.props.failElement ? this.props.failElement :\r\n

Laden des ArcGIS API fehlgeschlagen.

\r\n );\r\n\r\n if (this.state.status === \"loaded\") {\r\n if (!!this.props.childrenAsFunction) {\r\n return this.props.childrenAsFunction(this.state.map, this.state.view);\r\n }\r\n const childrenWithProps = React.Children.map(this.props.children, (child) => {\r\n const childEl = child as React.ReactElement;\r\n return React.cloneElement(childEl, {\r\n map: this.state.map,\r\n view: this.state.view\r\n }\r\n );\r\n });\r\n return (\r\n
\r\n \r\n {childrenWithProps}\r\n
\r\n );\r\n } else if (this.state.status === \"loading\") {\r\n return (\r\n
\r\n \r\n
\r\n {loadElement}\r\n
\r\n
\r\n );\r\n }\r\n return (\r\n
\r\n \r\n
\r\n {failElement}\r\n
\r\n
\r\n );\r\n }\r\n\r\n loadMap() {\r\n const mapData = new Promise((resolve, reject) => {\r\n try {\r\n const map: __esri.WebScene = new EsriWebScene({\r\n portalItem: {\r\n id: this.props.id\r\n },\r\n ...this.props.mapProperties\r\n });\r\n map.load()\r\n .then(() => map.basemap.load())\r\n .then(() => {\r\n const allLayers = map.allLayers;\r\n const promises = allLayers.map((layer) => layer.load());\r\n return Promise.all(promises.toArray());\r\n })\r\n .then((layers) => {\r\n const view = new EsriSceneView({\r\n container: this.props.containerId,\r\n map,\r\n ...this.props.viewProperties\r\n });\r\n // Set view events to any user defined callbacks\r\n Object.keys(eventMap).forEach((key) => {\r\n if (this.props[key]) {\r\n view.on(eventMap[key], this.props[key]);\r\n }\r\n });\r\n resolve({ map, view });\r\n }).catch((err) => {\r\n reject(err);\r\n });\r\n } catch (err) {\r\n reject(err);\r\n }\r\n });\r\n return mapData;\r\n }\r\n\r\n componentDidMount() {\r\n // load th map after the component was mounted\r\n this.loadMap()\r\n .then(\r\n ({ map, view }) => {\r\n this.setState({\r\n map,\r\n view,\r\n status: \"loaded\"\r\n });\r\n if (this.props.onLoad) {\r\n this.props.onLoad(map, view);\r\n }\r\n })\r\n .catch((e) => {\r\n throw e;\r\n });\r\n }\r\n}\r\n","/*\r\nCopied and adapted from https://github.com/Esri/react-arcgis/blob/master/src/ts/index.ts\r\n\r\nCopyright © 2017-2019 Esri\r\n\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance\r\nwith the License. You may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on\r\nan \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the\r\nspecific language governing permissions and limitations under the License.\r\n\r\nA copy of the license is available in the repository's LICENSE file.\r\n*/\r\nimport * as GeoMap from \"./components/map/map\";\r\nimport * as GeoScene from \"./components/scene/scene\";\r\nimport * as GeoWebMap from \"./components/web-map/web-map\";\r\nimport * as GeoWebScene from \"./components/web-scene/web-scene\";\r\n\r\nconst Geo = {\r\n Map: GeoMap.Map,\r\n Scene: GeoScene.Scene,\r\n WebMap: GeoWebMap.WebMap,\r\n WebScene: GeoWebScene.WebScene\r\n};\r\n\r\nexport default Geo;\r\n\r\nexport const WebMap = GeoWebMap.WebMap;\r\nexport const WebScene = GeoWebScene.WebScene;\r\nexport const Map = GeoMap.Map;\r\nexport const Scene = GeoScene.Scene;\r\n"],"names":["WebMapBase","React","Component","constructor","props","super","Object","defineProperty","this","state","containerId","viewProperties","container","render","store","centerStyle","left","marginRight","position","top","transform","mapStyle","className","style","assign","height","width","loadElement","createElement","id","failElement","mapStore","status","childrenAsFunction","map","view","childrenWithProps","Children","children","child","childEl","cloneElement","styled_container_1","StyledContainer","updateVisibleLayers","visibleLayers","Map","metauids","_b","_a","allLayers","flatten","subL","allSublayers","toArray","forEach","layer","visible","layerId","metauid","pathMetauid","url","path_utils_1","PathUtils","getLayerPath","getMetaId","pathLayerId","getLayerId","visibleLayerIds","get","push","set","indexOf","setActiveLayers","setActiveLayerMetauids","loadMap","mapProperties","proxyUrl","Promise","resolve","reject","WebMap_1","default","appConfig","load","then","basemap","baseLayers","length","basemapGallery","opacity","setBasemapOpacity","Math","round","minOpacity","reduce","o","l","min","setDefaultBasemapTitle","format_utils_1","FormatUtils","formatTitle","title","setBasemap","thumbnailUrl","promises","all","viewProps","zoom","scale","MapView_1","keys","events_1","eventMap","key","on","elevationLayers","eProps","elevation","ElevationLayer_1","ground","layers","add","catch","err","componentDidMount","onLoad","setStatus","autorunDisposers","mobx_1","autorun","reaction","webMap","_ref","preparedLayers","watch","newValue","oldValue","propertyName","target","uid","when","goTo","undefined","runInAction","setMap","setView","e","dispose","componentDidUpdate","prevProps","lodash_1","isEqual","center","extent","viewpoint","constraints","Viewpoint_1","Extent_1","targetGeometry","Point_1","animate","error","name","TypeError","message","setTimeout","console","componentWillUnmount","watchHandles","handle","remove","disposer","destroy","tslib_1","__decorate","mobx_react_1","observer","exports","abstract_app_store_1","withStore","mapContainerId","Map_1","typedView","setState","shouldComponentUpdate","onClick","onDoubleClick","onDrag","onHold","onKeyDown","onKeyUp","onLayerViewCreate","onLayerViewDestroy","onMouseWheel","onPointerDown","onPointerMove","onPointerUp","onResize","Scene","SceneView_1","WebScene","WebScene_1","portalItem","Geo","GeoMap","GeoScene","WebMap","GeoWebMap","GeoWebScene"],"sourceRoot":""}