forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			218 lines
		
	
	
		
			No EOL
		
	
	
		
			5.2 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			218 lines
		
	
	
		
			No EOL
		
	
	
		
			5.2 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
| {
 | |
|   "id": "note",
 | |
|   "name": {
 | |
|     "en": "OpenStreetMap notes"
 | |
|   },
 | |
|   "description": "This layer shows notes on OpenStreetMap. Having this layer in your theme will trigger the 'add new note' functionality in the 'addNewPoint'-popup (or if your theme has no presets, it'll enable adding notes)",
 | |
|   "source": {
 | |
|     "osmTags": "id~*",
 | |
|     "geoJson": "https://api.openstreetmap.org/api/0.6/notes.json?limit=10000&closed=7&bbox={x_min},{y_min},{x_max},{y_max}",
 | |
|     "geoJsonZoomLevel": 12,
 | |
|     "maxCacheAge": 0
 | |
|   },
 | |
|   "minzoom": 10,
 | |
|   "title": {
 | |
|     "render": {
 | |
|       "en": "Note"
 | |
|     },
 | |
|     "mappings": [
 | |
|       {
 | |
|         "if": "closed_at~*",
 | |
|         "then": {
 | |
|           "en": "Closed note"
 | |
|         }
 | |
|       }
 | |
|     ]
 | |
|   },
 | |
|   "calculatedTags": [
 | |
|     "_first_comment:=feat.get('comments')[0].text.toLowerCase()",
 | |
|     "_opened_by_anonymous_user:=feat.get('comments')[0].user === undefined",
 | |
|     "_first_user:=feat.get('comments')[0].user",
 | |
|     "_first_user_lc:=feat.get('comments')[0].user?.toLowerCase()",
 | |
|     "_first_user_id:=feat.get('comments')[0].uid",
 | |
|     "_is_import_note:=(() => {const lines = feat.properties['_first_comment'].split('\\n'); const matchesMapCompleteURL = lines.map(l => l.match(\".*https://mapcomplete.osm.be/\\([a-zA-Z_-]+\\)\\(.html\\).*#import\")); const matchedIndexes = matchesMapCompleteURL.map((doesMatch, i) => [doesMatch !== null, i]).filter(v => v[0]).map(v => v[1]); return matchedIndexes[0] })()"
 | |
|   ],
 | |
|   "titleIcons": [
 | |
|     {
 | |
|       "render": "<a href='https://openstreetmap.org/note/{id}' target='_blank'><img src='./assets/svg/osm-logo-us.svg'></a>"
 | |
|     }
 | |
|   ],
 | |
|   "tagRenderings": [
 | |
|     {
 | |
|       "id": "conversation",
 | |
|       "render": "{visualize_note_comments()}"
 | |
|     },
 | |
|     {
 | |
|       "id": "add_image",
 | |
|       "render": "{add_image_to_note()}"
 | |
|     },
 | |
|     {
 | |
|       "id": "comment",
 | |
|       "render": "{add_note_comment()}"
 | |
|     },
 | |
|     {
 | |
|       "id": "report-contributor",
 | |
|       "render": {
 | |
|         "en": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={_first_user_id}&reportable_type=User' target='_blank' class='subtle'>Report {_first_user} as spam</a>"
 | |
|       },
 | |
|       "condition": "_opened_by_anonymous_user=false"
 | |
|     },
 | |
|     {
 | |
|       "id": "report-note",
 | |
|       "render": {
 | |
|         "en": "<a href='https://www.openstreetmap.org/reports/new?reportable_id={id}&reportable_type=Note' target='_blank'>Report this note as spam or inappropriate</a>"
 | |
|       }
 | |
|     }
 | |
|   ],
 | |
|   "mapRendering": [
 | |
|     {
 | |
|       "location": [
 | |
|         "point",
 | |
|         "centroid"
 | |
|       ],
 | |
|       "icon": {
 | |
|         "render": "./assets/svg/note.svg",
 | |
|         "mappings": [
 | |
|           {
 | |
|             "if": "closed_at~*",
 | |
|             "then": "./assets/svg/resolved.svg"
 | |
|           }
 | |
|         ]
 | |
|       },
 | |
|       "iconSize": "40,40,bottom"
 | |
|     }
 | |
|   ],
 | |
|   "filter": [
 | |
|     {
 | |
|       "id": "search",
 | |
|       "options": [
 | |
|         {
 | |
|           "osmTags": "_first_comment~.*{search}.*",
 | |
|           "fields": [
 | |
|             {
 | |
|               "name": "search"
 | |
|             }
 | |
|           ],
 | |
|           "question": {
 | |
|             "en": "Should mention {search} in the first comment"
 | |
|           }
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       "id": "not",
 | |
|       "options": [
 | |
|         {
 | |
|           "osmTags": "_first_comment!~.*{search}.*",
 | |
|           "fields": [
 | |
|             {
 | |
|               "name": "search"
 | |
|             }
 | |
|           ],
 | |
|           "question": {
 | |
|             "en": "Should <b>not</b> mention {search} in the first comment"
 | |
|           }
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       "id": "opened_by",
 | |
|       "options": [
 | |
|         {
 | |
|           "osmTags": "_first_user_lc~.*{search}.*",
 | |
|           "fields": [
 | |
|             {
 | |
|               "name": "search"
 | |
|             }
 | |
|           ],
 | |
|           "question": {
 | |
|             "en": "Opened by {search}"
 | |
|           }
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       "id": "not_opened_by",
 | |
|       "options": [
 | |
|         {
 | |
|           "osmTags": "_first_user_lc!~.*{search}.*",
 | |
|           "fields": [
 | |
|             {
 | |
|               "name": "search"
 | |
|             }
 | |
|           ],
 | |
|           "question": {
 | |
|             "en": "<b>Not</b> opened by {search}"
 | |
|           }
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       "id": "opened_before",
 | |
|       "options": [
 | |
|         {
 | |
|           "osmTags": "date_created<{search}",
 | |
|           "fields": [
 | |
|             {
 | |
|               "name": "search",
 | |
|               "type": "date"
 | |
|             }
 | |
|           ],
 | |
|           "question": {
 | |
|             "en": "Opened before {search}"
 | |
|           }
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       "id": "opened_after",
 | |
|       "options": [
 | |
|         {
 | |
|           "osmTags": "date_created>{search}",
 | |
|           "fields": [
 | |
|             {
 | |
|               "name": "search",
 | |
|               "type": "date"
 | |
|             }
 | |
|           ],
 | |
|           "question": {
 | |
|             "en": "Opened after {search}"
 | |
|           }
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       "id": "anonymous",
 | |
|       "options": [
 | |
|         {
 | |
|           "osmTags": "_opened_by_anonymous_user=true",
 | |
|           "question": {
 | |
|             "en": "Opened by anonymous user"
 | |
|           }
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       "id": "is_open",
 | |
|       "options": [
 | |
|         {
 | |
|           "osmTags": "closed_at=",
 | |
|           "question": {
 | |
|             "en": "Only show open notes"
 | |
|           }
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       "id": "no_imports",
 | |
|       "options": [
 | |
|         {
 | |
|           "osmTags": "_is_import_note=",
 | |
|           "question": {
 | |
|             "en": "Hide import notes"
 | |
|           }
 | |
|         }
 | |
|       ]
 | |
|     }
 | |
|   ]
 | |
| } |