forked from MapComplete/MapComplete
		
	Add small overview document for every layer
This commit is contained in:
		
							parent
							
								
									eba52836b2
								
							
						
					
					
						commit
						77e9151095
					
				
					 41 changed files with 1325 additions and 2040 deletions
				
			
		|  | @ -7,6 +7,7 @@ import Combine from "../UI/Base/Combine"; | |||
| import Title from "../UI/Base/Title"; | ||||
| import List from "../UI/Base/List"; | ||||
| import DependencyCalculator from "../Models/ThemeConfig/DependencyCalculator"; | ||||
| import Link from "../UI/Base/Link"; | ||||
| 
 | ||||
| export class AllKnownLayouts { | ||||
| 
 | ||||
|  | @ -33,14 +34,9 @@ export class AllKnownLayouts { | |||
|         } | ||||
|         return allLayers | ||||
|     } | ||||
| 
 | ||||
|     public static GenLayerOverviewText(): BaseUIElement { | ||||
|         for (const id of AllKnownLayers.priviliged_layers) { | ||||
|             if (!AllKnownLayers.sharedLayers.has(id)) { | ||||
|                 throw "Priviliged layer definition not found: " + id | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|      | ||||
|      | ||||
|     public static GenOverviewsForSingleLayer(callback: (layer: LayerConfig, element: BaseUIElement) => void): void { | ||||
|         const allLayers: LayerConfig[] = Array.from(AllKnownLayers.sharedLayers.values()) | ||||
|             .filter(layer => AllKnownLayers.priviliged_layers.indexOf(layer.id) < 0) | ||||
| 
 | ||||
|  | @ -65,10 +61,54 @@ export class AllKnownLayouts { | |||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         let popularLayerCutoff = 2; | ||||
|         const popuparLayers = allLayers.filter(layer => themesPerLayer.get(layer.id)?.length >= 2) | ||||
|         // Determine the cross-dependencies
 | ||||
|         const layerIsNeededBy : Map<string, string[]> = new Map<string, string[]>() | ||||
| 
 | ||||
|         for (const layer of allLayers) { | ||||
|             for (const dep of DependencyCalculator.getLayerDependencies(layer)) { | ||||
|                 const dependency = dep.neededLayer | ||||
|                 if(!layerIsNeededBy.has(dependency)){ | ||||
|                     layerIsNeededBy.set(dependency, []) | ||||
|                 } | ||||
|                 layerIsNeededBy.get(dependency).push(layer.id) | ||||
|             } | ||||
| 
 | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         AllKnownLayers.sharedLayers.forEach((layer) => { | ||||
|             const element = layer.GenerateDocumentation(themesPerLayer.get(layer.id),layerIsNeededBy,DependencyCalculator.getLayerDependencies(layer)) | ||||
|             callback(layer, element) | ||||
|         }) | ||||
|     } | ||||
| 
 | ||||
|     public static GenLayerOverviewText(): BaseUIElement { | ||||
|         for (const id of AllKnownLayers.priviliged_layers) { | ||||
|             if (!AllKnownLayers.sharedLayers.has(id)) { | ||||
|                 throw "Priviliged layer definition not found: " + id | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         const allLayers: LayerConfig[] = Array.from(AllKnownLayers.sharedLayers.values()) | ||||
|             .filter(layer => AllKnownLayers.priviliged_layers.indexOf(layer.id) < 0) | ||||
| 
 | ||||
|         const builtinLayerIds: Set<string> = new Set<string>() | ||||
|         allLayers.forEach(l => builtinLayerIds.add(l.id)) | ||||
| 
 | ||||
|         const themesPerLayer = new Map<string, string[]>() | ||||
| 
 | ||||
|         for (const layout of Array.from(AllKnownLayouts.allKnownLayouts.values())) { | ||||
|             for (const layer of layout.layers) { | ||||
|                 if (!builtinLayerIds.has(layer.id)) { | ||||
|                     continue | ||||
|                 } | ||||
|                 if (!themesPerLayer.has(layer.id)) { | ||||
|                     themesPerLayer.set(layer.id, []) | ||||
|                 } | ||||
|                 themesPerLayer.get(layer.id).push(layout.id) | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         const unpopularLayers = allLayers.filter(layer => themesPerLayer.get(layer.id)?.length < 2) | ||||
| 
 | ||||
|         // Determine the cross-dependencies
 | ||||
|         const layerIsNeededBy : Map<string, string[]> = new Map<string, string[]>() | ||||
|  | @ -85,6 +125,8 @@ export class AllKnownLayouts { | |||
|              | ||||
|         } | ||||
|          | ||||
|          | ||||
|          | ||||
|         return new Combine([ | ||||
|             new Title("Special and other useful layers", 1), | ||||
|             "MapComplete has a few data layers available in the theme which have special properties through builtin-hooks. Furthermore, there are some normal layers (which are built from normal Theme-config files) but are so general that they get a mention here.", | ||||
|  | @ -94,14 +136,8 @@ export class AllKnownLayouts { | |||
|                 .map(id => AllKnownLayers.sharedLayers.get(id)) | ||||
|                 .map((l) => l.GenerateDocumentation(themesPerLayer.get(l.id), layerIsNeededBy, DependencyCalculator.getLayerDependencies(l),AllKnownLayers.added_by_default.indexOf(l.id) >= 0, AllKnownLayers.no_include.indexOf(l.id) < 0)), | ||||
|             new Title("Normal layers", 1), | ||||
|             "The following layers are included in MapComplete", | ||||
|             new Title("Frequently reused layers", 2), | ||||
|             "The following layers are used by at least " + popularLayerCutoff + " mapcomplete themes and might be interesting for your custom theme too", | ||||
|             new List(popuparLayers.map(layer => "[" + layer.id + "](#" + layer.id + ")")), | ||||
|             ...popuparLayers.map((layer) => layer.GenerateDocumentation(themesPerLayer.get(layer.id),layerIsNeededBy,DependencyCalculator.getLayerDependencies(layer))), | ||||
|             new List(unpopularLayers.map(layer => "[" + layer.id + "](#" + layer.id + ")")), | ||||
|             ...unpopularLayers.map(layer => layer.GenerateDocumentation(themesPerLayer.get(layer.id),layerIsNeededBy,DependencyCalculator.getLayerDependencies(layer)) | ||||
|             ) | ||||
|             "The following layers are included in MapComplete:", | ||||
|             new List(Array.from(AllKnownLayers.sharedLayers.keys()).map(id => new Link(id, "./Layers/"+id+".md"))) | ||||
|         ]) | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -3,7 +3,9 @@ | |||
|  Metatags  | ||||
| ========== | ||||
| 
 | ||||
|  ## Table of contents | ||||
| 
 | ||||
| 
 | ||||
| ## Table of contents | ||||
| 
 | ||||
| 1. [Metatags](#metatags) | ||||
|   - [Metatags calculated by MapComplete](#metatags-calculated-by-mapcomplete) | ||||
|  | @ -13,7 +15,7 @@ | |||
|     + [_length, _length:km](#_length,-_lengthkm) | ||||
|     + [Theme-defined keys](#theme-defined-keys) | ||||
|     + [_country](#_country) | ||||
|     + [_isOpen, _isOpen:description](#_isopen,-_isopendescription) | ||||
|     + [_isOpen](#_isopen) | ||||
|     + [_direction:numerical, _direction:leftright](#_directionnumerical,-_direction:leftright) | ||||
|     + [_now:date, _now:datetime, _loaded:date, _loaded:_datetime](#_nowdate,-_now:datetime,-_loaded:date,-_loaded:_datetime) | ||||
|     + [_last_edit:contributor, _last_edit:contributor:uid, _last_edit:changeset, _last_edit:timestamp, _version_number, _backend](#_last_editcontributor,-_last_edit:contributor:uid,-_last_edit:changeset,-_last_edit:timestamp,-_version_number,-_backend) | ||||
|  | @ -27,7 +29,9 @@ | |||
|     + [memberships](#memberships) | ||||
|     + [get](#get) | ||||
| 
 | ||||
|  Metatags are extra tags available, in order to display more data or to give better questions. | ||||
| 
 | ||||
| 
 | ||||
| Metatags are extra tags available, in order to display more data or to give better questions. | ||||
| 
 | ||||
| The are calculated automatically on every feature when the data arrives in the webbrowser. This document gives an overview of the available metatags. | ||||
| 
 | ||||
|  | @ -104,7 +108,7 @@ The country code of the property (with latlon2country) | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### _isOpen, _isOpen:description  | ||||
| ### _isOpen  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | @ -160,7 +164,9 @@ Rewrites tags from 'generic_key:both:property' as 'generic_key:left:property' an | |||
| 
 | ||||
| Adds the geometry type as property. This is identical to the GoeJson geometry type and is one of `Point`,`LineString`, `Polygon` and exceptionally `MultiPolygon` or `MultiLineString` | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  Calculating tags with Javascript  | ||||
| ---------------------------------- | ||||
|  |  | |||
|  | @ -3,7 +3,9 @@ | |||
|  Available types for text fields  | ||||
| ================================= | ||||
| 
 | ||||
|  ## Table of contents | ||||
| 
 | ||||
| 
 | ||||
| ## Table of contents | ||||
| 
 | ||||
| 1. [Available types for text fields](#available-types-for-text-fields) | ||||
|     + [string](#string) | ||||
|  | @ -23,37 +25,51 @@ | |||
|     + [opening_hours](#opening_hours) | ||||
|     + [color](#color) | ||||
| 
 | ||||
|  The listed types here trigger a special input element. Use them in `tagrendering.freeform.type` of your tagrendering to activate them  | ||||
| 
 | ||||
| 
 | ||||
| The listed types here trigger a special input element. Use them in `tagrendering.freeform.type` of your tagrendering to activate them | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### string  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| A basic string  | ||||
| A basic string | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### text  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| A string, but allows input of longer strings more comfortably and supports newlines (a text area)  | ||||
| A string, but allows input of longer strings more comfortably and supports newlines (a text area) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### date  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| A date  | ||||
| A date | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### direction  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| A geographical direction, in degrees. 0° is north, 90° is east, ... Will return a value between 0 (incl) and 360 (excl)  | ||||
| A geographical direction, in degrees. 0° is north, 90° is east, ... Will return a value between 0 (incl) and 360 (excl) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### length  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| A geographical length in meters (rounded at two points). Will give an extra minimap with a measurement tool. Arguments: [ zoomlevel, preferredBackgroundMapType (comma separated) ], e.g. `["21", "map,photo"]  | ||||
| A geographical length in meters (rounded at two points). Will give an extra minimap with a measurement tool. Arguments: [ zoomlevel, preferredBackgroundMapType (comma separated) ], e.g. `["21", "map,photo"] | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### wikidata  | ||||
| 
 | ||||
|  | @ -98,55 +114,73 @@ removePostfixes | remove these snippets of text from the end of the passed strin | |||
|         } | ||||
|     ] | ||||
| } | ||||
| ```  | ||||
| ``` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### int  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| A number  | ||||
| A number | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### nat  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| A positive number or zero  | ||||
| A positive number or zero | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### pnat  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| A strict positive number  | ||||
| A strict positive number | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### float  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| A decimal  | ||||
| A decimal | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### pfloat  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| A positive decimal (incl zero)  | ||||
| A positive decimal (incl zero) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### email  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| An email adress  | ||||
| An email adress | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### url  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| A url  | ||||
| A url | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### phone  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| A phone number  | ||||
| A phone number | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### opening_hours  | ||||
| 
 | ||||
|  | @ -187,7 +221,9 @@ postfix | Piece of text that will always be added to the end of the generated op | |||
| } | ||||
| ``` | ||||
| 
 | ||||
| *Don't forget to pass the prefix and postfix in the rendering as well*: `{opening_hours_table(opening_hours,yes @ &LPARENS, &RPARENS )`  | ||||
| *Don't forget to pass the prefix and postfix in the rendering as well*: `{opening_hours_table(opening_hours,yes @ &LPARENS, &RPARENS )` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### color  | ||||
| 
 | ||||
|  |  | |||
|  | @ -3,7 +3,9 @@ | |||
|  Special tag renderings  | ||||
| ======================== | ||||
| 
 | ||||
|  ## Table of contents | ||||
| 
 | ||||
| 
 | ||||
| ## Table of contents | ||||
| 
 | ||||
| 1. [Special tag renderings](#special-tag-renderings) | ||||
|     + [all_tags](#all_tags) | ||||
|  | @ -51,7 +53,13 @@ | |||
|     + [auto_apply](#auto_apply) | ||||
|       * [Example usage of auto_apply](#example-usage-of-auto_apply) | ||||
| 
 | ||||
|  In a tagrendering, some special values are substituted by an advanced UI-element. This allows advanced features and visualizations to be reused by custom themes or even to query third-party API's. General usage is `{func_name()}`, `{func_name(arg, someotherarg)}` or `{func_name(args):cssStyle}`. Note that you _do not_ need to use quotes around your arguments, the comma is enough to separate them. This also implies you cannot use a comma in your args  | ||||
| 
 | ||||
| 
 | ||||
| In a tagrendering, some special values are substituted by an advanced UI-element. This allows advanced features and visualizations to be reused by custom themes or even to query third-party API's. | ||||
| 
 | ||||
| General usage is `{func_name()}`, `{func_name(arg, someotherarg)}` or `{func_name(args):cssStyle}`. Note that you _do not_ need to use quotes around your arguments, the comma is enough to separate them. This also implies you cannot use a comma in your args | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### all_tags  | ||||
| 
 | ||||
|  | @ -59,7 +67,9 @@ | |||
| 
 | ||||
| #### Example usage of all_tags  | ||||
| 
 | ||||
|  `{all_tags()}`  | ||||
|  `{all_tags()}` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### image_carousel  | ||||
| 
 | ||||
|  | @ -72,7 +82,9 @@ image key/prefix (multiple values allowed if comma-seperated) | image,mapillary, | |||
| 
 | ||||
| #### Example usage of image_carousel  | ||||
| 
 | ||||
|  `{image_carousel(image,mapillary,image,wikidata,wikimedia_commons,image,image)}`  | ||||
|  `{image_carousel(image,mapillary,image,wikidata,wikimedia_commons,image,image)}` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### image_upload  | ||||
| 
 | ||||
|  | @ -86,7 +98,9 @@ label | Add image | The text to show on the button | |||
| 
 | ||||
| #### Example usage of image_upload  | ||||
| 
 | ||||
|  `{image_upload(image,Add image)}`  | ||||
|  `{image_upload(image,Add image)}` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### wikipedia  | ||||
| 
 | ||||
|  | @ -99,7 +113,9 @@ keyToShowWikipediaFor | wikidata | Use the wikidata entry from this key to show | |||
| 
 | ||||
| #### Example usage of wikipedia  | ||||
| 
 | ||||
|  `{wikipedia()}` is a basic example, `{wikipedia(name:etymology:wikidata)}` to show the wikipedia page of whom the feature was named after. Also remember that these can be styled, e.g. `{wikipedia():max-height: 10rem}` to limit the height  | ||||
|  `{wikipedia()}` is a basic example, `{wikipedia(name:etymology:wikidata)}` to show the wikipedia page of whom the feature was named after. Also remember that these can be styled, e.g. `{wikipedia():max-height: 10rem}` to limit the height | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### minimap  | ||||
| 
 | ||||
|  | @ -113,7 +129,9 @@ idKey | id | (Matches all resting arguments) This argument should be the key of | |||
| 
 | ||||
| #### Example usage of minimap  | ||||
| 
 | ||||
|  `{minimap()}`, `{minimap(17, id, _list_of_embedded_feature_ids_calculated_by_calculated_tag):height:10rem; border: 2px solid black}`  | ||||
|  `{minimap()}`, `{minimap(17, id, _list_of_embedded_feature_ids_calculated_by_calculated_tag):height:10rem; border: 2px solid black}` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### sided_minimap  | ||||
| 
 | ||||
|  | @ -126,7 +144,9 @@ side | _undefined_ | The side to show, either `left` or `right` | |||
| 
 | ||||
| #### Example usage of sided_minimap  | ||||
| 
 | ||||
|  `{sided_minimap(left)}`  | ||||
|  `{sided_minimap(left)}` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### reviews  | ||||
| 
 | ||||
|  | @ -140,7 +160,9 @@ fallback | _undefined_ | The identifier to use, if <i>tags[subjectKey]</i> as sp | |||
| 
 | ||||
| #### Example usage of reviews  | ||||
| 
 | ||||
|  `{reviews()}` for a vanilla review, `{reviews(name, play_forest)}` to review a play forest. If a name is known, the name will be used as identifier, otherwise 'play_forest' is used  | ||||
|  `{reviews()}` for a vanilla review, `{reviews(name, play_forest)}` to review a play forest. If a name is known, the name will be used as identifier, otherwise 'play_forest' is used | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### opening_hours_table  | ||||
| 
 | ||||
|  | @ -155,7 +177,9 @@ postfix | _empty string_ | Remove this string from the end of the value before p | |||
| 
 | ||||
| #### Example usage of opening_hours_table  | ||||
| 
 | ||||
|  A normal opening hours table can be invoked with `{opening_hours_table()}`. A table for e.g. conditional access with opening hours can be `{opening_hours_table(access:conditional, no @ &LPARENS, &RPARENS)}`  | ||||
|  A normal opening hours table can be invoked with `{opening_hours_table()}`. A table for e.g. conditional access with opening hours can be `{opening_hours_table(access:conditional, no @ &LPARENS, &RPARENS)}` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### live  | ||||
| 
 | ||||
|  | @ -170,7 +194,9 @@ path | _undefined_ | The path (or shorthand) that should be returned | |||
| 
 | ||||
| #### Example usage of live  | ||||
| 
 | ||||
|  {live({url},{url:format},hour)} {live(https://data.mobility.brussels/bike/api/counts/?request=live&featureID=CB2105,hour:data.hour_cnt;day:data.day_cnt;year:data.year_cnt,hour)}  | ||||
|  {live({url},{url:format},hour)} {live(https://data.mobility.brussels/bike/api/counts/?request=live&featureID=CB2105,hour:data.hour_cnt;day:data.day_cnt;year:data.year_cnt,hour)} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### histogram  | ||||
| 
 | ||||
|  | @ -186,7 +212,9 @@ colors* | _undefined_ | (Matches all resting arguments - optional) Matches a reg | |||
| 
 | ||||
| #### Example usage of histogram  | ||||
| 
 | ||||
|  `{histogram('some_key')}` with properties being `{some_key: ['a','b','a','c']} to create a histogram  | ||||
|  `{histogram('some_key')}` with properties being `{some_key: ['a','b','a','c']} to create a histogram | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### share_link  | ||||
| 
 | ||||
|  | @ -199,7 +227,9 @@ url | _undefined_ | The url to share (default: current URL) | |||
| 
 | ||||
| #### Example usage of share_link  | ||||
| 
 | ||||
|  {share_link()} to share the current page, {share_link(<some_url>)} to share the given url  | ||||
|  {share_link()} to share the current page, {share_link(<some_url>)} to share the given url | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### canonical  | ||||
| 
 | ||||
|  | @ -212,7 +242,9 @@ key | _undefined_ | The key of the tag to give the canonical text for | |||
| 
 | ||||
| #### Example usage of canonical  | ||||
| 
 | ||||
|  {canonical(length)} will give 42 metre (in french)  | ||||
|  {canonical(length)} will give 42 metre (in french) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### import_button  | ||||
| 
 | ||||
|  | @ -273,7 +305,9 @@ max_snap_distance | 5 | The maximum distance that the imported point will be mov | |||
| 
 | ||||
| #### Example usage of import_button  | ||||
| 
 | ||||
|  `{import_button(,,Import this data into OpenStreetMap,./assets/svg/addSmall.svg,,5)}`  | ||||
|  `{import_button(,,Import this data into OpenStreetMap,./assets/svg/addSmall.svg,,5)}` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### import_way_button  | ||||
| 
 | ||||
|  | @ -338,7 +372,9 @@ snap_to_layer_max_distance | 0.1 | Distance to distort the geometry to snap to t | |||
| 
 | ||||
| #### Example usage of import_way_button  | ||||
| 
 | ||||
|  `{import_way_button(,,Import this data into OpenStreetMap,./assets/svg/addSmall.svg,,5,,1,,0.1)}`  | ||||
|  `{import_way_button(,,Import this data into OpenStreetMap,./assets/svg/addSmall.svg,,5,,1,,0.1)}` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### conflate_button  | ||||
| 
 | ||||
|  | @ -398,7 +434,9 @@ way_to_conflate | _undefined_ | The key, of which the corresponding value is the | |||
| 
 | ||||
| #### Example usage of conflate_button  | ||||
| 
 | ||||
|  `{conflate_button(,,Import this data into OpenStreetMap,./assets/svg/addSmall.svg,)}`  | ||||
|  `{conflate_button(,,Import this data into OpenStreetMap,./assets/svg/addSmall.svg,)}` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### multi_apply  | ||||
| 
 | ||||
|  | @ -415,7 +453,9 @@ overwrite | _undefined_ | If set to 'true', the tags on the other objects will a | |||
| 
 | ||||
| #### Example usage of multi_apply  | ||||
| 
 | ||||
|  {multi_apply(_features_with_the_same_name_within_100m, name:etymology:wikidata;name:etymology, Apply etymology information on all nearby objects with the same name)}  | ||||
|  {multi_apply(_features_with_the_same_name_within_100m, name:etymology:wikidata;name:etymology, Apply etymology information on all nearby objects with the same name)} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### tag_apply  | ||||
| 
 | ||||
|  | @ -444,7 +484,9 @@ id_of_object_to_apply_this_one | _undefined_ | If specified, applies the the tag | |||
| 
 | ||||
| #### Example usage of tag_apply  | ||||
| 
 | ||||
|  `{tag_apply(survey_date=$_now:date, Surveyed today!)}`, `{tag_apply(addr:street=$addr:street, Apply the address, apply_icon.svg, _closest_osm_id)  | ||||
|  `{tag_apply(survey_date=$_now:date, Surveyed today!)}`, `{tag_apply(addr:street=$addr:street, Apply the address, apply_icon.svg, _closest_osm_id) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### export_as_gpx  | ||||
| 
 | ||||
|  | @ -452,7 +494,9 @@ id_of_object_to_apply_this_one | _undefined_ | If specified, applies the the tag | |||
| 
 | ||||
| #### Example usage of export_as_gpx  | ||||
| 
 | ||||
|  `{export_as_gpx()}`  | ||||
|  `{export_as_gpx()}` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### export_as_geojson  | ||||
| 
 | ||||
|  | @ -460,7 +504,9 @@ id_of_object_to_apply_this_one | _undefined_ | If specified, applies the the tag | |||
| 
 | ||||
| #### Example usage of export_as_geojson  | ||||
| 
 | ||||
|  `{export_as_geojson()}`  | ||||
|  `{export_as_geojson()}` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### open_in_iD  | ||||
| 
 | ||||
|  | @ -468,7 +514,9 @@ id_of_object_to_apply_this_one | _undefined_ | If specified, applies the the tag | |||
| 
 | ||||
| #### Example usage of open_in_iD  | ||||
| 
 | ||||
|  `{open_in_iD()}`  | ||||
|  `{open_in_iD()}` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### clear_location_history  | ||||
| 
 | ||||
|  | @ -476,7 +524,9 @@ id_of_object_to_apply_this_one | _undefined_ | If specified, applies the the tag | |||
| 
 | ||||
| #### Example usage of clear_location_history  | ||||
| 
 | ||||
|  `{clear_location_history()}`  | ||||
|  `{clear_location_history()}` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ### auto_apply  | ||||
| 
 | ||||
|  |  | |||
|  | @ -72,7 +72,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "defibrillator", | ||||
|       "description": "Layer 'Defibrillators' shows <span class='line-through'>defibrillator</span> with a fixed text, namely 'There is no info about the type of device' (in the MapComplete.osm.be theme 'Open AED Map') Picking this answer will delete the key defibrillator.", | ||||
|       "description": "Layer 'Defibrillators' shows  with a fixed text, namely 'There is no info about the type of device' (in the MapComplete.osm.be theme 'Open AED Map') Picking this answer will delete the key defibrillator.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -39,14 +39,26 @@ | |||
|       "key": "website", | ||||
|       "description": "Layer 'Bicycle library' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Bicycle libraries')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:website", | ||||
|       "description": "Layer 'Bicycle library' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Bicycle libraries')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "phone", | ||||
|       "description": "Layer 'Bicycle library' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Bicycle libraries')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:phone", | ||||
|       "description": "Layer 'Bicycle library' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Bicycle libraries')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "email", | ||||
|       "description": "Layer 'Bicycle library' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Bicycle libraries')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:email", | ||||
|       "description": "Layer 'Bicycle library' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Bicycle libraries')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "opening_hours", | ||||
|       "description": "Layer 'Bicycle library' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Bicycle libraries')" | ||||
|  | @ -57,12 +69,12 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "fee", | ||||
|       "description": "Layer 'Bicycle library' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle libraries')", | ||||
|       "description": "Layer 'Bicycle library' shows fee=no with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle libraries')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|       "key": "charge", | ||||
|       "description": "Layer 'Bicycle library' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle libraries') Picking this answer will delete the key charge.", | ||||
|       "description": "Layer 'Bicycle library' shows fee=no with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle libraries') Picking this answer will delete the key charge.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -37,12 +37,12 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "fee", | ||||
|       "description": "Layer 'Binoculars' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Binoculars')", | ||||
|       "description": "Layer 'Binoculars' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Binoculars')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|       "key": "charge", | ||||
|       "description": "Layer 'Binoculars' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Binoculars') Picking this answer will delete the key charge.", | ||||
|       "description": "Layer 'Binoculars' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Binoculars') Picking this answer will delete the key charge.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
|   "data_format": 1, | ||||
|   "project": { | ||||
|     "name": "MapComplete Open Bookcase Map", | ||||
|     "description": "A public bookcase is a small streetside cabinet, box, old phone boot or some other objects where books are stored", | ||||
|     "description": "A public bookcase is a small streetside cabinet, box, old phone booth or some other objects where books are stored", | ||||
|     "project_url": "https://mapcomplete.osm.be/bookcases", | ||||
|     "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", | ||||
|     "icon_url": "https://mapcomplete.osm.be/assets/themes/bookcases/bookcase.svg", | ||||
|  | @ -37,12 +37,12 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "noname", | ||||
|       "description": "Layer 'Bookcases' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'This bookcase doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", | ||||
|       "description": "Layer 'Bookcases' shows noname=yes with a fixed text, namely 'This bookcase doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "name", | ||||
|       "description": "Layer 'Bookcases' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'This bookcase doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key name.", | ||||
|       "description": "Layer 'Bookcases' shows noname=yes with a fixed text, namely 'This bookcase doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key name.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -76,7 +76,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "indoor", | ||||
|       "description": "Layer 'Bookcases' shows <span class='line-through'>indoor</span> with a fixed text, namely 'This bookcase is located outdoors' (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key indoor.", | ||||
|       "description": "Layer 'Bookcases' shows  with a fixed text, namely 'This bookcase is located outdoors' (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key indoor.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -99,22 +99,22 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "brand", | ||||
|       "description": "Layer 'Bookcases' shows brand=Little Free Library&<span class='line-through'>nobrand</span> with a fixed text, namely 'Part of the network 'Little Free Library'' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", | ||||
|       "description": "Layer 'Bookcases' shows brand=Little Free Library with a fixed text, namely 'Part of the network 'Little Free Library'' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", | ||||
|       "value": "Little Free Library" | ||||
|     }, | ||||
|     { | ||||
|       "key": "nobrand", | ||||
|       "description": "Layer 'Bookcases' shows brand=Little Free Library&<span class='line-through'>nobrand</span> with a fixed text, namely 'Part of the network 'Little Free Library'' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key nobrand.", | ||||
|       "description": "Layer 'Bookcases' shows brand=Little Free Library with a fixed text, namely 'Part of the network 'Little Free Library'' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key nobrand.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "nobrand", | ||||
|       "description": "Layer 'Bookcases' shows nobrand=yes&<span class='line-through'>brand</span> with a fixed text, namely 'This public bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", | ||||
|       "description": "Layer 'Bookcases' shows nobrand=yes with a fixed text, namely 'This public bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "brand", | ||||
|       "description": "Layer 'Bookcases' shows nobrand=yes&<span class='line-through'>brand</span> with a fixed text, namely 'This public bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key brand.", | ||||
|       "description": "Layer 'Bookcases' shows nobrand=yes with a fixed text, namely 'This public bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key brand.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -123,17 +123,17 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "nobrand", | ||||
|       "description": "Layer 'Bookcases' shows nobrand=yes&<span class='line-through'>brand</span>&<span class='line-through'>ref</span> with a fixed text, namely 'This bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", | ||||
|       "description": "Layer 'Bookcases' shows nobrand=yes with a fixed text, namely 'This bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "brand", | ||||
|       "description": "Layer 'Bookcases' shows nobrand=yes&<span class='line-through'>brand</span>&<span class='line-through'>ref</span> with a fixed text, namely 'This bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key brand.", | ||||
|       "description": "Layer 'Bookcases' shows nobrand=yes with a fixed text, namely 'This bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key brand.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "ref", | ||||
|       "description": "Layer 'Bookcases' shows nobrand=yes&<span class='line-through'>brand</span>&<span class='line-through'>ref</span> with a fixed text, namely 'This bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key ref.", | ||||
|       "description": "Layer 'Bookcases' shows nobrand=yes with a fixed text, namely 'This bookcase is not part of a bigger network' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Bookcase Map') Picking this answer will delete the key ref.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -83,14 +83,26 @@ | |||
|       "key": "website", | ||||
|       "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Cafés and pubs')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:website", | ||||
|       "description": "Layer 'Cafés and pubs' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Cafés and pubs')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "email", | ||||
|       "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Cafés and pubs')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:email", | ||||
|       "description": "Layer 'Cafés and pubs' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Cafés and pubs')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "phone", | ||||
|       "description": "Layer 'Cafés and pubs' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Cafés and pubs')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:phone", | ||||
|       "description": "Layer 'Cafés and pubs' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Cafés and pubs')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "payment:cash", | ||||
|       "description": "Layer 'Cafés and pubs' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cafés and pubs')", | ||||
|  |  | |||
|  | @ -42,12 +42,12 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "fee", | ||||
|       "description": "Layer 'Camper sites' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Can be used for free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Campersites')", | ||||
|       "description": "Layer 'Camper sites' shows fee=no with a fixed text, namely 'Can be used for free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Campersites')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|       "key": "charge", | ||||
|       "description": "Layer 'Camper sites' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Can be used for free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Campersites') Picking this answer will delete the key charge.", | ||||
|       "description": "Layer 'Camper sites' shows fee=no with a fixed text, namely 'Can be used for free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Campersites') Picking this answer will delete the key charge.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -895,42 +895,42 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "fee", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|       "key": "fee:conditional", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key fee:conditional.", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key fee:conditional.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "charge", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key charge.", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key charge.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "authentication:none", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&authentication:none=yes with a fixed text, namely 'Free to use (without authenticating)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "fee", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|       "key": "fee:conditional", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key fee:conditional.", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key fee:conditional.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "charge", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key charge.", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key charge.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "authentication:none", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&<span class='line-through'>fee:conditional</span>&<span class='line-through'>charge</span>&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "description": "Layer 'Charging stations' shows fee=no&authentication:none=no with a fixed text, namely 'Free to use, but one has to authenticate' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|  | @ -945,12 +945,12 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "fee", | ||||
|       "description": "Layer 'Charging stations' shows fee=yes&<span class='line-through'>fee:conditional</span> with a fixed text, namely 'Paid use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "description": "Layer 'Charging stations' shows fee=yes with a fixed text, namely 'Paid use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "fee:conditional", | ||||
|       "description": "Layer 'Charging stations' shows fee=yes&<span class='line-through'>fee:conditional</span> with a fixed text, namely 'Paid use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key fee:conditional.", | ||||
|       "description": "Layer 'Charging stations' shows fee=yes with a fixed text, namely 'Paid use' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key fee:conditional.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -1111,7 +1111,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "level", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>level</span> with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key level.", | ||||
|       "description": "Layer 'Charging stations' shows  with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key level.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -1125,127 +1125,127 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "planned:amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", | ||||
|       "description": "Layer 'Charging stations' shows amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "construction:amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", | ||||
|       "description": "Layer 'Charging stations' shows amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "disused:amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", | ||||
|       "description": "Layer 'Charging stations' shows amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "operational_status", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", | ||||
|       "description": "Layer 'Charging stations' shows amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "description": "Layer 'Charging stations' shows amenity=charging_station with a fixed text, namely 'This charging station works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "value": "charging_station" | ||||
|     }, | ||||
|     { | ||||
|       "key": "planned:amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", | ||||
|       "description": "Layer 'Charging stations' shows operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "construction:amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", | ||||
|       "description": "Layer 'Charging stations' shows operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "disused:amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", | ||||
|       "description": "Layer 'Charging stations' shows operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "operational_status", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "description": "Layer 'Charging stations' shows operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "value": "broken" | ||||
|     }, | ||||
|     { | ||||
|       "key": "amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "description": "Layer 'Charging stations' shows operational_status=broken&amenity=charging_station with a fixed text, namely 'This charging station is broken' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "value": "charging_station" | ||||
|     }, | ||||
|     { | ||||
|       "key": "planned:amenity", | ||||
|       "description": "Layer 'Charging stations' shows planned:amenity=charging_station&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "description": "Layer 'Charging stations' shows planned:amenity=charging_station with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "value": "charging_station" | ||||
|     }, | ||||
|     { | ||||
|       "key": "construction:amenity", | ||||
|       "description": "Layer 'Charging stations' shows planned:amenity=charging_station&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", | ||||
|       "description": "Layer 'Charging stations' shows planned:amenity=charging_station with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "disused:amenity", | ||||
|       "description": "Layer 'Charging stations' shows planned:amenity=charging_station&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", | ||||
|       "description": "Layer 'Charging stations' shows planned:amenity=charging_station with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "operational_status", | ||||
|       "description": "Layer 'Charging stations' shows planned:amenity=charging_station&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", | ||||
|       "description": "Layer 'Charging stations' shows planned:amenity=charging_station with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "amenity", | ||||
|       "description": "Layer 'Charging stations' shows planned:amenity=charging_station&<span class='line-through'>construction:amenity</span>&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key amenity.", | ||||
|       "description": "Layer 'Charging stations' shows planned:amenity=charging_station with a fixed text, namely 'A charging station is planned here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "planned:amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&construction:amenity=charging_station&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", | ||||
|       "description": "Layer 'Charging stations' shows construction:amenity=charging_station with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "construction:amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&construction:amenity=charging_station&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "description": "Layer 'Charging stations' shows construction:amenity=charging_station with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "value": "charging_station" | ||||
|     }, | ||||
|     { | ||||
|       "key": "disused:amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&construction:amenity=charging_station&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", | ||||
|       "description": "Layer 'Charging stations' shows construction:amenity=charging_station with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key disused:amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "operational_status", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&construction:amenity=charging_station&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", | ||||
|       "description": "Layer 'Charging stations' shows construction:amenity=charging_station with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&construction:amenity=charging_station&<span class='line-through'>disused:amenity</span>&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key amenity.", | ||||
|       "description": "Layer 'Charging stations' shows construction:amenity=charging_station with a fixed text, namely 'A charging station is constructed here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "planned:amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&disused:amenity=charging_station&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", | ||||
|       "description": "Layer 'Charging stations' shows disused:amenity=charging_station with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key planned:amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "construction:amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&disused:amenity=charging_station&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", | ||||
|       "description": "Layer 'Charging stations' shows disused:amenity=charging_station with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key construction:amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "disused:amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&disused:amenity=charging_station&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "description": "Layer 'Charging stations' shows disused:amenity=charging_station with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations')", | ||||
|       "value": "charging_station" | ||||
|     }, | ||||
|     { | ||||
|       "key": "operational_status", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&disused:amenity=charging_station&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", | ||||
|       "description": "Layer 'Charging stations' shows disused:amenity=charging_station with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key operational_status.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "amenity", | ||||
|       "description": "Layer 'Charging stations' shows <span class='line-through'>planned:amenity</span>&<span class='line-through'>construction:amenity</span>&disused:amenity=charging_station&<span class='line-through'>operational_status</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key amenity.", | ||||
|       "description": "Layer 'Charging stations' shows disused:amenity=charging_station with a fixed text, namely 'This charging station has beed permanently disabled and is not in use anymore but is still visible' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Charging stations') Picking this answer will delete the key amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -36,14 +36,26 @@ | |||
|       "key": "website", | ||||
|       "description": "Layer 'Climbing club' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Open Climbing Map')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:website", | ||||
|       "description": "Layer 'Climbing club' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Open Climbing Map')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "email", | ||||
|       "description": "Layer 'Climbing club' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Open Climbing Map')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:email", | ||||
|       "description": "Layer 'Climbing club' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Open Climbing Map')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "phone", | ||||
|       "description": "Layer 'Climbing club' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Open Climbing Map')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:phone", | ||||
|       "description": "Layer 'Climbing club' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Open Climbing Map')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "opening_hours", | ||||
|       "description": "Layer 'Climbing club' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Open Climbing Map')" | ||||
|  | @ -202,14 +214,26 @@ | |||
|       "key": "website", | ||||
|       "description": "Layer 'Climbing gyms' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Open Climbing Map')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:website", | ||||
|       "description": "Layer 'Climbing gyms' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Open Climbing Map')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "phone", | ||||
|       "description": "Layer 'Climbing gyms' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Open Climbing Map')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:phone", | ||||
|       "description": "Layer 'Climbing gyms' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Open Climbing Map')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "email", | ||||
|       "description": "Layer 'Climbing gyms' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Open Climbing Map')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:email", | ||||
|       "description": "Layer 'Climbing gyms' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Open Climbing Map')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "opening_hours", | ||||
|       "description": "Layer 'Climbing gyms' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Open Climbing Map')" | ||||
|  | @ -361,12 +385,12 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "noname", | ||||
|       "description": "Layer 'Climbing routes' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'This climbing route doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')", | ||||
|       "description": "Layer 'Climbing routes' shows noname=yes with a fixed text, namely 'This climbing route doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "name", | ||||
|       "description": "Layer 'Climbing routes' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'This climbing route doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map') Picking this answer will delete the key name.", | ||||
|       "description": "Layer 'Climbing routes' shows noname=yes with a fixed text, namely 'This climbing route doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map') Picking this answer will delete the key name.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -542,12 +566,12 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "noname", | ||||
|       "description": "Layer 'Climbing opportunities' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'This climbing opportunity doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')", | ||||
|       "description": "Layer 'Climbing opportunities' shows noname=yes with a fixed text, namely 'This climbing opportunity doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "name", | ||||
|       "description": "Layer 'Climbing opportunities' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'This climbing opportunity doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map') Picking this answer will delete the key name.", | ||||
|       "description": "Layer 'Climbing opportunities' shows noname=yes with a fixed text, namely 'This climbing opportunity doesn't have a name' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Open Climbing Map') Picking this answer will delete the key name.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -132,7 +132,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "cyclestreet", | ||||
|       "description": "Layer 'Cycleways and roads' shows <span class='line-through'>cyclestreet</span> with a fixed text, namely 'This is not a cyclestreet.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle infrastructure') Picking this answer will delete the key cyclestreet.", | ||||
|       "description": "Layer 'Cycleways and roads' shows  with a fixed text, namely 'This is not a cyclestreet.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle infrastructure') Picking this answer will delete the key cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -568,6 +568,16 @@ | |||
|       "description": "Layer 'Barriers' shows bicycle=no with a fixed text, namely 'A cyclist can not go past this.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle infrastructure')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|       "key": "barrier", | ||||
|       "description": "Layer 'Barriers' shows barrier=bollard with a fixed text, namely 'This is a single bollard in the road' (in the MapComplete.osm.be theme 'Bicycle infrastructure')", | ||||
|       "value": "bollard" | ||||
|     }, | ||||
|     { | ||||
|       "key": "barrier", | ||||
|       "description": "Layer 'Barriers' shows barrier=cycle_barrier with a fixed text, namely 'This is a cycle barrier slowing down cyclists' (in the MapComplete.osm.be theme 'Bicycle infrastructure')", | ||||
|       "value": "cycle_barrier" | ||||
|     }, | ||||
|     { | ||||
|       "key": "bollard", | ||||
|       "description": "Layer 'Barriers' shows bollard=removable with a fixed text, namely 'Removable bollard' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle infrastructure')", | ||||
|  | @ -661,7 +671,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "crossing_ref", | ||||
|       "description": "Layer 'Crossings' shows <span class='line-through'>crossing_ref</span> with a fixed text, namely 'This is not a zebra crossing' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle infrastructure') Picking this answer will delete the key crossing_ref.", | ||||
|       "description": "Layer 'Crossings' shows  with a fixed text, namely 'This is not a zebra crossing' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Bicycle infrastructure') Picking this answer will delete the key crossing_ref.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -33,57 +33,57 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "cyclestreet", | ||||
|       "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "maxspeed", | ||||
|       "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "30" | ||||
|     }, | ||||
|     { | ||||
|       "key": "overtaking:motor_vehicle", | ||||
|       "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|       "key": "proposed:cyclestreet", | ||||
|       "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "description": "Layer 'Cyclestreets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "cyclestreet", | ||||
|       "description": "Layer 'Cyclestreets' shows cyclestreet=yes&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'Cyclestreets' shows cyclestreet=yes with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "proposed:cyclestreet", | ||||
|       "description": "Layer 'Cyclestreets' shows cyclestreet=yes&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "description": "Layer 'Cyclestreets' shows cyclestreet=yes with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "cyclestreet", | ||||
|       "description": "Layer 'Cyclestreets' shows <span class='line-through'>cyclestreet</span>&proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", | ||||
|       "description": "Layer 'Cyclestreets' shows proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "proposed:cyclestreet", | ||||
|       "description": "Layer 'Cyclestreets' shows <span class='line-through'>cyclestreet</span>&proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'Cyclestreets' shows proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "cyclestreet", | ||||
|       "description": "Layer 'Cyclestreets' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", | ||||
|       "description": "Layer 'Cyclestreets' shows  with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "proposed:cyclestreet", | ||||
|       "description": "Layer 'Cyclestreets' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "description": "Layer 'Cyclestreets' shows  with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "overtaking:motor_vehicle", | ||||
|       "description": "Layer 'Cyclestreets' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key overtaking:motor_vehicle.", | ||||
|       "description": "Layer 'Cyclestreets' shows  with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key overtaking:motor_vehicle.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -113,57 +113,57 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "cyclestreet", | ||||
|       "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "maxspeed", | ||||
|       "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "30" | ||||
|     }, | ||||
|     { | ||||
|       "key": "overtaking:motor_vehicle", | ||||
|       "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|       "key": "proposed:cyclestreet", | ||||
|       "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "cyclestreet", | ||||
|       "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'Future cyclestreet' shows cyclestreet=yes with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "proposed:cyclestreet", | ||||
|       "description": "Layer 'Future cyclestreet' shows cyclestreet=yes&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "description": "Layer 'Future cyclestreet' shows cyclestreet=yes with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "cyclestreet", | ||||
|       "description": "Layer 'Future cyclestreet' shows <span class='line-through'>cyclestreet</span>&proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", | ||||
|       "description": "Layer 'Future cyclestreet' shows proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "proposed:cyclestreet", | ||||
|       "description": "Layer 'Future cyclestreet' shows <span class='line-through'>cyclestreet</span>&proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'Future cyclestreet' shows proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "cyclestreet", | ||||
|       "description": "Layer 'Future cyclestreet' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", | ||||
|       "description": "Layer 'Future cyclestreet' shows  with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "proposed:cyclestreet", | ||||
|       "description": "Layer 'Future cyclestreet' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "description": "Layer 'Future cyclestreet' shows  with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "overtaking:motor_vehicle", | ||||
|       "description": "Layer 'Future cyclestreet' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key overtaking:motor_vehicle.", | ||||
|       "description": "Layer 'Future cyclestreet' shows  with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key overtaking:motor_vehicle.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -203,57 +203,57 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "cyclestreet", | ||||
|       "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "maxspeed", | ||||
|       "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "30" | ||||
|     }, | ||||
|     { | ||||
|       "key": "overtaking:motor_vehicle", | ||||
|       "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|       "key": "proposed:cyclestreet", | ||||
|       "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "description": "Layer 'All streets' shows cyclestreet=yes&maxspeed=30&overtaking:motor_vehicle=no with a fixed text, namely 'This street is a cyclestreet (and has a speed limit of 30 km/h)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "cyclestreet", | ||||
|       "description": "Layer 'All streets' shows cyclestreet=yes&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'All streets' shows cyclestreet=yes with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "proposed:cyclestreet", | ||||
|       "description": "Layer 'All streets' shows cyclestreet=yes&<span class='line-through'>proposed:cyclestreet</span> with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "description": "Layer 'All streets' shows cyclestreet=yes with a fixed text, namely 'This street is a cyclestreet' (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "cyclestreet", | ||||
|       "description": "Layer 'All streets' shows <span class='line-through'>cyclestreet</span>&proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", | ||||
|       "description": "Layer 'All streets' shows proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "proposed:cyclestreet", | ||||
|       "description": "Layer 'All streets' shows <span class='line-through'>cyclestreet</span>&proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "description": "Layer 'All streets' shows proposed:cyclestreet=yes with a fixed text, namely 'This street will become a cyclstreet soon' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "cyclestreet", | ||||
|       "description": "Layer 'All streets' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", | ||||
|       "description": "Layer 'All streets' shows  with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "proposed:cyclestreet", | ||||
|       "description": "Layer 'All streets' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "description": "Layer 'All streets' shows  with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key proposed:cyclestreet.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "overtaking:motor_vehicle", | ||||
|       "description": "Layer 'All streets' shows <span class='line-through'>cyclestreet</span>&<span class='line-through'>proposed:cyclestreet</span>&<span class='line-through'>overtaking:motor_vehicle</span> with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key overtaking:motor_vehicle.", | ||||
|       "description": "Layer 'All streets' shows  with a fixed text, namely 'This street is not a cyclestreet' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclestreets') Picking this answer will delete the key overtaking:motor_vehicle.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -343,14 +343,26 @@ | |||
|       "key": "website", | ||||
|       "description": "Layer 'Bicycle library' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:website", | ||||
|       "description": "Layer 'Bicycle library' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "phone", | ||||
|       "description": "Layer 'Bicycle library' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:phone", | ||||
|       "description": "Layer 'Bicycle library' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "email", | ||||
|       "description": "Layer 'Bicycle library' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:email", | ||||
|       "description": "Layer 'Bicycle library' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "opening_hours", | ||||
|       "description": "Layer 'Bicycle library' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" | ||||
|  | @ -361,12 +373,12 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "fee", | ||||
|       "description": "Layer 'Bicycle library' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')", | ||||
|       "description": "Layer 'Bicycle library' shows fee=no with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|       "key": "charge", | ||||
|       "description": "Layer 'Bicycle library' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key charge.", | ||||
|       "description": "Layer 'Bicycle library' shows fee=no with a fixed text, namely 'Lending a bicycle is free' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key charge.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -477,7 +489,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "opening_hours", | ||||
|       "description": "Layer 'Bike stations (repair, pump or both)' shows <span class='line-through'>opening_hours</span> with a fixed text, namely 'Always open' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key opening_hours.", | ||||
|       "description": "Layer 'Bike stations (repair, pump or both)' shows  with a fixed text, namely 'Always open' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key opening_hours.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -507,7 +519,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "service:bicycle:pump:operational_status", | ||||
|       "description": "Layer 'Bike stations (repair, pump or both)' shows <span class='line-through'>service:bicycle:pump:operational_status</span> with a fixed text, namely 'The bike pump is operational' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key service:bicycle:pump:operational_status.", | ||||
|       "description": "Layer 'Bike stations (repair, pump or both)' shows  with a fixed text, namely 'The bike pump is operational' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key service:bicycle:pump:operational_status.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -570,7 +582,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "level", | ||||
|       "description": "Layer 'Bike stations (repair, pump or both)' shows <span class='line-through'>level</span> with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key level.", | ||||
|       "description": "Layer 'Bike stations (repair, pump or both)' shows  with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key level.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -609,7 +621,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "operational_status", | ||||
|       "description": "Layer 'Bicycle tube vending machine' shows <span class='line-through'>operational_status</span> with a fixed text, namely 'This vending machine works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key operational_status.", | ||||
|       "description": "Layer 'Bicycle tube vending machine' shows  with a fixed text, namely 'This vending machine works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key operational_status.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -721,7 +733,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "operational_status", | ||||
|       "description": "Layer 'Drinking water' shows <span class='line-through'>operational_status</span> with a fixed text, namely 'This drinking water works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key operational_status.", | ||||
|       "description": "Layer 'Drinking water' shows  with a fixed text, namely 'This drinking water works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key operational_status.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -813,14 +825,26 @@ | |||
|       "key": "website", | ||||
|       "description": "Layer 'Bike related object' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:website", | ||||
|       "description": "Layer 'Bike related object' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "email", | ||||
|       "description": "Layer 'Bike related object' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:email", | ||||
|       "description": "Layer 'Bike related object' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "phone", | ||||
|       "description": "Layer 'Bike related object' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:phone", | ||||
|       "description": "Layer 'Bike related object' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "opening_hours", | ||||
|       "description": "Layer 'Bike related object' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists')" | ||||
|  | @ -976,7 +1000,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "location", | ||||
|       "description": "Layer 'Bike parking' shows <span class='line-through'>location</span> with a fixed text, namely 'Surface level parking' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key location.", | ||||
|       "description": "Layer 'Bike parking' shows  with a fixed text, namely 'Surface level parking' (in the MapComplete.osm.be theme 'Cyclofix - an open map for cyclists') Picking this answer will delete the key location.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -37,7 +37,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "operational_status", | ||||
|       "description": "Layer 'Drinking water' shows <span class='line-through'>operational_status</span> with a fixed text, namely 'This drinking water works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Drinking Water') Picking this answer will delete the key operational_status.", | ||||
|       "description": "Layer 'Drinking water' shows  with a fixed text, namely 'This drinking water works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Drinking Water') Picking this answer will delete the key operational_status.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -62,82 +62,82 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "entrance", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>entrance</span>&indoor=door with a fixed text, namely 'This is an indoor door, separating a room or a corridor within a single building' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key entrance.", | ||||
|       "description": "Layer 'Entrance' shows indoor=door with a fixed text, namely 'This is an indoor door, separating a room or a corridor within a single building' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key entrance.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "indoor", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>entrance</span>&indoor=door with a fixed text, namely 'This is an indoor door, separating a room or a corridor within a single building' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "description": "Layer 'Entrance' shows indoor=door with a fixed text, namely 'This is an indoor door, separating a room or a corridor within a single building' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "value": "door" | ||||
|     }, | ||||
|     { | ||||
|       "key": "indoor", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=main with a fixed text, namely 'This is the main entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", | ||||
|       "description": "Layer 'Entrance' shows entrance=main with a fixed text, namely 'This is the main entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "entrance", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=main with a fixed text, namely 'This is the main entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "description": "Layer 'Entrance' shows entrance=main with a fixed text, namely 'This is the main entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "value": "main" | ||||
|     }, | ||||
|     { | ||||
|       "key": "indoor", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=secondary with a fixed text, namely 'This is a secondary entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", | ||||
|       "description": "Layer 'Entrance' shows entrance=secondary with a fixed text, namely 'This is a secondary entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "entrance", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=secondary with a fixed text, namely 'This is a secondary entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "description": "Layer 'Entrance' shows entrance=secondary with a fixed text, namely 'This is a secondary entrance' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "value": "secondary" | ||||
|     }, | ||||
|     { | ||||
|       "key": "indoor", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=service with a fixed text, namely 'This is a service entrance - normally only used for employees, delivery, ...' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", | ||||
|       "description": "Layer 'Entrance' shows entrance=service with a fixed text, namely 'This is a service entrance - normally only used for employees, delivery, ...' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "entrance", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=service with a fixed text, namely 'This is a service entrance - normally only used for employees, delivery, ...' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "description": "Layer 'Entrance' shows entrance=service with a fixed text, namely 'This is a service entrance - normally only used for employees, delivery, ...' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "value": "service" | ||||
|     }, | ||||
|     { | ||||
|       "key": "indoor", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=exit with a fixed text, namely 'This is an exit where one can not enter' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", | ||||
|       "description": "Layer 'Entrance' shows entrance=exit with a fixed text, namely 'This is an exit where one can not enter' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "entrance", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=exit with a fixed text, namely 'This is an exit where one can not enter' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "description": "Layer 'Entrance' shows entrance=exit with a fixed text, namely 'This is an exit where one can not enter' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "value": "exit" | ||||
|     }, | ||||
|     { | ||||
|       "key": "indoor", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=entrance with a fixed text, namely 'This is an entrance where one can only enter (but not exit)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", | ||||
|       "description": "Layer 'Entrance' shows entrance=entrance with a fixed text, namely 'This is an entrance where one can only enter (but not exit)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "entrance", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=entrance with a fixed text, namely 'This is an entrance where one can only enter (but not exit)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "description": "Layer 'Entrance' shows entrance=entrance with a fixed text, namely 'This is an entrance where one can only enter (but not exit)' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "value": "entrance" | ||||
|     }, | ||||
|     { | ||||
|       "key": "indoor", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=emergency with a fixed text, namely 'This is emergency exit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", | ||||
|       "description": "Layer 'Entrance' shows entrance=emergency with a fixed text, namely 'This is emergency exit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "entrance", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=emergency with a fixed text, namely 'This is emergency exit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "description": "Layer 'Entrance' shows entrance=emergency with a fixed text, namely 'This is emergency exit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "value": "emergency" | ||||
|     }, | ||||
|     { | ||||
|       "key": "indoor", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=home with a fixed text, namely 'This is the entrance to a private home' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", | ||||
|       "description": "Layer 'Entrance' shows entrance=home with a fixed text, namely 'This is the entrance to a private home' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances') Picking this answer will delete the key indoor.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "entrance", | ||||
|       "description": "Layer 'Entrance' shows <span class='line-through'>indoor</span>&entrance=home with a fixed text, namely 'This is the entrance to a private home' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "description": "Layer 'Entrance' shows entrance=home with a fixed text, namely 'This is the entrance to a private home' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Entrances')", | ||||
|       "value": "home" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -58,14 +58,26 @@ | |||
|       "key": "website", | ||||
|       "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Restaurants and fast food')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:website", | ||||
|       "description": "Layer 'Restaurants and fast food' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Restaurants and fast food')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "email", | ||||
|       "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Restaurants and fast food')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:email", | ||||
|       "description": "Layer 'Restaurants and fast food' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Restaurants and fast food')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "phone", | ||||
|       "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Restaurants and fast food')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:phone", | ||||
|       "description": "Layer 'Restaurants and fast food' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Restaurants and fast food')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "payment:cash", | ||||
|       "description": "Layer 'Restaurants and fast food' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Restaurants and fast food')", | ||||
|  |  | |||
|  | @ -63,14 +63,26 @@ | |||
|       "key": "website", | ||||
|       "description": "Layer 'Fries shop' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Friturenkaart')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:website", | ||||
|       "description": "Layer 'Fries shop' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Friturenkaart')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "email", | ||||
|       "description": "Layer 'Fries shop' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Friturenkaart')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:email", | ||||
|       "description": "Layer 'Fries shop' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Friturenkaart')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "phone", | ||||
|       "description": "Layer 'Fries shop' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Friturenkaart')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:phone", | ||||
|       "description": "Layer 'Fries shop' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Friturenkaart')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "payment:cash", | ||||
|       "description": "Layer 'Fries shop' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Friturenkaart')", | ||||
|  | @ -398,14 +410,26 @@ | |||
|       "key": "website", | ||||
|       "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Friturenkaart')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:website", | ||||
|       "description": "Layer 'Restaurants and fast food' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Friturenkaart')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "email", | ||||
|       "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Friturenkaart')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:email", | ||||
|       "description": "Layer 'Restaurants and fast food' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Friturenkaart')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "phone", | ||||
|       "description": "Layer 'Restaurants and fast food' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Friturenkaart')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:phone", | ||||
|       "description": "Layer 'Restaurants and fast food' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Friturenkaart')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "payment:cash", | ||||
|       "description": "Layer 'Restaurants and fast food' shows payment:cash=yes with a fixed text, namely 'Cash is accepted here' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Friturenkaart')", | ||||
|  |  | |||
|  | @ -22,7 +22,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "hackerspace", | ||||
|       "description": "Layer 'Hackerspace' shows <span class='line-through'>hackerspace</span> with a fixed text, namely 'This is a traditional (software oriented) hackerspace' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hackerspaces') Picking this answer will delete the key hackerspace.", | ||||
|       "description": "Layer 'Hackerspace' shows  with a fixed text, namely 'This is a traditional (software oriented) hackerspace' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hackerspaces') Picking this answer will delete the key hackerspace.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -33,14 +33,26 @@ | |||
|       "key": "website", | ||||
|       "description": "Layer 'Hackerspace' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Hackerspaces')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:website", | ||||
|       "description": "Layer 'Hackerspace' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Hackerspaces')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "email", | ||||
|       "description": "Layer 'Hackerspace' shows and asks freeform values for key 'email' (in the MapComplete.osm.be theme 'Hackerspaces')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:email", | ||||
|       "description": "Layer 'Hackerspace' shows contact:email~^..*$ with a fixed text, namely '<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>' (in the MapComplete.osm.be theme 'Hackerspaces')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "phone", | ||||
|       "description": "Layer 'Hackerspace' shows and asks freeform values for key 'phone' (in the MapComplete.osm.be theme 'Hackerspaces')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:phone", | ||||
|       "description": "Layer 'Hackerspace' shows contact:phone~^..*$ with a fixed text, namely '<a href='tel:{contact:phone}'>{contact:phone}</a>' (in the MapComplete.osm.be theme 'Hackerspaces')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "opening_hours", | ||||
|       "description": "Layer 'Hackerspace' shows and asks freeform values for key 'opening_hours' (in the MapComplete.osm.be theme 'Hackerspaces')" | ||||
|  |  | |||
|  | @ -21,7 +21,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "colour", | ||||
|       "description": "Layer 'Map of hydrants' shows <span class='line-through'>colour</span> with a fixed text, namely 'The hydrant color is unknown.' (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key colour.", | ||||
|       "description": "Layer 'Map of hydrants' shows  with a fixed text, namely 'The hydrant color is unknown.' (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key colour.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -40,7 +40,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "fire_hydrant:type", | ||||
|       "description": "Layer 'Map of hydrants' shows <span class='line-through'>fire_hydrant:type</span> with a fixed text, namely 'The hydrant type is unknown.' (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key fire_hydrant:type.", | ||||
|       "description": "Layer 'Map of hydrants' shows  with a fixed text, namely 'The hydrant type is unknown.' (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key fire_hydrant:type.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -70,22 +70,22 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "disused:emergency", | ||||
|       "description": "Layer 'Map of hydrants' shows disused:emergency=fire_hydrant&<span class='line-through'>emergency</span> with a fixed text, namely 'The hydrant is unavailable' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.')", | ||||
|       "description": "Layer 'Map of hydrants' shows disused:emergency=fire_hydrant with a fixed text, namely 'The hydrant is unavailable' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.')", | ||||
|       "value": "fire_hydrant" | ||||
|     }, | ||||
|     { | ||||
|       "key": "emergency", | ||||
|       "description": "Layer 'Map of hydrants' shows disused:emergency=fire_hydrant&<span class='line-through'>emergency</span> with a fixed text, namely 'The hydrant is unavailable' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key emergency.", | ||||
|       "description": "Layer 'Map of hydrants' shows disused:emergency=fire_hydrant with a fixed text, namely 'The hydrant is unavailable' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key emergency.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "removed:emergency", | ||||
|       "description": "Layer 'Map of hydrants' shows removed:emergency=fire_hydrant&<span class='line-through'>emergency</span> with a fixed text, namely 'The hydrant has been removed' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.')", | ||||
|       "description": "Layer 'Map of hydrants' shows removed:emergency=fire_hydrant with a fixed text, namely 'The hydrant has been removed' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.')", | ||||
|       "value": "fire_hydrant" | ||||
|     }, | ||||
|     { | ||||
|       "key": "emergency", | ||||
|       "description": "Layer 'Map of hydrants' shows removed:emergency=fire_hydrant&<span class='line-through'>emergency</span> with a fixed text, namely 'The hydrant has been removed' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key emergency.", | ||||
|       "description": "Layer 'Map of hydrants' shows removed:emergency=fire_hydrant with a fixed text, namely 'The hydrant has been removed' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Hydrants, Extinguishers, Fire stations, and Ambulance stations.') Picking this answer will delete the key emergency.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -42,12 +42,12 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "map_source", | ||||
|       "description": "Layer 'Maps' shows map_source=OpenStreetMap&<span class='line-through'>not:map_source</span> with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'A map of maps')", | ||||
|       "description": "Layer 'Maps' shows map_source=OpenStreetMap with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'A map of maps')", | ||||
|       "value": "OpenStreetMap" | ||||
|     }, | ||||
|     { | ||||
|       "key": "not:map_source", | ||||
|       "description": "Layer 'Maps' shows map_source=OpenStreetMap&<span class='line-through'>not:map_source</span> with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'A map of maps') Picking this answer will delete the key not:map_source.", | ||||
|       "description": "Layer 'Maps' shows map_source=OpenStreetMap with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'A map of maps') Picking this answer will delete the key not:map_source.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -37,7 +37,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "operational_status", | ||||
|       "description": "Layer 'Drinking water' shows <span class='line-through'>operational_status</span> with a fixed text, namely 'This drinking water works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key operational_status.", | ||||
|       "description": "Layer 'Drinking water' shows  with a fixed text, namely 'This drinking water works' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key operational_status.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -83,17 +83,17 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "shelter", | ||||
|       "description": "Layer 'Vogelkijkhutten' shows shelter=no&<span class='line-through'>building</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'Vogelkijkwand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "description": "Layer 'Vogelkijkhutten' shows shelter=no with a fixed text, namely 'Vogelkijkwand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|       "key": "building", | ||||
|       "description": "Layer 'Vogelkijkhutten' shows shelter=no&<span class='line-through'>building</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'Vogelkijkwand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key building.", | ||||
|       "description": "Layer 'Vogelkijkhutten' shows shelter=no with a fixed text, namely 'Vogelkijkwand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key building.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "amenity", | ||||
|       "description": "Layer 'Vogelkijkhutten' shows shelter=no&<span class='line-through'>building</span>&<span class='line-through'>amenity</span> with a fixed text, namely 'Vogelkijkwand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key amenity.", | ||||
|       "description": "Layer 'Vogelkijkhutten' shows shelter=no with a fixed text, namely 'Vogelkijkwand' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key amenity.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -202,12 +202,12 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "map_source", | ||||
|       "description": "Layer 'Maps' shows map_source=OpenStreetMap&<span class='line-through'>not:map_source</span> with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "description": "Layer 'Maps' shows map_source=OpenStreetMap with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "value": "OpenStreetMap" | ||||
|     }, | ||||
|     { | ||||
|       "key": "not:map_source", | ||||
|       "description": "Layer 'Maps' shows map_source=OpenStreetMap&<span class='line-through'>not:map_source</span> with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key not:map_source.", | ||||
|       "description": "Layer 'Maps' shows map_source=OpenStreetMap with a fixed text, namely 'This map is based on OpenStreetMap' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key not:map_source.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -288,52 +288,52 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "access", | ||||
|       "description": "Layer 'Natuurgebied' shows access=yes&<span class='line-through'>fee</span> with a fixed text, namely 'Vrij toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "description": "Layer 'Natuurgebied' shows access=yes with a fixed text, namely 'Vrij toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "fee", | ||||
|       "description": "Layer 'Natuurgebied' shows access=yes&<span class='line-through'>fee</span> with a fixed text, namely 'Vrij toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", | ||||
|       "description": "Layer 'Natuurgebied' shows access=yes with a fixed text, namely 'Vrij toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "access", | ||||
|       "description": "Layer 'Natuurgebied' shows access=no&<span class='line-through'>fee</span> with a fixed text, namely 'Niet toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "description": "Layer 'Natuurgebied' shows access=no with a fixed text, namely 'Niet toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|       "key": "fee", | ||||
|       "description": "Layer 'Natuurgebied' shows access=no&<span class='line-through'>fee</span> with a fixed text, namely 'Niet toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", | ||||
|       "description": "Layer 'Natuurgebied' shows access=no with a fixed text, namely 'Niet toegankelijk' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "access", | ||||
|       "description": "Layer 'Natuurgebied' shows access=private&<span class='line-through'>fee</span> with a fixed text, namely 'Niet toegankelijk, want privégebied' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "description": "Layer 'Natuurgebied' shows access=private with a fixed text, namely 'Niet toegankelijk, want privégebied' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "value": "private" | ||||
|     }, | ||||
|     { | ||||
|       "key": "fee", | ||||
|       "description": "Layer 'Natuurgebied' shows access=private&<span class='line-through'>fee</span> with a fixed text, namely 'Niet toegankelijk, want privégebied' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", | ||||
|       "description": "Layer 'Natuurgebied' shows access=private with a fixed text, namely 'Niet toegankelijk, want privégebied' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "access", | ||||
|       "description": "Layer 'Natuurgebied' shows access=permissive&<span class='line-through'>fee</span> with a fixed text, namely 'Toegankelijk, ondanks dat het privegebied is' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "description": "Layer 'Natuurgebied' shows access=permissive with a fixed text, namely 'Toegankelijk, ondanks dat het privegebied is' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "value": "permissive" | ||||
|     }, | ||||
|     { | ||||
|       "key": "fee", | ||||
|       "description": "Layer 'Natuurgebied' shows access=permissive&<span class='line-through'>fee</span> with a fixed text, namely 'Toegankelijk, ondanks dat het privegebied is' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", | ||||
|       "description": "Layer 'Natuurgebied' shows access=permissive with a fixed text, namely 'Toegankelijk, ondanks dat het privegebied is' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "access", | ||||
|       "description": "Layer 'Natuurgebied' shows access=guided&<span class='line-through'>fee</span> with a fixed text, namely 'Enkel toegankelijk met een gids of tijdens een activiteit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "description": "Layer 'Natuurgebied' shows access=guided with a fixed text, namely 'Enkel toegankelijk met een gids of tijdens een activiteit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "value": "guided" | ||||
|     }, | ||||
|     { | ||||
|       "key": "fee", | ||||
|       "description": "Layer 'Natuurgebied' shows access=guided&<span class='line-through'>fee</span> with a fixed text, namely 'Enkel toegankelijk met een gids of tijdens een activiteit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", | ||||
|       "description": "Layer 'Natuurgebied' shows access=guided with a fixed text, namely 'Enkel toegankelijk met een gids of tijdens een activiteit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key fee.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -374,12 +374,12 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "noname", | ||||
|       "description": "Layer 'Natuurgebied' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'Dit gebied heeft geen naam' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "description": "Layer 'Natuurgebied' shows noname=yes with a fixed text, namely 'Dit gebied heeft geen naam' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "name", | ||||
|       "description": "Layer 'Natuurgebied' shows noname=yes&<span class='line-through'>name</span> with a fixed text, namely 'Dit gebied heeft geen naam' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key name.", | ||||
|       "description": "Layer 'Natuurgebied' shows noname=yes with a fixed text, namely 'Dit gebied heeft geen naam' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key name.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -427,7 +427,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "wikidata", | ||||
|       "description": "Layer 'Natuurgebied' shows <span class='line-through'>wikidata</span> with a fixed text, namely 'No Wikipedia page has been linked yet' (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key wikidata.", | ||||
|       "description": "Layer 'Natuurgebied' shows  with a fixed text, namely 'No Wikipedia page has been linked yet' (in the MapComplete.osm.be theme 'De Natuur in') Picking this answer will delete the key wikidata.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -52,18 +52,22 @@ | |||
|       "key": "website", | ||||
|       "description": "Layer 'Observation towers' shows and asks freeform values for key 'website' (in the MapComplete.osm.be theme 'Observation towers')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "contact:website", | ||||
|       "description": "Layer 'Observation towers' shows contact:website~^..*$ with a fixed text, namely '<a href='{contact:website}' target='_blank'>{contact:website}</a>' (in the MapComplete.osm.be theme 'Observation towers')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "charge", | ||||
|       "description": "Layer 'Observation towers' shows and asks freeform values for key 'charge' (in the MapComplete.osm.be theme 'Observation towers')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "fee", | ||||
|       "description": "Layer 'Observation towers' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Free to visit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Observation towers')", | ||||
|       "description": "Layer 'Observation towers' shows fee=no with a fixed text, namely 'Free to visit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Observation towers')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|       "key": "charge", | ||||
|       "description": "Layer 'Observation towers' shows fee=no&<span class='line-through'>charge</span> with a fixed text, namely 'Free to visit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Observation towers') Picking this answer will delete the key charge.", | ||||
|       "description": "Layer 'Observation towers' shows fee=no with a fixed text, namely 'Free to visit' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Observation towers') Picking this answer will delete the key charge.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -102,7 +106,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "wikidata", | ||||
|       "description": "Layer 'Observation towers' shows <span class='line-through'>wikidata</span> with a fixed text, namely 'No Wikipedia page has been linked yet' (in the MapComplete.osm.be theme 'Observation towers') Picking this answer will delete the key wikidata.", | ||||
|       "description": "Layer 'Observation towers' shows  with a fixed text, namely 'No Wikipedia page has been linked yet' (in the MapComplete.osm.be theme 'Observation towers') Picking this answer will delete the key wikidata.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -99,7 +99,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "access", | ||||
|       "description": "Layer 'Playgrounds' shows <span class='line-through'>access</span> with a fixed text, namely 'Accessible to the general public' (in the MapComplete.osm.be theme 'Playgrounds') Picking this answer will delete the key access.", | ||||
|       "description": "Layer 'Playgrounds' shows  with a fixed text, namely 'Accessible to the general public' (in the MapComplete.osm.be theme 'Playgrounds') Picking this answer will delete the key access.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -161,7 +161,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "opening_hours", | ||||
|       "description": "Layer 'Playgrounds' shows <span class='line-through'>opening_hours</span> with a fixed text, namely 'Always accessible' (in the MapComplete.osm.be theme 'Playgrounds') Picking this answer will delete the key opening_hours.", | ||||
|       "description": "Layer 'Playgrounds' shows  with a fixed text, namely 'Always accessible' (in the MapComplete.osm.be theme 'Playgrounds') Picking this answer will delete the key opening_hours.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -148,7 +148,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "opening_hours", | ||||
|       "description": "Layer 'Sport pitches' shows <span class='line-through'>opening_hours</span> with a fixed text, namely '24/7 toegankelijk' (in the MapComplete.osm.be theme 'Sport pitches') Picking this answer will delete the key opening_hours.", | ||||
|       "description": "Layer 'Sport pitches' shows  with a fixed text, namely '24/7 toegankelijk' (in the MapComplete.osm.be theme 'Sport pitches') Picking this answer will delete the key opening_hours.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -75,12 +75,12 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "camera:direction", | ||||
|       "description": "Layer 'Surveillance camera's' shows <span class='line-through'>camera:direction</span>&direction~^..*$ with a fixed text, namely 'Films to a compass heading of {direction}' (in the MapComplete.osm.be theme 'Surveillance under Surveillance') Picking this answer will delete the key camera:direction.", | ||||
|       "description": "Layer 'Surveillance camera's' shows direction~^..*$ with a fixed text, namely 'Films to a compass heading of {direction}' (in the MapComplete.osm.be theme 'Surveillance under Surveillance') Picking this answer will delete the key camera:direction.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "direction", | ||||
|       "description": "Layer 'Surveillance camera's' shows <span class='line-through'>camera:direction</span>&direction~^..*$ with a fixed text, namely 'Films to a compass heading of {direction}' (in the MapComplete.osm.be theme 'Surveillance under Surveillance')" | ||||
|       "description": "Layer 'Surveillance camera's' shows direction~^..*$ with a fixed text, namely 'Films to a compass heading of {direction}' (in the MapComplete.osm.be theme 'Surveillance under Surveillance')" | ||||
|     }, | ||||
|     { | ||||
|       "key": "operator", | ||||
|  | @ -113,7 +113,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "indoor", | ||||
|       "description": "Layer 'Surveillance camera's' shows <span class='line-through'>indoor</span> with a fixed text, namely 'This camera is probably located outdoors' (in the MapComplete.osm.be theme 'Surveillance under Surveillance') Picking this answer will delete the key indoor.", | ||||
|       "description": "Layer 'Surveillance camera's' shows  with a fixed text, namely 'This camera is probably located outdoors' (in the MapComplete.osm.be theme 'Surveillance under Surveillance') Picking this answer will delete the key indoor.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -193,7 +193,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "level", | ||||
|       "description": "Layer 'Toilets' shows <span class='line-through'>level</span> with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Open Toilet Map') Picking this answer will delete the key level.", | ||||
|       "description": "Layer 'Toilets' shows  with a fixed text, namely 'Located on the ground floor' (in the MapComplete.osm.be theme 'Open Toilet Map') Picking this answer will delete the key level.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -106,12 +106,12 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "name", | ||||
|       "description": "Layer 'Tree' shows <span class='line-through'>name</span>&noname=yes with a fixed text, namely 'The tree does not have a name.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees') Picking this answer will delete the key name.", | ||||
|       "description": "Layer 'Tree' shows noname=yes with a fixed text, namely 'The tree does not have a name.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees') Picking this answer will delete the key name.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "noname", | ||||
|       "description": "Layer 'Tree' shows <span class='line-through'>name</span>&noname=yes with a fixed text, namely 'The tree does not have a name.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees')", | ||||
|       "description": "Layer 'Tree' shows noname=yes with a fixed text, namely 'The tree does not have a name.' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|  | @ -136,22 +136,22 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "heritage", | ||||
|       "description": "Layer 'Tree' shows heritage=yes&<span class='line-through'>heritage:operator</span> with a fixed text, namely 'Registered as heritage by a different organisation' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees')", | ||||
|       "description": "Layer 'Tree' shows heritage=yes with a fixed text, namely 'Registered as heritage by a different organisation' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees')", | ||||
|       "value": "yes" | ||||
|     }, | ||||
|     { | ||||
|       "key": "heritage:operator", | ||||
|       "description": "Layer 'Tree' shows heritage=yes&<span class='line-through'>heritage:operator</span> with a fixed text, namely 'Registered as heritage by a different organisation' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees') Picking this answer will delete the key heritage:operator.", | ||||
|       "description": "Layer 'Tree' shows heritage=yes with a fixed text, namely 'Registered as heritage by a different organisation' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees') Picking this answer will delete the key heritage:operator.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "heritage", | ||||
|       "description": "Layer 'Tree' shows heritage=no&<span class='line-through'>heritage:operator</span> with a fixed text, namely 'Not registered as heritage' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees')", | ||||
|       "description": "Layer 'Tree' shows heritage=no with a fixed text, namely 'Not registered as heritage' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees')", | ||||
|       "value": "no" | ||||
|     }, | ||||
|     { | ||||
|       "key": "heritage:operator", | ||||
|       "description": "Layer 'Tree' shows heritage=no&<span class='line-through'>heritage:operator</span> with a fixed text, namely 'Not registered as heritage' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees') Picking this answer will delete the key heritage:operator.", | ||||
|       "description": "Layer 'Tree' shows heritage=no with a fixed text, namely 'Not registered as heritage' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Trees') Picking this answer will delete the key heritage:operator.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "waste", | ||||
|       "description": "Layer 'Waste Basket' shows <span class='line-through'>waste</span> with a fixed text, namely 'A waste basket for general waste' (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key waste.", | ||||
|       "description": "Layer 'Waste Basket' shows  with a fixed text, namely 'A waste basket for general waste' (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key waste.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  | @ -47,27 +47,27 @@ | |||
|     }, | ||||
|     { | ||||
|       "key": "vending", | ||||
|       "description": "Layer 'Waste Basket' shows vending=dog_excrement_bag&<span class='line-through'>not:vending</span> with a fixed text, namely 'This waste basket has a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket')", | ||||
|       "description": "Layer 'Waste Basket' shows vending=dog_excrement_bag with a fixed text, namely 'This waste basket has a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket')", | ||||
|       "value": "dog_excrement_bag" | ||||
|     }, | ||||
|     { | ||||
|       "key": "not:vending", | ||||
|       "description": "Layer 'Waste Basket' shows vending=dog_excrement_bag&<span class='line-through'>not:vending</span> with a fixed text, namely 'This waste basket has a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key not:vending.", | ||||
|       "description": "Layer 'Waste Basket' shows vending=dog_excrement_bag with a fixed text, namely 'This waste basket has a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key not:vending.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "not:vending", | ||||
|       "description": "Layer 'Waste Basket' shows not:vending=dog_excrement_bag&<span class='line-through'>vending</span> with a fixed text, namely 'This waste basket <b>does not</b> have a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket')", | ||||
|       "description": "Layer 'Waste Basket' shows not:vending=dog_excrement_bag with a fixed text, namely 'This waste basket <b>does not</b> have a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket')", | ||||
|       "value": "dog_excrement_bag" | ||||
|     }, | ||||
|     { | ||||
|       "key": "vending", | ||||
|       "description": "Layer 'Waste Basket' shows not:vending=dog_excrement_bag&<span class='line-through'>vending</span> with a fixed text, namely 'This waste basket <b>does not</b> have a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key vending.", | ||||
|       "description": "Layer 'Waste Basket' shows not:vending=dog_excrement_bag with a fixed text, namely 'This waste basket <b>does not</b> have a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key vending.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|       "key": "vending", | ||||
|       "description": "Layer 'Waste Basket' shows <span class='line-through'>vending</span> with a fixed text, namely 'This waste basket <b>does not</b> have a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key vending.", | ||||
|       "description": "Layer 'Waste Basket' shows  with a fixed text, namely 'This waste basket <b>does not</b> have a dispenser for (dog) excrement bags' and allows to pick this as a default answer (in the MapComplete.osm.be theme 'Waste Basket') Picking this answer will delete the key vending.", | ||||
|       "value": "" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -3,7 +3,9 @@ | |||
|  URL-parameters and URL-hash  | ||||
| ============================= | ||||
| 
 | ||||
|  ## Table of contents | ||||
| 
 | ||||
| 
 | ||||
| ## Table of contents | ||||
| 
 | ||||
| 1. [URL-parameters and URL-hash](#url-parameters-and-url-hash) | ||||
|   - [What is a URL parameter?](#what-is-a-url-parameter) | ||||
|  | @ -31,128 +33,186 @@ | |||
|   - [background](#background) | ||||
|   - [layer-<layer-id>](#layer-<layer-id>) | ||||
| 
 | ||||
|  This document gives an overview of which URL-parameters can be used to influence MapComplete.  | ||||
| 
 | ||||
| 
 | ||||
| This document gives an overview of which URL-parameters can be used to influence MapComplete. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  What is a URL parameter?  | ||||
| -------------------------- | ||||
| 
 | ||||
|  "URL-parameters are extra parts of the URL used to set the state. For example, if the url is `https://mapcomplete.osm.be/cyclofix?lat=51.0&lon=4.3&z=5&test=true#node/1234`, the URL-parameters are stated in the part between the `?` and the `#`. There are multiple, all separated by `&`, namely:   | ||||
| 
 | ||||
| 
 | ||||
| "URL-parameters are extra parts of the URL used to set the state. | ||||
| 
 | ||||
| For example, if the url is `https://mapcomplete.osm.be/cyclofix?lat=51.0&lon=4.3&z=5&test=true#node/1234`, the URL-parameters are stated in the part between the `?` and the `#`. There are multiple, all separated by `&`, namely:  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   - The url-parameter `lat` is `51.0` in this instance | ||||
|   - The url-parameter `lon` is `4.3` in this instance | ||||
|   - The url-parameter `z` is `5` in this instance | ||||
|   - The url-parameter `test` is `true` in this instance | ||||
|  Finally, the URL-hash is the part after the `#`. It is `node/1234` in this case.  | ||||
| 
 | ||||
| 
 | ||||
| Finally, the URL-hash is the part after the `#`. It is `node/1234` in this case. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  fs-userbadge  | ||||
| -------------- | ||||
| 
 | ||||
|  Disables/Enables the user information pill (userbadge) at the top left. Disabling this disables logging in and thus disables editing all together, effectively putting MapComplete into read-only mode. The default value is _true_  | ||||
|  Disables/Enables the user information pill (userbadge) at the top left. Disabling this disables logging in and thus disables editing all together, effectively putting MapComplete into read-only mode. The default value is _true_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  fs-search  | ||||
| ----------- | ||||
| 
 | ||||
|  Disables/Enables the search bar The default value is _true_  | ||||
|  Disables/Enables the search bar The default value is _true_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  fs-background  | ||||
| --------------- | ||||
| 
 | ||||
|  Disables/Enables the background layer control The default value is _true_  | ||||
|  Disables/Enables the background layer control The default value is _true_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  fs-filter  | ||||
| ----------- | ||||
| 
 | ||||
|  Disables/Enables the filter The default value is _true_  | ||||
|  Disables/Enables the filter The default value is _true_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  fs-add-new  | ||||
| ------------ | ||||
| 
 | ||||
|  Disables/Enables the 'add new feature'-popup. (A theme without presets might not have it in the first place) The default value is _true_  | ||||
|  Disables/Enables the 'add new feature'-popup. (A theme without presets might not have it in the first place) The default value is _true_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  fs-welcome-message  | ||||
| -------------------- | ||||
| 
 | ||||
|  Disables/enables the help menu or welcome message The default value is _true_  | ||||
|  Disables/enables the help menu or welcome message The default value is _true_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  fs-iframe-popout  | ||||
| ------------------ | ||||
| 
 | ||||
|  Disables/Enables the iframe-popout button. If in iframe mode and the welcome message is hidden, a popout button to the full mapcomplete instance is shown instead (unless disabled with this switch) The default value is _true_  | ||||
|  Disables/Enables the iframe-popout button. If in iframe mode and the welcome message is hidden, a popout button to the full mapcomplete instance is shown instead (unless disabled with this switch) The default value is _true_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  fs-more-quests  | ||||
| ---------------- | ||||
| 
 | ||||
|  Disables/Enables the 'More Quests'-tab in the welcome message The default value is _true_  | ||||
|  Disables/Enables the 'More Quests'-tab in the welcome message The default value is _true_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  fs-share-screen  | ||||
| ----------------- | ||||
| 
 | ||||
|  Disables/Enables the 'Share-screen'-tab in the welcome message The default value is _true_  | ||||
|  Disables/Enables the 'Share-screen'-tab in the welcome message The default value is _true_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  fs-geolocation  | ||||
| ---------------- | ||||
| 
 | ||||
|  Disables/Enables the geolocation button The default value is _true_  | ||||
|  Disables/Enables the geolocation button The default value is _true_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  fs-all-questions  | ||||
| ------------------ | ||||
| 
 | ||||
|  Always show all questions The default value is _false_  | ||||
|  Always show all questions The default value is _false_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  fs-export  | ||||
| ----------- | ||||
| 
 | ||||
|  Enable the export as GeoJSON and CSV button The default value is _false_  | ||||
|  Enable the export as GeoJSON and CSV button The default value is _false_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  fs-pdf  | ||||
| -------- | ||||
| 
 | ||||
|  Enable the PDF download button The default value is _false_  | ||||
|  Enable the PDF download button The default value is _false_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  backend  | ||||
| --------- | ||||
| 
 | ||||
|  The OSM backend to use - can be used to redirect mapcomplete to the testing backend when using 'osm-test' The default value is _osm_  | ||||
|  The OSM backend to use - can be used to redirect mapcomplete to the testing backend when using 'osm-test' The default value is _osm_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  test  | ||||
| ------ | ||||
| 
 | ||||
|  If true, 'dryrun' mode is activated. The app will behave as normal, except that changes to OSM will be printed onto the console instead of actually uploaded to osm.org The default value is _false_  | ||||
|  If true, 'dryrun' mode is activated. The app will behave as normal, except that changes to OSM will be printed onto the console instead of actually uploaded to osm.org The default value is _false_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  debug  | ||||
| ------- | ||||
| 
 | ||||
|  If true, shows some extra debugging help such as all the available tags on every object The default value is _false_  | ||||
|  If true, shows some extra debugging help such as all the available tags on every object The default value is _false_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  fake-user  | ||||
| ----------- | ||||
| 
 | ||||
|  If true, 'dryrun' mode is activated and a fake user account is loaded The default value is _false_  | ||||
|  If true, 'dryrun' mode is activated and a fake user account is loaded The default value is _false_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  overpassUrl  | ||||
| ------------- | ||||
| 
 | ||||
|  Point mapcomplete to a different overpass-instance. Example: https://overpass-api.de/api/interpreter The default value is _https://overpass-api.de/api/interpreter,https://overpass.kumi.systems/api/interpreter,https://overpass.openstreetmap.ru/cgi/interpreter_  | ||||
|  Point mapcomplete to a different overpass-instance. Example: https://overpass-api.de/api/interpreter The default value is _https://overpass-api.de/api/interpreter,https://overpass.kumi.systems/api/interpreter,https://overpass.openstreetmap.ru/cgi/interpreter_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  overpassTimeout  | ||||
| ----------------- | ||||
| 
 | ||||
|  Set a different timeout (in seconds) for queries in overpass The default value is _30_  | ||||
|  Set a different timeout (in seconds) for queries in overpass The default value is _30_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  overpassMaxZoom  | ||||
| ----------------- | ||||
| 
 | ||||
|   point to switch between OSM-api and overpass The default value is _17_  | ||||
|   point to switch between OSM-api and overpass The default value is _17_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  osmApiTileSize  | ||||
| ---------------- | ||||
| 
 | ||||
|  Tilesize when the OSM-API is used to fetch data within a BBOX The default value is _18_  | ||||
|  Tilesize when the OSM-API is used to fetch data within a BBOX The default value is _18_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  background  | ||||
| ------------ | ||||
| 
 | ||||
|  The id of the background layer to start with The default value is _osm_  | ||||
|  The id of the background layer to start with The default value is _osm_ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  layer-<layer-id>  | ||||
| ------------------------ | ||||
|  |  | |||
|  | @ -45,7 +45,6 @@ class OverlapFunc implements ExtraFunction { | |||
|         return (...layerIds: string[]) => { | ||||
|             const result: { feat: any, overlap: number }[] = [] | ||||
| 
 | ||||
|             console.log("Calculating overlap") | ||||
|             const bbox = BBox.get(feat) | ||||
| 
 | ||||
|             for (const layerId of layerIds) { | ||||
|  |  | |||
|  | @ -23,6 +23,10 @@ import List from "../../UI/Base/List"; | |||
| import Link from "../../UI/Base/Link"; | ||||
| import {Utils} from "../../Utils"; | ||||
| import * as icons from "../../assets/tagRenderings/icons.json" | ||||
| import {TagsFilter} from "../../Logic/Tags/TagsFilter"; | ||||
| import Table from "../../UI/Base/Table"; | ||||
| import Svg from "../../Svg"; | ||||
| import Img from "../../UI/Base/Img"; | ||||
| 
 | ||||
| export default class LayerConfig extends WithContextLoader { | ||||
| 
 | ||||
|  | @ -32,11 +36,11 @@ export default class LayerConfig extends WithContextLoader { | |||
|     public readonly source: SourceConfig; | ||||
|     public readonly calculatedTags: [string, string, boolean][]; | ||||
|     public readonly doNotDownload: boolean; | ||||
|     public readonly  passAllFeatures: boolean; | ||||
|     public readonly passAllFeatures: boolean; | ||||
|     public readonly isShown: TagRenderingConfig; | ||||
|     public minzoom: number; | ||||
|     public minzoomVisible: number; | ||||
|     public readonly  maxzoom: number; | ||||
|     public readonly maxzoom: number; | ||||
|     public readonly title?: TagRenderingConfig; | ||||
|     public readonly titleIcons: TagRenderingConfig[]; | ||||
| 
 | ||||
|  | @ -75,10 +79,10 @@ export default class LayerConfig extends WithContextLoader { | |||
|             throw "Layer " + this.id + " does not define a osmTags in the source section - these should always be present, even for geojson layers (" + context + ")" | ||||
|         } | ||||
| 
 | ||||
|         if(json.id.toLowerCase() !== json.id){ | ||||
|         if (json.id.toLowerCase() !== json.id) { | ||||
|             throw `${context}: The id of a layer should be lowercase: ${json.id}` | ||||
|         } | ||||
|         if(json.id.match(/[a-z0-9-_]/) == null){ | ||||
|         if (json.id.match(/[a-z0-9-_]/) == null) { | ||||
|             throw `${context}: The id of a layer should match [a-z0-9-_]*: ${json.id}` | ||||
|         } | ||||
| 
 | ||||
|  | @ -138,7 +142,7 @@ export default class LayerConfig extends WithContextLoader { | |||
|                 const index = kv.indexOf("="); | ||||
|                 let key = kv.substring(0, index); | ||||
|                 const isStrict = key.endsWith(':') | ||||
|                 if(isStrict){ | ||||
|                 if (isStrict) { | ||||
|                     key = key.substr(0, key.length - 1) | ||||
|                 } | ||||
|                 const code = kv.substring(index + 1); | ||||
|  | @ -174,7 +178,7 @@ export default class LayerConfig extends WithContextLoader { | |||
|                         preferredBackground: undefined | ||||
|                     } | ||||
|                 } | ||||
|                  | ||||
| 
 | ||||
|                 let snapToLayers: string[]; | ||||
|                 if (typeof pr.preciseInput.snapToLayer === "string") { | ||||
|                     snapToLayers = [pr.preciseInput.snapToLayer] | ||||
|  | @ -395,7 +399,7 @@ export default class LayerConfig extends WithContextLoader { | |||
|             const textToReplace = rewriteGroup.rewrite.sourceString | ||||
|             const targets = rewriteGroup.rewrite.into | ||||
|             for (const target of targets) { | ||||
|                 const parsedRenderings = this.ParseTagRenderings(tagRenderings,  { | ||||
|                 const parsedRenderings = this.ParseTagRenderings(tagRenderings, { | ||||
|                     prepConfig: tr => prepConfig(textToReplace, target, tr) | ||||
|                 }) | ||||
| 
 | ||||
|  | @ -434,13 +438,13 @@ export default class LayerConfig extends WithContextLoader { | |||
|             if (addedByDefault) { | ||||
|                 extraProps.push("**This layer is included automatically in every theme. This layer might contain no points**") | ||||
|             } | ||||
|             if(this.shownByDefault === false){ | ||||
|             if (this.shownByDefault === false) { | ||||
|                 extraProps.push('This layer is not visible by default and must be enabled in the filter by the user. ') | ||||
|             } | ||||
|             if (this.title === undefined) { | ||||
|                 extraProps.push("This layer cannot be toggled in the filter view. If you import this layer in your theme, override `title` to make this toggleable.") | ||||
|             } | ||||
|             if(this.title === undefined && this.shownByDefault === false){ | ||||
|             if (this.title === undefined && this.shownByDefault === false) { | ||||
|                 extraProps.push("This layer is not visible by default and the visibility cannot be toggled, effectively resulting in a fully hidden layer. This can be useful, e.g. to calculate some metatags. If you want to render this layer (e.g. for debugging), enable it by setting the URL-parameter layer-<id>=true") | ||||
|             } | ||||
|             if (this.name === undefined) { | ||||
|  | @ -449,6 +453,10 @@ export default class LayerConfig extends WithContextLoader { | |||
|             if (this.mapRendering.length === 0) { | ||||
|                 extraProps.push("Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings`") | ||||
|             } | ||||
| 
 | ||||
|             if (this.source.geojsonSource !== undefined) { | ||||
|                 extraProps.push("<img src='../warning.svg' height='1rem'/> This layer is loaded from an external source, namely `" + this.source.geojsonSource + "`") | ||||
|             } | ||||
|         } else { | ||||
|             extraProps.push("This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data.") | ||||
|         } | ||||
|  | @ -462,22 +470,70 @@ export default class LayerConfig extends WithContextLoader { | |||
|         } | ||||
| 
 | ||||
|         for (const dep of dependencies) { | ||||
|             extraProps.push(new Combine(["This layer will automatically load ", new Link(dep.neededLayer, "#"+dep.neededLayer)," into the layout as it depends on it: ", dep.reason, "("+dep.context+")"])) | ||||
|             extraProps.push(new Combine(["This layer will automatically load ", new Link(dep.neededLayer, "./" + dep.neededLayer + ".md"), " into the layout as it depends on it: ", dep.reason, "(" + dep.context + ")"])) | ||||
|         } | ||||
|          | ||||
|         for(const revDep of layerIsNeededBy?.get(this.id) ?? []){ | ||||
|             extraProps.push(new Combine(["This layer is needed as dependency for layer",new Link(revDep, "#"+revDep)])) | ||||
| 
 | ||||
|         for (const revDep of layerIsNeededBy?.get(this.id) ?? []) { | ||||
|             extraProps.push(new Combine(["This layer is needed as dependency for layer", new Link(revDep, "#" + revDep)])) | ||||
|         } | ||||
| 
 | ||||
|         const icon = Array.from(this.mapRendering[0]?.icon?.ExtractImages(true) ?? [])[0] | ||||
|         let iconImg = "" | ||||
|         if (icon !== undefined) { | ||||
|             iconImg = `<img src='https://mapcomplete.osm.be/${icon}' height="100px"> ` | ||||
|         } | ||||
| 
 | ||||
|         let neededTags: TagsFilter[] = [this.source.osmTags] | ||||
|         if (this.source.osmTags["and"] !== undefined) { | ||||
|             neededTags = this.source.osmTags["and"] | ||||
|         } | ||||
| 
 | ||||
|         let tableRows = Utils.NoNull(this.tagRenderings.map(tr => tr.FreeformValues()) | ||||
|             .map(values => { | ||||
|                 if (values == undefined) { | ||||
|                     return undefined | ||||
|                 } | ||||
|                 const embedded: (Link | string)[] = values.values?.map(v => Link.OsmWiki(values.key, v, true)) ?? ["_no preset options defined, or no values in them_"] | ||||
|                 return [ | ||||
|                     new Combine([ | ||||
|                         new Link( | ||||
|                         "<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>", | ||||
|                         "https://taginfo.openstreetmap.org/keys/"+values.key+"#values" | ||||
|                     ),Link.OsmWiki(values.key) | ||||
|                     ]), | ||||
|                     values.type === undefined ? "Multiple choice" : new Link(values.type, "../SpecialInputElements.md#" + values.type), | ||||
|                     new Combine(embedded) | ||||
|                 ]; | ||||
|             })) | ||||
| 
 | ||||
|         let quickOverview: BaseUIElement = undefined; | ||||
|         if (tableRows.length > 0) { | ||||
|             quickOverview = new Combine([ | ||||
|                 "**Warning** This quick overview is incomplete", | ||||
|                 new Table(["attribute", "type", "values which are supported by this layer"], tableRows) | ||||
|             ]).SetClass("flex-col flex") | ||||
|         } | ||||
| 
 | ||||
|         return new Combine([ | ||||
|             new Title(this.id, 3), | ||||
|             this.description, | ||||
|             new Combine([ | ||||
|                 new Title(this.id, 1), | ||||
|                 iconImg, | ||||
|                 this.description, | ||||
|                 "\n" | ||||
|             ]).SetClass("flex flex-col"), | ||||
|             new List(extraProps), | ||||
|             ...usingLayer, | ||||
| 
 | ||||
|             new Link("Go to the source code", `../assets/layers/${this.id}/${this.id}.json`), | ||||
| 
 | ||||
|             new List(extraProps), | ||||
|             ...usingLayer | ||||
|         ]).SetClass("flex flex-col") | ||||
|             new Title("Basic tags for this layer", 2), | ||||
|             "Elements must have the all of following tags to be shown on this layer:", | ||||
|             new List(neededTags.map(t => t.asHumanString(true, false, {}))), | ||||
| 
 | ||||
|             new Title("Supported attributes", 2), | ||||
|             quickOverview, | ||||
|             ...this.tagRenderings.map(tr => tr.GenerateDocumentation()) | ||||
|         ]).SetClass("flex-col") | ||||
|     } | ||||
| 
 | ||||
|     public CustomCodeSnippets(): string[] { | ||||
|  | @ -486,10 +542,10 @@ export default class LayerConfig extends WithContextLoader { | |||
|         } | ||||
|         return this.calculatedTags.map((code) => code[1]); | ||||
|     } | ||||
|      | ||||
|     AllTagRenderings(): TagRenderingConfig[]{ | ||||
|         return  Utils.NoNull([...this.tagRenderings, ...this.titleIcons, this.title, this.isShown]) | ||||
| } | ||||
| 
 | ||||
|     AllTagRenderings(): TagRenderingConfig[] { | ||||
|         return Utils.NoNull([...this.tagRenderings, ...this.titleIcons, this.title, this.isShown]) | ||||
|     } | ||||
| 
 | ||||
|     public ExtractImages(): Set<string> { | ||||
|         const parts: Set<string>[] = []; | ||||
|  |  | |||
|  | @ -7,6 +7,11 @@ import {And} from "../../Logic/Tags/And"; | |||
| import ValidatedTextField from "../../UI/Input/ValidatedTextField"; | ||||
| import {Utils} from "../../Utils"; | ||||
| import {Tag} from "../../Logic/Tags/Tag"; | ||||
| import BaseUIElement from "../../UI/BaseUIElement"; | ||||
| import Combine from "../../UI/Base/Combine"; | ||||
| import Title from "../../UI/Base/Title"; | ||||
| import Link from "../../UI/Base/Link"; | ||||
| import List from "../../UI/Base/List"; | ||||
| 
 | ||||
| /*** | ||||
|  * The parsed version of TagRenderingConfigJSON | ||||
|  | @ -397,7 +402,7 @@ export default class TagRenderingConfig { | |||
|     EnumerateTranslations(): Translation[] { | ||||
|         const translations: Translation[] = [] | ||||
|         for (const key in this) { | ||||
|             if(!this.hasOwnProperty(key)){ | ||||
|             if (!this.hasOwnProperty(key)) { | ||||
|                 continue; | ||||
|             } | ||||
|             const o = this[key] | ||||
|  | @ -420,5 +425,74 @@ export default class TagRenderingConfig { | |||
|         return usedIcons; | ||||
|     } | ||||
| 
 | ||||
|     FreeformValues(): { key: string, type?: string, values?: string [] } { | ||||
|         try { | ||||
| 
 | ||||
|             const key = this.freeform?.key | ||||
|             if (key === undefined) { | ||||
| 
 | ||||
|                 let values: { k: string, v: string }[][] = Utils.NoNull(this.mappings?.map(m => m.if.asChange({})) ?? []) | ||||
|                 if (values.length === 0) { | ||||
|                     return; | ||||
|                 } | ||||
| 
 | ||||
|                 const allKeys = values.map(arr => arr.map(o => o.k)) | ||||
|                 let common = allKeys[0]; | ||||
|                 for (const keyset of allKeys) { | ||||
|                     common = common.filter(item => keyset.indexOf(item) >= 0) | ||||
|                 } | ||||
|                 const commonKey = common[0] | ||||
|                 if (commonKey === undefined) { | ||||
|                     return undefined; | ||||
|                 } | ||||
|                 return { | ||||
|                     key: commonKey, | ||||
|                     values: Utils.NoNull(values.map(arr => arr.filter(item => item.k === commonKey)[0]?.v)) | ||||
|                 } | ||||
| 
 | ||||
|             } | ||||
| 
 | ||||
|             let values = Utils.NoNull(this.mappings?.map(m => m.if.asChange({}).filter(item => item.k === key)[0]?.v) ?? []) | ||||
|             if (values.length === undefined) { | ||||
|                 values = undefined | ||||
|             } | ||||
|             return { | ||||
|                 key, | ||||
|                 type: this.freeform.type, | ||||
|                 values | ||||
|             } | ||||
|         } catch (e) { | ||||
|             console.error("Could not create FreeformValues for tagrendering", this.id) | ||||
|             return undefined | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     GenerateDocumentation(): BaseUIElement { | ||||
| 
 | ||||
|         let withRender: (BaseUIElement | string)[] = []; | ||||
|         if (this.freeform?.key !== undefined) { | ||||
|             withRender = [ | ||||
|                 `This rendering asks information about the property `, | ||||
|                 Link.OsmWiki(this.freeform.key), | ||||
|                 `\nThis is rendered with \`${this.render.txt}\`` | ||||
| 
 | ||||
|             ] | ||||
|         } | ||||
| 
 | ||||
|         let mappings: BaseUIElement = undefined; | ||||
|         if (this.mappings !== undefined) { | ||||
|             mappings = new List( | ||||
|                 this.mappings.map(m => | ||||
|                     "**" + m.then.txt + "** corresponds with " + m.if.asHumanString(true, false, {}) | ||||
|                 ) | ||||
|             ) | ||||
|         } | ||||
| 
 | ||||
|         return new Combine([ | ||||
|             new Title(this.id, 3), | ||||
|             this.question !== undefined ? "The question is **" + this.question.txt + "**" : "_This tagrendering has no question and is thus read-only_", | ||||
|             new Combine(withRender), | ||||
|             mappings | ||||
|         ]).SetClass("flex-col"); | ||||
|     } | ||||
| } | ||||
|  | @ -17,7 +17,11 @@ export default class Combine extends BaseUIElement { | |||
|     } | ||||
| 
 | ||||
|     AsMarkdown(): string { | ||||
|         return this.uiElements.map(el => el.AsMarkdown()).join(this.HasClass("flex-col") ? "\n\n" : " "); | ||||
|         let sep = " "; | ||||
|         if(this.HasClass("flex-col")){ | ||||
|             sep = "\n\n" | ||||
|         } | ||||
|         return this.uiElements.map(el => el.AsMarkdown()).join(sep); | ||||
|     } | ||||
| 
 | ||||
|     Destroy() { | ||||
|  |  | |||
|  | @ -53,5 +53,17 @@ export default class Img extends BaseUIElement { | |||
|         } | ||||
|         return el; | ||||
|     } | ||||
|      | ||||
|     AsMarkdown(): string { | ||||
|         if(this._rawSvg === true){ | ||||
|             console.warn("Converting raw svgs to markdown is not supported"); | ||||
|             return undefined | ||||
|         } | ||||
|         let src = this._src | ||||
|         if(this._src.startsWith("./")){ | ||||
|             src = "https://mapcomplete.osm.be/"+src | ||||
|         } | ||||
|         return ""; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -13,6 +13,9 @@ export default class Link extends BaseUIElement { | |||
|         this._embeddedShow = Translations.W(embeddedShow); | ||||
|         this._href = href; | ||||
|         this._newTab = newTab; | ||||
|         if(this._embeddedShow === undefined){ | ||||
|             throw "Error: got a link where embeddedShow is undefined" | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|  | @ -40,5 +43,16 @@ export default class Link extends BaseUIElement { | |||
|         el.appendChild(embeddedShow) | ||||
|         return el; | ||||
|     } | ||||
|      | ||||
|     public static OsmWiki(key: string, value?: string, hideKey = false){ | ||||
|         if(value !== undefined){ | ||||
|             let k = ""; | ||||
|             if(!hideKey){ | ||||
|                 k = key+"=" | ||||
|             } | ||||
|             return new Link(k+value,`https://wiki.openstreetmap.org/wiki/Tag:${key}%3D${value}`) | ||||
|         } | ||||
|         return  new Link(key, "https://wiki.openstreetmap.org/wiki/Key:" + key) | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  | @ -1,5 +1,6 @@ | |||
| import {UIEventSource} from "../../Logic/UIEventSource"; | ||||
| import BaseUIElement from "../BaseUIElement"; | ||||
| import Combine from "./Combine"; | ||||
| 
 | ||||
| export class VariableUiElement extends BaseUIElement { | ||||
|     private readonly _contents: UIEventSource<string | BaseUIElement | BaseUIElement[]>; | ||||
|  | @ -46,4 +47,15 @@ export class VariableUiElement extends BaseUIElement { | |||
|         }); | ||||
|         return el; | ||||
|     } | ||||
|      | ||||
|     AsMarkdown(): string { | ||||
|         const d = this._contents.data; | ||||
|         if(typeof d === "string"){ | ||||
|             return d; | ||||
|         } | ||||
|         if(d instanceof BaseUIElement){ | ||||
|             return d.AsMarkdown() | ||||
|         } | ||||
|         return new Combine(<BaseUIElement[]>d).AsMarkdown() | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -633,7 +633,7 @@ | |||
|   "mapRendering": [ | ||||
|     { | ||||
|       "icon": { | ||||
|         "render": "circle:#FE6F32;./assets/layers/bench/bench.svg" | ||||
|         "render": "./assets/layers/bench/bench.svg" | ||||
|       }, | ||||
|       "iconSize": { | ||||
|         "render": "35,35,center" | ||||
|  |  | |||
|  | @ -1,24 +1,23 @@ | |||
| import SpecialVisualizations from "../UI/SpecialVisualizations"; | ||||
| import SimpleMetaTagger from "../Logic/SimpleMetaTagger"; | ||||
| import Combine from "../UI/Base/Combine"; | ||||
| import {ExtraFunctions} from "../Logic/ExtraFunctions"; | ||||
| import ValidatedTextField from "../UI/Input/ValidatedTextField"; | ||||
| import BaseUIElement from "../UI/BaseUIElement"; | ||||
| import Translations from "../UI/i18n/Translations"; | ||||
| import {writeFileSync} from "fs"; | ||||
| import {QueryParameters} from "../Logic/Web/QueryParameters"; | ||||
| import LayoutConfig from "../Models/ThemeConfig/LayoutConfig"; | ||||
| import Minimap from "../UI/Base/Minimap"; | ||||
| import FeatureSwitchState from "../Logic/State/FeatureSwitchState"; | ||||
| import {AllKnownLayouts} from "../Customizations/AllKnownLayouts"; | ||||
| import TableOfContents from "../UI/Base/TableOfContents"; | ||||
| import SimpleMetaTaggers, {SimpleMetaTagger} from "../Logic/SimpleMetaTagger"; | ||||
| import ValidatedTextField from "../UI/Input/ValidatedTextField"; | ||||
| import LayoutConfig from "../Models/ThemeConfig/LayoutConfig"; | ||||
| import SpecialVisualizations from "../UI/SpecialVisualizations"; | ||||
| import FeatureSwitchState from "../Logic/State/FeatureSwitchState"; | ||||
| import {ExtraFunctions} from "../Logic/ExtraFunctions"; | ||||
| import Title from "../UI/Base/Title"; | ||||
| import Minimap from "../UI/Base/Minimap"; | ||||
| import {QueryParameters} from "../Logic/Web/QueryParameters"; | ||||
| import QueryParameterDocumentation from "../UI/QueryParameterDocumentation"; | ||||
| 
 | ||||
| function WriteFile(filename, html: BaseUIElement, autogenSource: string[]): void { | ||||
| 
 | ||||
|     if (html instanceof Combine) { | ||||
|          | ||||
|         const toc = new TableOfContents(html); | ||||
|         const els = html.getElements(); | ||||
|         html = new Combine( | ||||
|  | @ -26,19 +25,32 @@ function WriteFile(filename, html: BaseUIElement, autogenSource: string[]): void | |||
|                 toc, | ||||
|                 ...els | ||||
|             ] | ||||
|         ) | ||||
|         ).SetClass("flex flex-col") | ||||
|     } | ||||
| 
 | ||||
|     writeFileSync(filename, new Combine([Translations.W(html), | ||||
|     let md = new Combine([Translations.W(html), | ||||
|         "\n\nThis document is autogenerated from " + autogenSource.join(", ") | ||||
|     ]).AsMarkdown()); | ||||
|     ]).AsMarkdown() | ||||
| 
 | ||||
|     md.replace(/\n\n\n+/g, "\n\n"); | ||||
|      | ||||
|     writeFileSync(filename, md); | ||||
| } | ||||
| 
 | ||||
| console.log("Starting documentation generation...") | ||||
| AllKnownLayouts.GenOverviewsForSingleLayer((layer, element) => { | ||||
|     console.log("Exporting ", layer.id) | ||||
|     WriteFile("./Docs/Layers/" + layer.id + ".md", element, [`assets/layers/${layer.id}/${layer.id}.json`]) | ||||
| 
 | ||||
| }) | ||||
| WriteFile("./Docs/SpecialRenderings.md", SpecialVisualizations.HelpMessage(), ["UI/SpecialVisualisations.ts"]) | ||||
| WriteFile("./Docs/CalculatedTags.md", new Combine([new Title("Metatags", 1), SimpleMetaTagger.HelpText(), ExtraFunctions.HelpText()]).SetClass("flex-col"), | ||||
| WriteFile("./Docs/CalculatedTags.md", new Combine([new Title("Metatags", 1), | ||||
|         SimpleMetaTaggers.HelpText(), ExtraFunctions.HelpText()]).SetClass("flex-col"), | ||||
|     ["SimpleMetaTagger", "ExtraFunction"]) | ||||
| WriteFile("./Docs/SpecialInputElements.md", ValidatedTextField.HelpText(), ["ValidatedTextField.ts"]); | ||||
| WriteFile("./Docs/BuiltinLayers.md", AllKnownLayouts.GenLayerOverviewText(), ["AllKnownLayers.ts"]) | ||||
| 
 | ||||
| 
 | ||||
| Minimap.createMiniMap = _ => { | ||||
|     console.log("Not creating a minimap, it is disabled"); | ||||
|     return undefined | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue