forked from MapComplete/MapComplete
		
	Cleanup of NSI feature breanch
This commit is contained in:
		
							parent
							
								
									f6d93a6ab1
								
							
						
					
					
						commit
						3146fa0d26
					
				
					 14 changed files with 143 additions and 537 deletions
				
			
		| 
						 | 
				
			
			@ -927,8 +927,10 @@ class CheckTranslation extends DesugaringStep<Translatable> {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
class MiscTagRenderingChecks extends DesugaringStep<TagRenderingConfigJson> {
 | 
			
		||||
    constructor() {
 | 
			
		||||
    private readonly _layerConfig: LayerConfigJson
 | 
			
		||||
    constructor(layerConfig?: LayerConfigJson) {
 | 
			
		||||
        super("Miscellaneous checks on the tagrendering", ["special"], "MiscTagRenderingChecks")
 | 
			
		||||
        this._layerConfig = layerConfig
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    convert(
 | 
			
		||||
| 
						 | 
				
			
			@ -1092,13 +1094,14 @@ class MiscTagRenderingChecks extends DesugaringStep<TagRenderingConfigJson> {
 | 
			
		|||
                        )
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            if(json.freeform.type === "nsi"){
 | 
			
		||||
                const [key, value] = json.freeform.helperArgs[0].split("=")
 | 
			
		||||
                const path = `${json.freeform.key}s/${key}/${value}`
 | 
			
		||||
                const suggestions = NameSuggestionIndex.getSuggestionsFor(json.freeform.key, key, value)
 | 
			
		||||
            if(this._layerConfig?.source?.osmTags && NameSuggestionIndex.supportedTypes().indexOf(json.freeform.key) >= 0){
 | 
			
		||||
                const tags=  TagUtils.TagD(this._layerConfig?.source?.osmTags)?.usedTags()
 | 
			
		||||
                const suggestions = NameSuggestionIndex.getSuggestionsFor(json.freeform.key, tags)
 | 
			
		||||
                if(suggestions === undefined){
 | 
			
		||||
                    context.enters("freeform","type").err("No entry found in the 'Name Suggestion Index' for "+path)
 | 
			
		||||
                    context.enters("freeform","type").err("No entry found in the 'Name Suggestion Index'. None of the 'osmSource'-tags match an entry in the NSI.\n\tOsmSource-tags are "+tags.map(t => t.asHumanString()).join(" ; "))
 | 
			
		||||
                }
 | 
			
		||||
            }else if(json.freeform.type === "nsi"){
 | 
			
		||||
                context.enters("freeform","type").warn("No need to explicitly set type to 'NSI', autodetected based on freeform type")
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        if (json.render && json["question"] && json.freeform === undefined) {
 | 
			
		||||
| 
						 | 
				
			
			@ -1145,7 +1148,7 @@ export class ValidateTagRenderings extends Fuse<TagRenderingConfigJson> {
 | 
			
		|||
    constructor(layerConfig?: LayerConfigJson, doesImageExist?: DoesImageExist) {
 | 
			
		||||
        super(
 | 
			
		||||
            "Various validation on tagRenderingConfigs",
 | 
			
		||||
            new MiscTagRenderingChecks(),
 | 
			
		||||
            new MiscTagRenderingChecks(layerConfig),
 | 
			
		||||
            new DetectShadowedMappings(layerConfig),
 | 
			
		||||
 | 
			
		||||
            new DetectMappingsShadowedByCondition(),
 | 
			
		||||
| 
						 | 
				
			
			@ -1156,7 +1159,7 @@ export class ValidateTagRenderings extends Fuse<TagRenderingConfigJson> {
 | 
			
		|||
            new On("question", new ValidatePossibleLinks()),
 | 
			
		||||
            new On("questionHint", new ValidatePossibleLinks()),
 | 
			
		||||
            new On("mappings", new Each(new On("then", new ValidatePossibleLinks()))),
 | 
			
		||||
            new MiscTagRenderingChecks()
 | 
			
		||||
            new MiscTagRenderingChecks(layerConfig)
 | 
			
		||||
        )
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue