forked from MapComplete/MapComplete
		
	Fix selecting another background layer in minimaps
This commit is contained in:
		
							parent
							
								
									3f37848022
								
							
						
					
					
						commit
						6e9d4b327e
					
				
					 3 changed files with 15 additions and 4 deletions
				
			
		|  | @ -11,6 +11,10 @@ export class UIEventSource<T> { | |||
|     constructor(data: T, tag: string = "") { | ||||
|         this.tag = tag; | ||||
|         this.data = data; | ||||
|         if(tag === undefined || tag === ""){ | ||||
|             const callstack = new Error().stack.split("\n") | ||||
|             this.tag = callstack[1] | ||||
|         } | ||||
|         UIEventSource.allSources.push(this); | ||||
|     } | ||||
| 
 | ||||
|  | @ -278,9 +282,11 @@ export class UIEventSource<T> { | |||
|                   g: ((j: J, t: T) => T) = undefined): UIEventSource<J> { | ||||
|         const self = this; | ||||
| 
 | ||||
|         const stack = new Error().stack.split("\n"); | ||||
|         const callee = stack[1] | ||||
|         const newSource = new UIEventSource<J>( | ||||
|             f(this.data), | ||||
|             "map(" + this.tag + ")" | ||||
|             "map(" + this.tag + ")@"+callee | ||||
|         ); | ||||
| 
 | ||||
|         const update = function () { | ||||
|  |  | |||
|  | @ -197,6 +197,7 @@ export default class BackgroundMapSwitch extends Combine { | |||
| 
 | ||||
|         super(buttons) | ||||
|         this.SetClass("flex") | ||||
|         currentBackground.addCallbackAndRun(bg => console.trace("Current background is", bg.id)) | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  | @ -12,6 +12,7 @@ import Translations from "../i18n/Translations"; | |||
| import Svg from "../../Svg"; | ||||
| import Toggle from "../Input/Toggle"; | ||||
| import SimpleAddUI, {PresetInfo} from "../BigComponents/SimpleAddUI"; | ||||
| import BaseLayer from "../../Models/BaseLayer"; | ||||
| 
 | ||||
| export default class ConfirmLocationOfPoint extends Combine { | ||||
| 
 | ||||
|  | @ -19,7 +20,8 @@ export default class ConfirmLocationOfPoint extends Combine { | |||
|     constructor( | ||||
|         state: { | ||||
|             osmConnection: OsmConnection, | ||||
|             featurePipeline: FeaturePipeline | ||||
|             featurePipeline: FeaturePipeline, | ||||
|             backgroundLayer: UIEventSource<BaseLayer> | ||||
|         }, | ||||
|         filterViewIsOpened: UIEventSource<boolean>, | ||||
|         preset: PresetInfo, | ||||
|  | @ -35,9 +37,11 @@ export default class ConfirmLocationOfPoint extends Combine { | |||
|             const zloc = {...loc, zoom: 19} | ||||
|             const locationSrc = new UIEventSource(zloc); | ||||
| 
 | ||||
|             let backgroundLayer = undefined; | ||||
|             let backgroundLayer = new UIEventSource(state?.backgroundLayer?.data ?? AvailableBaseLayers.osmCarto); | ||||
|             if (preset.preciseInput.preferredBackground) { | ||||
|                 backgroundLayer = AvailableBaseLayers.SelectBestLayerAccordingTo(locationSrc, new UIEventSource<string | string[]>(preset.preciseInput.preferredBackground)) | ||||
|                 const defaultBackground = AvailableBaseLayers.SelectBestLayerAccordingTo(locationSrc, new UIEventSource<string | string[]>(preset.preciseInput.preferredBackground)); | ||||
|                 // Note that we _break the link_ here, as the minimap will take care of the switching!
 | ||||
|                 backgroundLayer.setData(defaultBackground.data) | ||||
|             } | ||||
| 
 | ||||
|             let snapToFeatures: UIEventSource<{ feature: any }[]> = undefined | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue