forked from MapComplete/MapComplete
		
	
		
			
	
	
		
			28 lines
		
	
	
	
		
			795 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			28 lines
		
	
	
	
		
			795 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								import { TagsFilter } from "../../Logic/Tags/TagsFilter";
							 | 
						||
| 
								 | 
							
								import { Translation } from "../../UI/i18n/Translation";
							 | 
						||
| 
								 | 
							
								import Translations from "../../UI/i18n/Translations";
							 | 
						||
| 
								 | 
							
								import FilterConfigJson from "./FilterConfigJson";
							 | 
						||
| 
								 | 
							
								import { FromJSON } from "./FromJSON";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export default class FilterConfig {
							 | 
						||
| 
								 | 
							
								  readonly options: {
							 | 
						||
| 
								 | 
							
								    question: Translation;
							 | 
						||
| 
								 | 
							
								    osmTags: TagsFilter;
							 | 
						||
| 
								 | 
							
								  }[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  constructor(json: FilterConfigJson, context: string) {
							 | 
						||
| 
								 | 
							
								    this.options = json.options.map((option, i) => {
							 | 
						||
| 
								 | 
							
								      const question = Translations.T(
							 | 
						||
| 
								 | 
							
								        option.question,
							 | 
						||
| 
								 | 
							
								        context + ".options-[" + i + "].question"
							 | 
						||
| 
								 | 
							
								      );
							 | 
						||
| 
								 | 
							
								      const osmTags = FromJSON.Tag(
							 | 
						||
| 
								 | 
							
								        option.osmTags,
							 | 
						||
| 
								 | 
							
								        `${context}.options-[${i}].osmTags`
							 | 
						||
| 
								 | 
							
								      );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      return { question: question, osmTags: osmTags };
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 |