forked from MapComplete/MapComplete
		
	Various bug fixes, add layer selection and background selection as parameter to the URL (fix #86, fix #84)
This commit is contained in:
		
							parent
							
								
									e35c85fc55
								
							
						
					
					
						commit
						97a69ff903
					
				
					 14 changed files with 111 additions and 25 deletions
				
			
		|  | @ -26,6 +26,7 @@ import {CustomLayout} from "./Logic/CustomLayers"; | |||
| import {Preset} from "./Customizations/LayerDefinition"; | ||||
| import {VariableUiElement} from "./UI/Base/VariableUIElement"; | ||||
| import {LayerUpdater} from "./Logic/LayerUpdater"; | ||||
| import {QueryParameters} from "./Logic/QueryParameters"; | ||||
| 
 | ||||
| export class InitUiElements { | ||||
| 
 | ||||
|  | @ -136,7 +137,7 @@ export class InitUiElements { | |||
|     } | ||||
|      | ||||
|     static InitBaseMap(){ | ||||
|         State.state.bm = new Basemap("leafletDiv", State.state.locationControl, new VariableUiElement( | ||||
|         const bm = new Basemap("leafletDiv", State.state.locationControl, new VariableUiElement( | ||||
|             State.state.locationControl.map((location) => { | ||||
|                 const mapComplete = `<a href='https://github.com/pietervdvn/MapComplete' target='_blank'>Mapcomple ${State.vNumber}</a>  <a href='https://github.com/pietervdvn/MapComplete/issues' target='_blank'><img src='./assets/bug.svg' alt='Report bug'  class='small-userbadge-icon'></a>`; | ||||
|                 let editHere = ""; | ||||
|  | @ -150,7 +151,23 @@ export class InitUiElements { | |||
| 
 | ||||
|             }) | ||||
|         )); | ||||
|         State.state.bm = bm; | ||||
|         State.state.layerUpdater = new LayerUpdater(State.state); | ||||
|         const queryParam = QueryParameters.GetQueryParameter("background", State.state.layoutToUse.data.defaultBackground); | ||||
|         const queryParamMapped: UIEventSource<{ id: string, name: string, layer: any }> = | ||||
|             queryParam.map<{ id: string, name: string, layer: any }>((id) => { | ||||
|                 for (const layer of BaseLayers.baseLayers) { | ||||
|                     if (layer.id === id) { | ||||
|                         return layer; | ||||
|                     } | ||||
|                 } | ||||
|                 return undefined; | ||||
|             }, [], (layerInfo) => { | ||||
|                 return layerInfo.id | ||||
|             }); | ||||
| 
 | ||||
|         queryParamMapped.syncWith(bm.CurrentLayer); | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|  | @ -194,7 +211,12 @@ export class InitUiElements { | |||
| 
 | ||||
|             const flayer: FilteredLayer = FilteredLayer.fromDefinition(layer, generateInfo); | ||||
|             flayers.push(flayer); | ||||
|             flayer.isDisplayed.setData(true) | ||||
| 
 | ||||
|             QueryParameters.GetQueryParameter("layer-" + layer.id, "true") | ||||
|                 .map<boolean>((str) => str !== "false", [], (b) => b.toString()) | ||||
|                 .syncWith( | ||||
|                     flayer.isDisplayed | ||||
|                 ) | ||||
|         } | ||||
| 
 | ||||
|         State.state.filteredLayers.setData(flayers); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue