forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			80 lines
		
	
	
		
			No EOL
		
	
	
		
			2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			No EOL
		
	
	
		
			2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| export default {
 | |
|   "$schema": "http://json-schema.org/draft-07/schema#",
 | |
|   "$ref": "#/definitions/FilterConfigJson",
 | |
|   "definitions": {
 | |
|     "FilterConfigJson": {
 | |
|       "type": "object",
 | |
|       "properties": {
 | |
|         "id": {
 | |
|           "type": "string",
 | |
|           "description": "An id/name for this filter, used to set the URL parameters"
 | |
|         },
 | |
|         "options": {
 | |
|           "type": "array",
 | |
|           "items": {
 | |
|             "type": "object",
 | |
|             "properties": {
 | |
|               "question": {
 | |
|                 "anyOf": [
 | |
|                   {
 | |
|                     "type": "string"
 | |
|                   },
 | |
|                   {}
 | |
|                 ]
 | |
|               },
 | |
|               "osmTags": {
 | |
|                 "anyOf": [
 | |
|                   {
 | |
|                     "$ref": "#/definitions/AndOrTagConfigJson"
 | |
|                   },
 | |
|                   {
 | |
|                     "type": "string"
 | |
|                   }
 | |
|                 ]
 | |
|               }
 | |
|             },
 | |
|             "required": [
 | |
|               "question"
 | |
|             ]
 | |
|           },
 | |
|           "description": "The options for a filter If there are multiple options these will be a list of radio buttons If there is only one option this will be a checkbox Filtering is done based on the given osmTags that are compared to the objects in that layer."
 | |
|         }
 | |
|       },
 | |
|       "required": [
 | |
|         "id",
 | |
|         "options"
 | |
|       ]
 | |
|     },
 | |
|     "AndOrTagConfigJson": {
 | |
|       "type": "object",
 | |
|       "properties": {
 | |
|         "and": {
 | |
|           "type": "array",
 | |
|           "items": {
 | |
|             "anyOf": [
 | |
|               {
 | |
|                 "type": "string"
 | |
|               },
 | |
|               {
 | |
|                 "$ref": "#/definitions/AndOrTagConfigJson"
 | |
|               }
 | |
|             ]
 | |
|           }
 | |
|         },
 | |
|         "or": {
 | |
|           "type": "array",
 | |
|           "items": {
 | |
|             "anyOf": [
 | |
|               {
 | |
|                 "type": "string"
 | |
|               },
 | |
|               {
 | |
|                 "$ref": "#/definitions/AndOrTagConfigJson"
 | |
|               }
 | |
|             ]
 | |
|           }
 | |
|         }
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| } |