forked from MapComplete/MapComplete
		
	Add special visualisation for automated actions, add missing_street-theme, various fixes
This commit is contained in:
		
							parent
							
								
									e61c25fd6e
								
							
						
					
					
						commit
						20ec12b23c
					
				
					 23 changed files with 1116 additions and 690 deletions
				
			
		|  | @ -82,6 +82,15 @@ export interface LayerConfigJson { | |||
|      *  "_max_overlap_ratio=Number(feat._max_overlap_m2)/feat.area | ||||
|      * ] | ||||
|      * | ||||
|      * The specified tags are evaluated lazily. E.g. if a calculated tag is only used in the popup (e.g. the number of nearby features), | ||||
|      * the expensive calculation will only be performed then for that feature. This avoids clogging up the contributors PC when all features are loaded. | ||||
|      *  | ||||
|      * If a tag has to be evaluated strictly, use ':=' instead: | ||||
|      *  | ||||
|      * [ | ||||
|      * "_some_key:=some_javascript_expression" | ||||
|      * ] | ||||
|      *  | ||||
|      */ | ||||
|     calculatedTags?: string[]; | ||||
| 
 | ||||
|  |  | |||
|  | @ -30,7 +30,7 @@ export default class LayerConfig extends WithContextLoader { | |||
|     public readonly name: Translation; | ||||
|     public readonly description: Translation; | ||||
|     public readonly source: SourceConfig; | ||||
|     public readonly calculatedTags: [string, string][]; | ||||
|     public readonly calculatedTags: [string, string, boolean][]; | ||||
|     public readonly doNotDownload: boolean; | ||||
|     public readonly  passAllFeatures: boolean; | ||||
|     public readonly isShown: TagRenderingConfig; | ||||
|  | @ -130,7 +130,11 @@ export default class LayerConfig extends WithContextLoader { | |||
|             this.calculatedTags = []; | ||||
|             for (const kv of json.calculatedTags) { | ||||
|                 const index = kv.indexOf("="); | ||||
|                 const key = kv.substring(0, index); | ||||
|                 let key = kv.substring(0, index); | ||||
|                 const isStrict = key.endsWith(':') | ||||
|                 if(isStrict){ | ||||
|                     key = key.substr(0, key.length - 1) | ||||
|                 } | ||||
|                 const code = kv.substring(index + 1); | ||||
| 
 | ||||
|                 try { | ||||
|  | @ -140,7 +144,7 @@ export default class LayerConfig extends WithContextLoader { | |||
|                 } | ||||
| 
 | ||||
| 
 | ||||
|                 this.calculatedTags.push([key, code]); | ||||
|                 this.calculatedTags.push([key, code, isStrict]); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue