forked from MapComplete/MapComplete
		
	Few extra tweaks
This commit is contained in:
		
							parent
							
								
									8d3c8ed9d9
								
							
						
					
					
						commit
						7757bb051c
					
				
					 5 changed files with 24 additions and 10 deletions
				
			
		|  | @ -234,7 +234,7 @@ export class CustomLayoutFromJSON { | |||
|                 name: t(json.title), | ||||
|                 icon: json.icon, | ||||
|                 minzoom: json.minzoom, | ||||
|                 title: tr(json.title), | ||||
|                 title: tr(json.title) , | ||||
|                 presets: json.presets.map((preset) => { | ||||
|                     return CustomLayoutFromJSON.PresetFromJson(json, preset) | ||||
|                 }), | ||||
|  |  | |||
|  | @ -126,6 +126,7 @@ export class ShareScreen extends UIElement { | |||
|         this._options = new VerticalCombine(optionCheckboxes) | ||||
|         const url = currentLocation.map(() => { | ||||
| 
 | ||||
|              | ||||
|             let literalText = "https://pietervdvn.github.io/MapComplete/" + layout.name + ".html" | ||||
| 
 | ||||
|             const parts = Utils.NoNull(optionParts.map((eventSource) => eventSource.data)); | ||||
|  | @ -133,6 +134,8 @@ export class ShareScreen extends UIElement { | |||
|             let hash = ""; | ||||
|             if (State.state.layoutDefinition !== undefined) { | ||||
|                 hash = ("#" + State.state.layoutDefinition) | ||||
|                 literalText = "https://pietervdvn.github.io/MapComplete/index.html" | ||||
|                 parts.push("userlayout=true"); | ||||
|             } | ||||
| 
 | ||||
|             if (parts.length === 0) { | ||||
|  | @ -160,7 +163,7 @@ export class ShareScreen extends UIElement { | |||
|         if(State.state.layoutDefinition !== undefined){ | ||||
|             this._editLayout =  | ||||
|                 new FixedUiElement(`<h3>Edit this theme</h3>`+ | ||||
|                     `<a target='_blank' https://pietervdvn.github.io/MapComplete/customGenerator.html#${State.state.layoutDefinition}'>Click here to edit</a>`) | ||||
|                     `<a target='_blank' href='https://pietervdvn.github.io/MapComplete/customGenerator.html#${State.state.layoutDefinition}'>Click here to edit</a>`) | ||||
|              | ||||
|         } | ||||
| 
 | ||||
|  |  | |||
|  | @ -17,4 +17,4 @@ new VariableUiElement(connection.userDetails.map<string>((userdetails : UserDeta | |||
| const themeGenerator = new ThemeGenerator(connection, window.location.hash?.substr(1)); | ||||
| themeGenerator.AttachTo("layoutCreator") | ||||
| 
 | ||||
| new Preview(themeGenerator.url).AttachTo("preview"); | ||||
| new Preview(themeGenerator.url, themeGenerator.themeObject).AttachTo("preview"); | ||||
							
								
								
									
										1
									
								
								index.ts
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								index.ts
									
										
									
									
									
								
							|  | @ -88,6 +88,7 @@ TagRendering.injectFunction(); | |||
| State.state = new State(layoutToUse); | ||||
| if(layoutFromBase64 !== "false"){ | ||||
|     State.state.layoutDefinition = hash.substr(1); | ||||
|     console.log(State.state.layoutDefinition) | ||||
| } | ||||
| InitUiElements.InitBaseMap(); | ||||
| 
 | ||||
|  |  | |||
|  | @ -33,15 +33,17 @@ function TagsToString(tags: string | string [] | { k: string, v: string }[]) { | |||
| 
 | ||||
| export class Preview extends UIElement { | ||||
|     private url: UIEventSource<string>; | ||||
|     private config: UIEventSource<LayoutConfigJson>; | ||||
| 
 | ||||
|     constructor(url: UIEventSource<string>) { | ||||
|     constructor(url: UIEventSource<string>, config: UIEventSource<LayoutConfigJson>) { | ||||
|         super(url); | ||||
|         this.config = config; | ||||
|         this.url = url; | ||||
|     } | ||||
| 
 | ||||
|     InnerRender(): string { | ||||
|         const url = this.url.data; | ||||
|         return ""; // `<iframe src="${url}" width="100%" height="100%" title="Test"></iframe>`
 | ||||
|         return JSON.stringify(this.config.data, null, 2) | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  | @ -66,7 +68,6 @@ class MappingGenerator extends UIElement { | |||
|         { | ||||
|             const self = this; | ||||
|             this.elements = [ | ||||
|                 new FixedUiElement("<h5>Mapping</h5>"), | ||||
|                 generateField(fullConfig, "If these tags apply", "if", mapping), | ||||
|                 generateField(fullConfig, "Then: show this text", "then", mapping), | ||||
|                 new Button("Remove this mapping", () => { | ||||
|  | @ -123,6 +124,9 @@ class TagRenderingGenerator | |||
|                     generateField) | ||||
|             }), | ||||
|             new Button("Add mapping", () => { | ||||
|                 if(tagRendering.mappings === undefined){ | ||||
|                     tagRendering.mappings = [] | ||||
|                 } | ||||
|                 tagRendering.mappings.push({if: "", then: ""}); | ||||
|                 self.CreateElements(fullConfig, layerConfig, tagRendering, generateField, isTitle); | ||||
|                 self.Update(); | ||||
|  | @ -213,8 +217,7 @@ class LayerGenerator extends UIElement { | |||
|     private CreateElements(fullConfig: UIEventSource<LayoutConfigJson>, layerConfig: LayerConfigJson, generateField: (src: UIEventSource<any>, label: string, key: string, root: any, deflt?: string) => UIElement) { | ||||
|         const self = this; | ||||
|         this.uielements = [ | ||||
|             generateField(fullConfig, "id", "id", layerConfig), | ||||
|             generateField(fullConfig, "The title of this layer", "title", layerConfig), | ||||
|             generateField(fullConfig, "The name of this layer", "id", layerConfig), | ||||
|             generateField(fullConfig, "A description of objects for this layer", "description", layerConfig), | ||||
|             generateField(fullConfig, "The icon of this layer, either a URL or a base64-encoded svg", "icon", layerConfig), | ||||
|             generateField(fullConfig, "The default stroke color", "color", layerConfig), | ||||
|  | @ -231,7 +234,14 @@ class LayerGenerator extends UIElement { | |||
|                 self.CreateElements(fullConfig, layerConfig, generateField); | ||||
|                 self.Update(); | ||||
|             }), | ||||
|             new TagRenderingGenerator(fullConfig, layerConfig, layerConfig.title, generateField, true), | ||||
|             new TagRenderingGenerator(fullConfig, layerConfig, layerConfig.title ?? { | ||||
|                 key: "", | ||||
|                 addExtraTags: "", | ||||
|                 mappings: [], | ||||
|                 question: "", | ||||
|                 render: "Title", | ||||
|                 type: "text" | ||||
|             }, generateField, true), | ||||
|             ...layerConfig.tagRenderings.map(tr => new TagRenderingGenerator(fullConfig, layerConfig, tr, generateField)), | ||||
|             new Button("Add a tag rendering", () => { | ||||
|                 layerConfig.tagRenderings.push({ | ||||
|  | @ -327,7 +337,7 @@ export class ThemeGenerator extends UIElement { | |||
| 
 | ||||
|     private readonly userDetails: UIEventSource<UserDetails>; | ||||
| 
 | ||||
|     private readonly themeObject: UIEventSource<LayoutConfigJson>; | ||||
|     public readonly themeObject: UIEventSource<LayoutConfigJson>; | ||||
|     private readonly allQuestionFields: UIElement[]; | ||||
|     public url: UIEventSource<string>; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue