forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			No EOL
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			No EOL
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import BaseUIElement from "../BaseUIElement";
 | |
| import Loc from "../../Models/Loc";
 | |
| import BaseLayer from "../../Models/BaseLayer";
 | |
| import {UIEventSource} from "../../Logic/UIEventSource";
 | |
| import {BBox} from "../../Logic/BBox";
 | |
| 
 | |
| export interface MinimapOptions {
 | |
|     background?: UIEventSource<BaseLayer>,
 | |
|     location?: UIEventSource<Loc>,
 | |
|     bounds?: UIEventSource<BBox>,
 | |
|     allowMoving?: boolean,
 | |
|     leafletOptions?: any,
 | |
|     attribution?: BaseUIElement | boolean,
 | |
|     onFullyLoaded?: (leaflet: L.Map) => void,
 | |
|     leafletMap?: UIEventSource<any>,
 | |
|     lastClickLocation?: UIEventSource<{ lat: number, lon: number }>,
 | |
|     addLayerControl?: boolean | false
 | |
| }
 | |
| 
 | |
| export interface MinimapObj {
 | |
|     readonly leafletMap: UIEventSource<any>,
 | |
|     readonly location: UIEventSource<Loc>;
 | |
|     readonly bounds: UIEventSource<BBox>;
 | |
| 
 | |
|     installBounds(factor: number | BBox, showRange?: boolean): void
 | |
| 
 | |
|     TakeScreenshot(): Promise<any>;
 | |
| 
 | |
| }
 | |
| 
 | |
| export default class Minimap {
 | |
|     /**
 | |
|      * A stub implementation. The actual implementation is injected later on, but only in the browser.
 | |
|      * importing leaflet crashes node-ts, which is pretty annoying considering the fact that a lot of scripts use it
 | |
|      */
 | |
| 
 | |
|     private constructor() {
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Construct a minimap
 | |
|      */
 | |
|     public static createMiniMap: (options?: MinimapOptions) => (BaseUIElement & MinimapObj) = (_) => {
 | |
|         throw "CreateMinimap hasn't been initialized yet. Please call MinimapImplementation.initialize()"
 | |
|     }
 | |
| 
 | |
| 
 | |
| } |