forked from MapComplete/MapComplete
		
	Refactoring: move all code files into a src directory
This commit is contained in:
		
							parent
							
								
									de99f56ca8
								
							
						
					
					
						commit
						e75d2789d2
					
				
					 389 changed files with 0 additions and 12 deletions
				
			
		
							
								
								
									
										76
									
								
								src/UI/QueryParameterDocumentation.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								src/UI/QueryParameterDocumentation.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,76 @@ | |||
| import BaseUIElement from "./BaseUIElement" | ||||
| import Combine from "./Base/Combine" | ||||
| import Title from "./Base/Title" | ||||
| import List from "./Base/List" | ||||
| import Translations from "./i18n/Translations" | ||||
| import { QueryParameters } from "../Logic/Web/QueryParameters" | ||||
| import FeatureSwitchState from "../Logic/State/FeatureSwitchState" | ||||
| import LayoutConfig from "../Models/ThemeConfig/LayoutConfig" | ||||
| 
 | ||||
| export default class QueryParameterDocumentation { | ||||
|     private static QueryParamDocsIntro = [ | ||||
|         new Title("URL-parameters and URL-hash", 1), | ||||
|         "This document gives an overview of which URL-parameters can be used to influence MapComplete.", | ||||
|         new Title("What is a URL parameter?", 2), | ||||
|         '"URL-parameters are extra parts of the URL used to set the state.', | ||||
|         "For example, if the url is `https://mapcomplete.osm.be/cyclofix?lat=51.0&lon=4.3&z=5&test=true#node/1234`, " + | ||||
|             "the URL-parameters are stated in the part between the `?` and the `#`. There are multiple, all separated by `&`, namely: ", | ||||
|         new List( | ||||
|             [ | ||||
|                 "The url-parameter `lat` is `51.0` in this instance", | ||||
|                 "The url-parameter `lon` is `4.3` in this instance", | ||||
|                 "The url-parameter `z` is `5` in this instance", | ||||
|                 "The url-parameter `test` is `true` in this instance", | ||||
|             ].map((s) => Translations.W(s)) | ||||
|         ), | ||||
|         "Finally, the URL-hash is the part after the `#`. It is `node/1234` in this case.", | ||||
|     ] | ||||
| 
 | ||||
|     public static UrlParamDocs(): Map<string, string> { | ||||
|         const dummyLayout = new LayoutConfig({ | ||||
|             id: ">theme<", | ||||
|             title: { en: "<theme>" }, | ||||
|             description: "A theme to generate docs with", | ||||
|             socialImage: "./assets/SocialImage.png", | ||||
|             startLat: 0, | ||||
|             startLon: 0, | ||||
|             startZoom: 0, | ||||
|             icon: undefined, | ||||
|             layers: [ | ||||
|                 { | ||||
|                     name: "<layer>", | ||||
|                     id: "<layer>", | ||||
|                     source: { | ||||
|                         osmTags: "id~*", | ||||
|                     }, | ||||
|                     mapRendering: null, | ||||
|                 }, | ||||
|             ], | ||||
|         }) | ||||
|         new FeatureSwitchState(dummyLayout) | ||||
| 
 | ||||
|         QueryParameters.GetQueryParameter( | ||||
|             "layer-<layer-id>", | ||||
|             "true", | ||||
|             "Wether or not the layer with id <layer-id> is shown" | ||||
|         ) | ||||
|         return QueryParameters.documentation | ||||
|     } | ||||
| 
 | ||||
|     public static GenerateQueryParameterDocs(): BaseUIElement { | ||||
|         const docs: (string | BaseUIElement)[] = [ | ||||
|             ...QueryParameterDocumentation.QueryParamDocsIntro, | ||||
|         ] | ||||
|         this.UrlParamDocs().forEach((value, key) => { | ||||
|             const c = new Combine([ | ||||
|                 new Title(key, 2), | ||||
|                 value, | ||||
|                 QueryParameters.defaults[key] === undefined | ||||
|                     ? "No default value set" | ||||
|                     : `The default value is _${QueryParameters.defaults[key]}_`, | ||||
|             ]) | ||||
|             docs.push(c) | ||||
|         }) | ||||
|         return new Combine(docs).SetClass("flex flex-col") | ||||
|     } | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue