| 
									
										
										
										
											2020-07-05 18:59:47 +02:00
										 |  |  | import {LayerDefinition} from "./LayerDefinition"; | 
					
						
							| 
									
										
										
										
											2020-07-21 02:55:28 +02:00
										 |  |  | import {UIElement} from "../UI/UIElement"; | 
					
						
							| 
									
										
										
										
											2020-07-21 01:37:48 +02:00
										 |  |  | import Translations from "../UI/i18n/Translations"; | 
					
						
							| 
									
										
										
										
											2020-08-25 00:10:48 +02:00
										 |  |  | import Combine from "../UI/Base/Combine"; | 
					
						
							| 
									
										
										
										
											2020-10-02 19:00:24 +02:00
										 |  |  | import State from "../State"; | 
					
						
							| 
									
										
										
										
											2020-10-10 14:09:12 +02:00
										 |  |  | import Translation from "../UI/i18n/Translation"; | 
					
						
							| 
									
										
										
										
											2020-07-05 18:59:47 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * A layout is a collection of settings of the global view (thus: welcome text, title, selection of layers). | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | export class Layout { | 
					
						
							| 
									
										
										
										
											2020-07-21 02:55:28 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-30 01:13:18 +02:00
										 |  |  |     public id: string; | 
					
						
							| 
									
										
										
										
											2020-07-26 02:01:34 +02:00
										 |  |  |     public icon: string = "./assets/logo.svg"; | 
					
						
							| 
									
										
										
										
											2020-07-20 12:39:43 +02:00
										 |  |  |     public title: UIElement; | 
					
						
							| 
									
										
										
										
											2020-08-22 02:12:46 +02:00
										 |  |  |     public maintainer: string; | 
					
						
							| 
									
										
										
										
											2020-08-26 15:36:04 +02:00
										 |  |  |     public version: string; | 
					
						
							| 
									
										
										
										
											2020-07-29 15:48:21 +02:00
										 |  |  |     public description: string | UIElement; | 
					
						
							| 
									
										
										
										
											2020-08-27 00:08:00 +02:00
										 |  |  |     public changesetMessage: string; | 
					
						
							| 
									
										
										
										
											2020-08-22 02:12:46 +02:00
										 |  |  |     public socialImage: string = ""; | 
					
						
							| 
									
										
										
										
											2020-10-23 02:15:58 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Custom CSS link | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     public customCss: string = undefined; | 
					
						
							| 
									
										
										
										
											2020-07-26 02:01:34 +02:00
										 |  |  |      | 
					
						
							| 
									
										
										
										
											2020-08-31 02:59:47 +02:00
										 |  |  |     public layers: (LayerDefinition | string)[]; | 
					
						
							| 
									
										
										
										
											2020-07-20 12:39:43 +02:00
										 |  |  |     public welcomeMessage: UIElement; | 
					
						
							| 
									
										
										
										
											2020-07-21 01:37:48 +02:00
										 |  |  |     public gettingStartedPlzLogin: UIElement; | 
					
						
							|  |  |  |     public welcomeBackMessage: UIElement; | 
					
						
							|  |  |  |     public welcomeTail: UIElement; | 
					
						
							| 
									
										
										
										
											2020-07-05 18:59:47 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-21 00:07:04 +02:00
										 |  |  |     public supportedLanguages: string[]; | 
					
						
							| 
									
										
										
										
											2020-08-30 01:13:18 +02:00
										 |  |  |      | 
					
						
							|  |  |  |     public startzoom: number; | 
					
						
							| 
									
										
										
										
											2020-07-05 18:59:47 +02:00
										 |  |  |     public startLon: number; | 
					
						
							|  |  |  |     public startLat: number; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-29 16:05:02 +02:00
										 |  |  |     public enableAdd: boolean = true; | 
					
						
							|  |  |  |     public enableUserBadge: boolean = true; | 
					
						
							|  |  |  |     public enableSearch: boolean = true; | 
					
						
							|  |  |  |     public enableLayers: boolean = true; | 
					
						
							| 
									
										
										
										
											2020-09-27 23:37:47 +02:00
										 |  |  |     public enableBackgroundLayers: boolean = true; | 
					
						
							| 
									
										
										
										
											2020-08-07 00:45:33 +02:00
										 |  |  |     public enableMoreQuests: boolean = true; | 
					
						
							|  |  |  |     public enableShareScreen: boolean = true; | 
					
						
							| 
									
										
										
										
											2020-08-30 01:13:18 +02:00
										 |  |  |     public enableGeolocation: boolean = true; | 
					
						
							| 
									
										
										
										
											2020-08-07 00:45:33 +02:00
										 |  |  |     public hideFromOverview: boolean = false; | 
					
						
							| 
									
										
										
										
											2020-07-15 11:23:35 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-30 16:34:06 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * The BBOX of the currently visible map are widened by this factor, in order to make some panning possible. | 
					
						
							|  |  |  |      * This number influences this | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2020-08-07 00:45:33 +02:00
										 |  |  |     public widenFactor: number = 0.07; | 
					
						
							| 
									
										
										
										
											2020-08-08 02:16:42 +02:00
										 |  |  |     public defaultBackground: string = "osm"; | 
					
						
							| 
									
										
										
										
											2020-07-30 16:34:06 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-05 18:59:47 +02:00
										 |  |  |     constructor( | 
					
						
							| 
									
										
										
										
											2020-08-30 01:13:18 +02:00
										 |  |  |         id: string, | 
					
						
							| 
									
										
										
										
											2020-07-21 00:07:04 +02:00
										 |  |  |         supportedLanguages: string[], | 
					
						
							| 
									
										
										
										
											2020-10-10 14:09:12 +02:00
										 |  |  |         title: Translation | string, | 
					
						
							| 
									
										
										
										
											2020-08-31 02:59:47 +02:00
										 |  |  |         layers: (LayerDefinition | string)[], | 
					
						
							| 
									
										
										
										
											2020-07-05 18:59:47 +02:00
										 |  |  |         startzoom: number, | 
					
						
							|  |  |  |         startLat: number, | 
					
						
							|  |  |  |         startLon: number, | 
					
						
							| 
									
										
										
										
											2020-10-11 18:22:04 +02:00
										 |  |  |         welcomeMessage: UIElement | string, | 
					
						
							| 
									
										
										
										
											2020-08-25 00:10:48 +02:00
										 |  |  |         gettingStartedPlzLogin: UIElement | string = new Combine([ | 
					
						
							|  |  |  |             Translations.t.general.getStartedLogin | 
					
						
							|  |  |  |                 .SetClass("soft") | 
					
						
							|  |  |  |                 .onClick(() => {State.state.osmConnection.AttemptLogin()}), | 
					
						
							|  |  |  |             Translations.t.general.getStartedNewAccount | 
					
						
							|  |  |  |         ]), | 
					
						
							| 
									
										
										
										
											2020-07-21 02:55:28 +02:00
										 |  |  |         welcomeBackMessage: UIElement | string = Translations.t.general.welcomeBack, | 
					
						
							| 
									
										
										
										
											2020-09-27 23:37:47 +02:00
										 |  |  |         welcomeTail: UIElement | string = "", | 
					
						
							| 
									
										
										
										
											2020-07-05 18:59:47 +02:00
										 |  |  |     ) { | 
					
						
							| 
									
										
										
										
											2020-07-21 00:07:04 +02:00
										 |  |  |         this.supportedLanguages = supportedLanguages; | 
					
						
							| 
									
										
										
										
											2020-10-10 14:09:12 +02:00
										 |  |  |         this.title = Translations.WT(title) | 
					
						
							| 
									
										
										
										
											2020-07-05 18:59:47 +02:00
										 |  |  |         this.startLon = startLon; | 
					
						
							|  |  |  |         this.startLat = startLat; | 
					
						
							|  |  |  |         this.startzoom = startzoom; | 
					
						
							| 
									
										
										
										
											2020-08-30 01:13:18 +02:00
										 |  |  |         this.id = id; | 
					
						
							| 
									
										
										
										
											2020-07-05 18:59:47 +02:00
										 |  |  |         this.layers = layers; | 
					
						
							| 
									
										
										
										
											2020-07-21 02:55:28 +02:00
										 |  |  |         this.welcomeMessage = Translations.W(welcomeMessage) | 
					
						
							| 
									
										
										
										
											2020-07-21 01:37:48 +02:00
										 |  |  |         this.gettingStartedPlzLogin = Translations.W(gettingStartedPlzLogin); | 
					
						
							|  |  |  |         this.welcomeBackMessage = Translations.W(welcomeBackMessage); | 
					
						
							|  |  |  |         this.welcomeTail = Translations.W(welcomeTail); | 
					
						
							| 
									
										
										
										
											2020-07-05 18:59:47 +02:00
										 |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 |