diff --git a/Docs/Schemas/DeleteConfigJson.schema.json b/Docs/Schemas/DeleteConfigJson.schema.json index 1398ab84f..33a094d8d 100644 --- a/Docs/Schemas/DeleteConfigJson.schema.json +++ b/Docs/Schemas/DeleteConfigJson.schema.json @@ -36,7 +36,15 @@ "description": "The tags that will be given to the object.\nThis must remove tags so that the 'source/osmTags' won't match anymore\n\nquestion: What tags should be applied to the object?" }, "then": { - "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?" + "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?", + "anyOf": [ + { + "$ref": "#/definitions/Record" + }, + { + "type": "string" + } + ] } }, "required": [ @@ -115,6 +123,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { diff --git a/Docs/Schemas/DeleteConfigJsonJSC.ts b/Docs/Schemas/DeleteConfigJsonJSC.ts index 3a6f5e67c..5f3727fe2 100644 --- a/Docs/Schemas/DeleteConfigJsonJSC.ts +++ b/Docs/Schemas/DeleteConfigJsonJSC.ts @@ -36,7 +36,15 @@ export default { "description": "The tags that will be given to the object.\nThis must remove tags so that the 'source/osmTags' won't match anymore\n\nquestion: What tags should be applied to the object?" }, "then": { - "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?" + "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?", + "anyOf": [ + { + "$ref": "#/definitions/Record" + }, + { + "type": "string" + } + ] } }, "required": [ @@ -114,6 +122,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { diff --git a/Docs/Schemas/DenominationConfigJson.schema.json b/Docs/Schemas/DenominationConfigJson.schema.json index 0e7029321..5f4f5cc02 100644 --- a/Docs/Schemas/DenominationConfigJson.schema.json +++ b/Docs/Schemas/DenominationConfigJson.schema.json @@ -41,6 +41,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -56,10 +60,6 @@ ], "additionalProperties": false }, - "Record": { - "type": "object", - "additionalProperties": false - }, "Record>": { "type": "object", "additionalProperties": false diff --git a/Docs/Schemas/DenominationConfigJsonJSC.ts b/Docs/Schemas/DenominationConfigJsonJSC.ts index bcd5c37ea..660f4509e 100644 --- a/Docs/Schemas/DenominationConfigJsonJSC.ts +++ b/Docs/Schemas/DenominationConfigJsonJSC.ts @@ -40,6 +40,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -54,9 +57,6 @@ export default { "or" ] }, - "Record": { - "type": "object" - }, "Record>": { "type": "object" }, diff --git a/Docs/Schemas/ExtraLinkConfigJson.schema.json b/Docs/Schemas/ExtraLinkConfigJson.schema.json index 4a298f5ba..098b6120e 100644 --- a/Docs/Schemas/ExtraLinkConfigJson.schema.json +++ b/Docs/Schemas/ExtraLinkConfigJson.schema.json @@ -82,6 +82,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -96,10 +100,6 @@ "or" ], "additionalProperties": false - }, - "Record": { - "type": "object", - "additionalProperties": false } }, "$schema": "http://json-schema.org/draft-07/schema#", diff --git a/Docs/Schemas/ExtraLinkConfigJsonJSC.ts b/Docs/Schemas/ExtraLinkConfigJsonJSC.ts index b822d4604..66081c224 100644 --- a/Docs/Schemas/ExtraLinkConfigJsonJSC.ts +++ b/Docs/Schemas/ExtraLinkConfigJsonJSC.ts @@ -81,6 +81,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -94,9 +97,6 @@ export default { "required": [ "or" ] - }, - "Record": { - "type": "object" } }, "$schema": "http://json-schema.org/draft-07/schema#" diff --git a/Docs/Schemas/FilterConfigJson.schema.json b/Docs/Schemas/FilterConfigJson.schema.json index 2d91892f2..24db048c9 100644 --- a/Docs/Schemas/FilterConfigJson.schema.json +++ b/Docs/Schemas/FilterConfigJson.schema.json @@ -103,6 +103,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -117,10 +121,6 @@ "or" ], "additionalProperties": false - }, - "Record": { - "type": "object", - "additionalProperties": false } }, "$schema": "http://json-schema.org/draft-07/schema#", diff --git a/Docs/Schemas/FilterConfigJsonJSC.ts b/Docs/Schemas/FilterConfigJsonJSC.ts index 62ba6448d..e2e02f274 100644 --- a/Docs/Schemas/FilterConfigJsonJSC.ts +++ b/Docs/Schemas/FilterConfigJsonJSC.ts @@ -102,6 +102,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -115,9 +118,6 @@ export default { "required": [ "or" ] - }, - "Record": { - "type": "object" } }, "$schema": "http://json-schema.org/draft-07/schema#" diff --git a/Docs/Schemas/IconConfigJson.schema.json b/Docs/Schemas/IconConfigJson.schema.json index 55a092fc5..d002c7bc4 100644 --- a/Docs/Schemas/IconConfigJson.schema.json +++ b/Docs/Schemas/IconConfigJson.schema.json @@ -94,6 +94,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -109,10 +113,6 @@ ], "additionalProperties": false }, - "Record": { - "type": "object", - "additionalProperties": false - }, "Record>": { "type": "object", "additionalProperties": false diff --git a/Docs/Schemas/IconConfigJsonJSC.ts b/Docs/Schemas/IconConfigJsonJSC.ts index 5350d6336..7a122e9e8 100644 --- a/Docs/Schemas/IconConfigJsonJSC.ts +++ b/Docs/Schemas/IconConfigJsonJSC.ts @@ -93,6 +93,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -107,9 +110,6 @@ export default { "or" ] }, - "Record": { - "type": "object" - }, "Record>": { "type": "object" }, diff --git a/Docs/Schemas/LayerConfigJson.schema.json b/Docs/Schemas/LayerConfigJson.schema.json index f4b125322..51af58d6c 100644 --- a/Docs/Schemas/LayerConfigJson.schema.json +++ b/Docs/Schemas/LayerConfigJson.schema.json @@ -461,6 +461,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -476,10 +480,6 @@ ], "additionalProperties": false }, - "Record": { - "type": "object", - "additionalProperties": false - }, "Record>": { "type": "object", "additionalProperties": false @@ -1896,7 +1896,15 @@ "description": "The tags that will be given to the object.\nThis must remove tags so that the 'source/osmTags' won't match anymore\n\nquestion: What tags should be applied to the object?" }, "then": { - "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?" + "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?", + "anyOf": [ + { + "$ref": "#/definitions/Record" + }, + { + "type": "string" + } + ] } }, "required": [ diff --git a/Docs/Schemas/LayerConfigJsonJSC.ts b/Docs/Schemas/LayerConfigJsonJSC.ts index 1d9cd1d2c..d7be52407 100644 --- a/Docs/Schemas/LayerConfigJsonJSC.ts +++ b/Docs/Schemas/LayerConfigJsonJSC.ts @@ -460,6 +460,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -474,9 +477,6 @@ export default { "or" ] }, - "Record": { - "type": "object" - }, "Record>": { "type": "object" }, @@ -1879,7 +1879,15 @@ export default { "description": "The tags that will be given to the object.\nThis must remove tags so that the 'source/osmTags' won't match anymore\n\nquestion: What tags should be applied to the object?" }, "then": { - "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?" + "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?", + "anyOf": [ + { + "$ref": "#/definitions/Record" + }, + { + "type": "string" + } + ] } }, "required": [ diff --git a/Docs/Schemas/LayoutConfigJson.schema.json b/Docs/Schemas/LayoutConfigJson.schema.json index 077d02824..f8fbe6486 100644 --- a/Docs/Schemas/LayoutConfigJson.schema.json +++ b/Docs/Schemas/LayoutConfigJson.schema.json @@ -58,7 +58,7 @@ ] }, "icon": { - "description": "question: What icon should be used to represent this theme?\n\nUsed as logo in the more-screen and (for official themes) as favicon, webmanifest logo, ...\n\nEither a URL or a base64 encoded value (which should include 'data:image/svg+xml;base64)\n\nType: icon\ngroup: basic", + "description": "question: What icon should be used to represent this theme?\n\nUsed as logo in the more-screen and (for official themes) as favicon, webmanifest logo, ...\n\nEither a URL or a base64 encoded value (which should include 'data:image/svg+xml;base64)\n\nType: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))\ngroup: basic", "type": "string" }, "socialImage": { @@ -104,7 +104,7 @@ "type": "boolean" }, "layers": { - "description": "question: What layers should this map show?\ntype: layer[]\ntypes: hidden | layer | hidden\ngroup: layers\nsuggestions: return Array.from(layers.keys()).map(key => ({if: \"value=\"+key, then: \"\"+key+\" (builtin) - \"+layers.get(key).description}))\n\nA theme must contain at least one layer.\n\nA layer contains all features of a single type, for example \"shops\", \"bicycle pumps\", \"benches\".\nNote that every layer contains a specification of attributes that it should match. MapComplete will fetch the relevant data from either overpass, the OSM-API or the cache server.\nIf a feature can match multiple layers, the first matching layer in the list will be used.\nThis implies that the _order_ of the layers is important.\n\n\n
\nNote that builtin layers can be reused. Either put in the name of the layer to reuse, or use {builtin: \"layername\", override: ...}\n\nThe 'override'-object will be copied over the original values of the layer, which allows to change certain aspects of the layer\n\nFor example: If you would like to use layer nature reserves, but only from a specific operator (eg. Natuurpunt) you would use the following in your theme:\n\n```\n\"layer\": {\n \"builtin\": \"nature_reserve\",\n \"override\": {\"source\":\n {\"osmTags\": {\n \"+and\":[\"operator=Natuurpunt\"]\n }\n }\n }\n}\n```\n\nIt's also possible to load multiple layers at once, for example, if you would like for both drinking water and benches to start at the zoomlevel at 12, you would use the following:\n\n```\n\"layer\": {\n \"builtin\": [\"benches\", \"drinking_water\"],\n \"override\": {\"minzoom\": 12}\n}\n```\n
", + "description": "question: What layers should this map show?\ntype: layer[]\ntypes: hidden | layer | hidden\ngroup: layers\ntitle: value[\"builtin\"] ?? value[\"id\"] ?? value\nsuggestions: return Array.from(layers.keys()).map(key => ({if: \"value=\"+key, then: \"\"+key+\" (builtin) - \"+layers.get(key).description}))\n\nA theme must contain at least one layer.\n\nA layer contains all features of a single type, for example \"shops\", \"bicycle pumps\", \"benches\".\nNote that every layer contains a specification of attributes that it should match. MapComplete will fetch the relevant data from either overpass, the OSM-API or the cache server.\nIf a feature can match multiple layers, the first matching layer in the list will be used.\nThis implies that the _order_ of the layers is important.\n\n\n
\nNote that builtin layers can be reused. Either put in the name of the layer to reuse, or use {builtin: \"layername\", override: ...}\n\nThe 'override'-object will be copied over the original values of the layer, which allows to change certain aspects of the layer\n\nFor example: If you would like to use layer nature reserves, but only from a specific operator (eg. Natuurpunt) you would use the following in your theme:\n\n```\n\"layer\": {\n \"builtin\": \"nature_reserve\",\n \"override\": {\"source\":\n {\"osmTags\": {\n \"+and\":[\"operator=Natuurpunt\"]\n }\n }\n }\n}\n```\n\nIt's also possible to load multiple layers at once, for example, if you would like for both drinking water and benches to start at the zoomlevel at 12, you would use the following:\n\n```\n\"layer\": {\n \"builtin\": [\"benches\", \"drinking_water\"],\n \"override\": {\"minzoom\": 12}\n}\n```\n
", "type": "array", "items": { "anyOf": [ @@ -352,6 +352,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -367,10 +371,6 @@ ], "additionalProperties": false }, - "Record": { - "type": "object", - "additionalProperties": false - }, "Record>": { "type": "object", "additionalProperties": false @@ -1787,7 +1787,15 @@ "description": "The tags that will be given to the object.\nThis must remove tags so that the 'source/osmTags' won't match anymore\n\nquestion: What tags should be applied to the object?" }, "then": { - "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?" + "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?", + "anyOf": [ + { + "$ref": "#/definitions/Record" + }, + { + "type": "string" + } + ] } }, "required": [ diff --git a/Docs/Schemas/LayoutConfigJsonJSC.ts b/Docs/Schemas/LayoutConfigJsonJSC.ts index d6dcb0ec3..968898b2d 100644 --- a/Docs/Schemas/LayoutConfigJsonJSC.ts +++ b/Docs/Schemas/LayoutConfigJsonJSC.ts @@ -58,7 +58,7 @@ export default { ] }, "icon": { - "description": "question: What icon should be used to represent this theme?\n\nUsed as logo in the more-screen and (for official themes) as favicon, webmanifest logo, ...\n\nEither a URL or a base64 encoded value (which should include 'data:image/svg+xml;base64)\n\nType: icon\ngroup: basic", + "description": "question: What icon should be used to represent this theme?\n\nUsed as logo in the more-screen and (for official themes) as favicon, webmanifest logo, ...\n\nEither a URL or a base64 encoded value (which should include 'data:image/svg+xml;base64)\n\nType: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))\ngroup: basic", "type": "string" }, "socialImage": { @@ -104,7 +104,7 @@ export default { "type": "boolean" }, "layers": { - "description": "question: What layers should this map show?\ntype: layer[]\ntypes: hidden | layer | hidden\ngroup: layers\nsuggestions: return Array.from(layers.keys()).map(key => ({if: \"value=\"+key, then: \"\"+key+\" (builtin) - \"+layers.get(key).description}))\n\nA theme must contain at least one layer.\n\nA layer contains all features of a single type, for example \"shops\", \"bicycle pumps\", \"benches\".\nNote that every layer contains a specification of attributes that it should match. MapComplete will fetch the relevant data from either overpass, the OSM-API or the cache server.\nIf a feature can match multiple layers, the first matching layer in the list will be used.\nThis implies that the _order_ of the layers is important.\n\n\n
\nNote that builtin layers can be reused. Either put in the name of the layer to reuse, or use {builtin: \"layername\", override: ...}\n\nThe 'override'-object will be copied over the original values of the layer, which allows to change certain aspects of the layer\n\nFor example: If you would like to use layer nature reserves, but only from a specific operator (eg. Natuurpunt) you would use the following in your theme:\n\n```\n\"layer\": {\n \"builtin\": \"nature_reserve\",\n \"override\": {\"source\":\n {\"osmTags\": {\n \"+and\":[\"operator=Natuurpunt\"]\n }\n }\n }\n}\n```\n\nIt's also possible to load multiple layers at once, for example, if you would like for both drinking water and benches to start at the zoomlevel at 12, you would use the following:\n\n```\n\"layer\": {\n \"builtin\": [\"benches\", \"drinking_water\"],\n \"override\": {\"minzoom\": 12}\n}\n```\n
", + "description": "question: What layers should this map show?\ntype: layer[]\ntypes: hidden | layer | hidden\ngroup: layers\ntitle: value[\"builtin\"] ?? value[\"id\"] ?? value\nsuggestions: return Array.from(layers.keys()).map(key => ({if: \"value=\"+key, then: \"\"+key+\" (builtin) - \"+layers.get(key).description}))\n\nA theme must contain at least one layer.\n\nA layer contains all features of a single type, for example \"shops\", \"bicycle pumps\", \"benches\".\nNote that every layer contains a specification of attributes that it should match. MapComplete will fetch the relevant data from either overpass, the OSM-API or the cache server.\nIf a feature can match multiple layers, the first matching layer in the list will be used.\nThis implies that the _order_ of the layers is important.\n\n\n
\nNote that builtin layers can be reused. Either put in the name of the layer to reuse, or use {builtin: \"layername\", override: ...}\n\nThe 'override'-object will be copied over the original values of the layer, which allows to change certain aspects of the layer\n\nFor example: If you would like to use layer nature reserves, but only from a specific operator (eg. Natuurpunt) you would use the following in your theme:\n\n```\n\"layer\": {\n \"builtin\": \"nature_reserve\",\n \"override\": {\"source\":\n {\"osmTags\": {\n \"+and\":[\"operator=Natuurpunt\"]\n }\n }\n }\n}\n```\n\nIt's also possible to load multiple layers at once, for example, if you would like for both drinking water and benches to start at the zoomlevel at 12, you would use the following:\n\n```\n\"layer\": {\n \"builtin\": [\"benches\", \"drinking_water\"],\n \"override\": {\"minzoom\": 12}\n}\n```\n
", "type": "array", "items": { "anyOf": [ @@ -351,6 +351,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -365,9 +368,6 @@ export default { "or" ] }, - "Record": { - "type": "object" - }, "Record>": { "type": "object" }, @@ -1770,7 +1770,15 @@ export default { "description": "The tags that will be given to the object.\nThis must remove tags so that the 'source/osmTags' won't match anymore\n\nquestion: What tags should be applied to the object?" }, "then": { - "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?" + "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?", + "anyOf": [ + { + "$ref": "#/definitions/Record" + }, + { + "type": "string" + } + ] } }, "required": [ diff --git a/Docs/Schemas/LineRenderingConfigJson.schema.json b/Docs/Schemas/LineRenderingConfigJson.schema.json index 1e53b6b7e..b65b2fdf9 100644 --- a/Docs/Schemas/LineRenderingConfigJson.schema.json +++ b/Docs/Schemas/LineRenderingConfigJson.schema.json @@ -133,6 +133,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -148,10 +152,6 @@ ], "additionalProperties": false }, - "Record": { - "type": "object", - "additionalProperties": false - }, "Record>": { "type": "object", "additionalProperties": false diff --git a/Docs/Schemas/LineRenderingConfigJsonJSC.ts b/Docs/Schemas/LineRenderingConfigJsonJSC.ts index 79c8bfed5..3c6e0ce4c 100644 --- a/Docs/Schemas/LineRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/LineRenderingConfigJsonJSC.ts @@ -132,6 +132,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -146,9 +149,6 @@ export default { "or" ] }, - "Record": { - "type": "object" - }, "Record>": { "type": "object" }, diff --git a/Docs/Schemas/MappingConfigJson.schema.json b/Docs/Schemas/MappingConfigJson.schema.json index 18090ea06..f6d5ddbc6 100644 --- a/Docs/Schemas/MappingConfigJson.schema.json +++ b/Docs/Schemas/MappingConfigJson.schema.json @@ -160,6 +160,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -175,10 +179,6 @@ ], "additionalProperties": false }, - "Record": { - "type": "object", - "additionalProperties": false - }, "Record>": { "type": "object", "additionalProperties": false diff --git a/Docs/Schemas/MappingConfigJsonJSC.ts b/Docs/Schemas/MappingConfigJsonJSC.ts index db8a9380b..5ea7c2c7e 100644 --- a/Docs/Schemas/MappingConfigJsonJSC.ts +++ b/Docs/Schemas/MappingConfigJsonJSC.ts @@ -159,6 +159,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -173,9 +176,6 @@ export default { "or" ] }, - "Record": { - "type": "object" - }, "Record>": { "type": "object" }, diff --git a/Docs/Schemas/MinimalTagRenderingConfigJson.schema.json b/Docs/Schemas/MinimalTagRenderingConfigJson.schema.json index b383ff28a..38a9b1ea5 100644 --- a/Docs/Schemas/MinimalTagRenderingConfigJson.schema.json +++ b/Docs/Schemas/MinimalTagRenderingConfigJson.schema.json @@ -69,6 +69,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -83,10 +87,6 @@ "or" ], "additionalProperties": false - }, - "Record": { - "type": "object", - "additionalProperties": false } }, "$schema": "http://json-schema.org/draft-07/schema#", diff --git a/Docs/Schemas/MinimalTagRenderingConfigJsonJSC.ts b/Docs/Schemas/MinimalTagRenderingConfigJsonJSC.ts index 64fa61a1f..5bca2a13d 100644 --- a/Docs/Schemas/MinimalTagRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/MinimalTagRenderingConfigJsonJSC.ts @@ -68,6 +68,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -81,9 +84,6 @@ export default { "required": [ "or" ] - }, - "Record": { - "type": "object" } }, "$schema": "http://json-schema.org/draft-07/schema#" diff --git a/Docs/Schemas/MoveConfigJson.schema.json b/Docs/Schemas/MoveConfigJson.schema.json index 25a147127..14ffd3768 100644 --- a/Docs/Schemas/MoveConfigJson.schema.json +++ b/Docs/Schemas/MoveConfigJson.schema.json @@ -51,6 +51,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -66,10 +70,6 @@ ], "additionalProperties": false }, - "Record": { - "type": "object", - "additionalProperties": false - }, "Record>": { "type": "object", "additionalProperties": false diff --git a/Docs/Schemas/MoveConfigJsonJSC.ts b/Docs/Schemas/MoveConfigJsonJSC.ts index f460491dc..ae5a5b1fa 100644 --- a/Docs/Schemas/MoveConfigJsonJSC.ts +++ b/Docs/Schemas/MoveConfigJsonJSC.ts @@ -50,6 +50,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -64,9 +67,6 @@ export default { "or" ] }, - "Record": { - "type": "object" - }, "Record>": { "type": "object" }, diff --git a/Docs/Schemas/PointRenderingConfigJson.schema.json b/Docs/Schemas/PointRenderingConfigJson.schema.json index 038f3bca0..1015e2870 100644 --- a/Docs/Schemas/PointRenderingConfigJson.schema.json +++ b/Docs/Schemas/PointRenderingConfigJson.schema.json @@ -207,6 +207,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -222,10 +226,6 @@ ], "additionalProperties": false }, - "Record": { - "type": "object", - "additionalProperties": false - }, "Record>": { "type": "object", "additionalProperties": false diff --git a/Docs/Schemas/PointRenderingConfigJsonJSC.ts b/Docs/Schemas/PointRenderingConfigJsonJSC.ts index a244e2ce9..6b8b9723a 100644 --- a/Docs/Schemas/PointRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/PointRenderingConfigJsonJSC.ts @@ -206,6 +206,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -220,9 +223,6 @@ export default { "or" ] }, - "Record": { - "type": "object" - }, "Record>": { "type": "object" }, diff --git a/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json b/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json index b0fa7cfb9..da24141e2 100644 --- a/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json +++ b/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json @@ -276,6 +276,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -291,10 +295,6 @@ ], "additionalProperties": false }, - "Record": { - "type": "object", - "additionalProperties": false - }, "Record>": { "type": "object", "additionalProperties": false diff --git a/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts b/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts index ba7306667..72e43b996 100644 --- a/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts @@ -275,6 +275,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -289,9 +292,6 @@ export default { "or" ] }, - "Record": { - "type": "object" - }, "Record>": { "type": "object" }, diff --git a/Docs/Schemas/RewritableConfigJson.schema.json b/Docs/Schemas/RewritableConfigJson.schema.json index 2055a733b..377170bad 100644 --- a/Docs/Schemas/RewritableConfigJson.schema.json +++ b/Docs/Schemas/RewritableConfigJson.schema.json @@ -87,6 +87,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -102,10 +106,6 @@ ], "additionalProperties": false }, - "Record": { - "type": "object", - "additionalProperties": false - }, "Record>": { "type": "object", "additionalProperties": false diff --git a/Docs/Schemas/RewritableConfigJsonJSC.ts b/Docs/Schemas/RewritableConfigJsonJSC.ts index f52ac7906..56a60a4ac 100644 --- a/Docs/Schemas/RewritableConfigJsonJSC.ts +++ b/Docs/Schemas/RewritableConfigJsonJSC.ts @@ -86,6 +86,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -100,9 +103,6 @@ export default { "or" ] }, - "Record": { - "type": "object" - }, "Record>": { "type": "object" }, diff --git a/Docs/Schemas/TagRenderingConfigJson.schema.json b/Docs/Schemas/TagRenderingConfigJson.schema.json index f105357b9..f23085548 100644 --- a/Docs/Schemas/TagRenderingConfigJson.schema.json +++ b/Docs/Schemas/TagRenderingConfigJson.schema.json @@ -217,6 +217,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -232,10 +236,6 @@ ], "additionalProperties": false }, - "Record": { - "type": "object", - "additionalProperties": false - }, "Record>": { "type": "object", "additionalProperties": false diff --git a/Docs/Schemas/TagRenderingConfigJsonJSC.ts b/Docs/Schemas/TagRenderingConfigJsonJSC.ts index aa77db9fe..bebfb0d5c 100644 --- a/Docs/Schemas/TagRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/TagRenderingConfigJsonJSC.ts @@ -216,6 +216,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -230,9 +233,6 @@ export default { "or" ] }, - "Record": { - "type": "object" - }, "Record>": { "type": "object" } diff --git a/Docs/Schemas/UnitConfigJson.schema.json b/Docs/Schemas/UnitConfigJson.schema.json index 7042ee043..ee18e79ee 100644 --- a/Docs/Schemas/UnitConfigJson.schema.json +++ b/Docs/Schemas/UnitConfigJson.schema.json @@ -73,6 +73,10 @@ ], "additionalProperties": false }, + "Record": { + "type": "object", + "additionalProperties": false + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -88,10 +92,6 @@ ], "additionalProperties": false }, - "Record": { - "type": "object", - "additionalProperties": false - }, "Record>": { "type": "object", "additionalProperties": false diff --git a/Docs/Schemas/UnitConfigJsonJSC.ts b/Docs/Schemas/UnitConfigJsonJSC.ts index 3ea0ef4a5..7da38382a 100644 --- a/Docs/Schemas/UnitConfigJsonJSC.ts +++ b/Docs/Schemas/UnitConfigJsonJSC.ts @@ -72,6 +72,9 @@ export default { "and" ] }, + "Record": { + "type": "object" + }, "{or:TagConfigJson[];}": { "type": "object", "properties": { @@ -86,9 +89,6 @@ export default { "or" ] }, - "Record": { - "type": "object" - }, "Record>": { "type": "object" }, diff --git a/src/assets/schemas/layerconfigmeta.json b/src/assets/schemas/layerconfigmeta.json index 9acf3d918..b5959dbe9 100644 --- a/src/assets/schemas/layerconfigmeta.json +++ b/src/assets/schemas/layerconfigmeta.json @@ -1693,9 +1693,19 @@ "question": "What icon should be used?", "suggestions": [ { - "if": "value=pin", - "then": "pin", - "icon": "pin" + "if": "value=addSmall", + "then": "addSmall", + "icon": "addSmall" + }, + { + "if": "value=brick_wall_round", + "then": "brick_wall_round", + "icon": "brick_wall_round" + }, + { + "if": "value=brick_wall_square", + "then": "brick_wall_square", + "icon": "brick_wall_square" }, { "if": "value=bug", @@ -1703,25 +1713,20 @@ "icon": "bug" }, { - "if": "value=square", - "then": "square", - "icon": "square" - }, - { - "if": "value=square_rounded", - "then": "square_rounded", - "icon": "square_rounded" - }, - { - "if": "value=circle", - "then": "circle", - "icon": "circle" + "if": "value=checkmark", + "then": "checkmark", + "icon": "checkmark" }, { "if": "value=checkmark", "then": "checkmark", "icon": "checkmark" }, + { + "if": "value=circle", + "then": "circle", + "icon": "circle" + }, { "if": "value=clock", "then": "clock", @@ -1732,11 +1737,66 @@ "then": "close", "icon": "close" }, + { + "if": "value=close", + "then": "close", + "icon": "close" + }, + { + "if": "value=confirm", + "then": "confirm", + "icon": "confirm" + }, + { + "if": "value=computer", + "then": "computer", + "icon": "computer" + }, + { + "if": "value=cross_bottom_right", + "then": "cross_bottom_right", + "icon": "cross_bottom_right" + }, { "if": "value=crosshair", "then": "crosshair", "icon": "crosshair" }, + { + "if": "value=desktop", + "then": "desktop", + "icon": "desktop" + }, + { + "if": "value=direction", + "then": "direction", + "icon": "direction" + }, + { + "if": "value=gear", + "then": "gear", + "icon": "gear" + }, + { + "if": "value=gps_arrow", + "then": "gps_arrow", + "icon": "gps_arrow" + }, + { + "if": "value=heart", + "then": "heart", + "icon": "heart" + }, + { + "if": "value=heart_outline", + "then": "heart_outline", + "icon": "heart_outline" + }, + { + "if": "value=help", + "then": "help", + "icon": "help" + }, { "if": "value=help", "then": "help", @@ -1752,6 +1812,16 @@ "then": "invalid", "icon": "invalid" }, + { + "if": "value=invalid", + "then": "invalid", + "icon": "invalid" + }, + { + "if": "value=link", + "then": "link", + "icon": "link" + }, { "if": "value=location", "then": "location", @@ -1767,11 +1837,31 @@ "then": "location_locked", "icon": "location_locked" }, + { + "if": "value=mastodon", + "then": "mastodon", + "icon": "mastodon" + }, + { + "if": "value=not_found", + "then": "not_found", + "icon": "not_found" + }, { "if": "value=note", "then": "note", "icon": "note" }, + { + "if": "value=party", + "then": "party", + "icon": "party" + }, + { + "if": "value=pin", + "then": "pin", + "icon": "pin" + }, { "if": "value=resolved", "then": "resolved", @@ -1787,6 +1877,16 @@ "then": "scissors", "icon": "scissors" }, + { + "if": "value=square", + "then": "square", + "icon": "square" + }, + { + "if": "value=square_rounded", + "then": "square_rounded", + "icon": "square_rounded" + }, { "if": "value=teardrop", "then": "teardrop", @@ -1803,84 +1903,9 @@ "icon": "triangle" }, { - "if": "value=brick_wall_square", - "then": "brick_wall_square", - "icon": "brick_wall_square" - }, - { - "if": "value=brick_wall_round", - "then": "brick_wall_round", - "icon": "brick_wall_round" - }, - { - "if": "value=gps_arrow", - "then": "gps_arrow", - "icon": "gps_arrow" - }, - { - "if": "value=checkmark", - "then": "checkmark", - "icon": "checkmark" - }, - { - "if": "value=help", - "then": "help", - "icon": "help" - }, - { - "if": "value=close", - "then": "close", - "icon": "close" - }, - { - "if": "value=invalid", - "then": "invalid", - "icon": "invalid" - }, - { - "if": "value=heart", - "then": "heart", - "icon": "heart" - }, - { - "if": "value=heart_outline", - "then": "heart_outline", - "icon": "heart_outline" - }, - { - "if": "value=link", - "then": "link", - "icon": "link" - }, - { - "if": "value=confirm", - "then": "confirm", - "icon": "confirm" - }, - { - "if": "value=direction", - "then": "direction", - "icon": "direction" - }, - { - "if": "value=not_found", - "then": "not_found", - "icon": "not_found" - }, - { - "if": "value=mastodon", - "then": "mastodon", - "icon": "mastodon" - }, - { - "if": "value=party", - "then": "party", - "icon": "party" - }, - { - "if": "value=addSmall", - "then": "addSmall", - "icon": "addSmall" + "if": "value=wifi", + "then": "wifi", + "icon": "wifi" } ] }, @@ -10294,6 +10319,10 @@ "if": "value=assembly_point", "then": "assembly_point - This layer contains assembly points and waiting areas where all employees, passengers or a large crowd assemble in case of an emergency." }, + { + "if": "value=assisted_repair", + "then": "assisted_repair - A self-assisted workshop is a location where people can come and repair their goods with help of volunteers and with the tools available at the given location. A repair café is a type of event organized regularly along the same principles." + }, { "if": "value=atm", "then": "atm - ATMs to withdraw money" @@ -10834,6 +10863,10 @@ "if": "value=toilet_at_amenity", "then": "toilet_at_amenity - A layer showing (public) toilets located at different places." }, + { + "if": "value=tool_library", + "then": "tool_library - A tool library is a place where people from the general public can borrow tools" + }, { "if": "value=trail", "then": "trail - Waymarked trails" @@ -19505,7 +19538,15 @@ "description": "The tags that will be given to the object.\nThis must remove tags so that the 'source/osmTags' won't match anymore\n\nquestion: What tags should be applied to the object?" }, "then": { - "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?" + "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?", + "anyOf": [ + { + "$ref": "#/definitions/Record" + }, + { + "type": "string" + } + ] } }, "required": [ @@ -19654,6 +19695,14 @@ "hints": { "question": "What text should be shown to the contributor for this reason?" }, + "type": [ + { + "$ref": "#/definitions/Record" + }, + { + "type": "string" + } + ], "description": "The human explanation for the options" }, { diff --git a/src/assets/schemas/layoutconfigmeta.json b/src/assets/schemas/layoutconfigmeta.json index 00436acf4..04fbd31b8 100644 --- a/src/assets/schemas/layoutconfigmeta.json +++ b/src/assets/schemas/layoutconfigmeta.json @@ -110,7 +110,224 @@ "hints": { "typehint": "icon", "group": "basic", - "question": "What icon should be used to represent this theme?" + "question": "What icon should be used to represent this theme?", + "suggestions": [ + { + "if": "value=addSmall", + "then": "addSmall", + "icon": "addSmall" + }, + { + "if": "value=brick_wall_round", + "then": "brick_wall_round", + "icon": "brick_wall_round" + }, + { + "if": "value=brick_wall_square", + "then": "brick_wall_square", + "icon": "brick_wall_square" + }, + { + "if": "value=bug", + "then": "bug", + "icon": "bug" + }, + { + "if": "value=checkmark", + "then": "checkmark", + "icon": "checkmark" + }, + { + "if": "value=checkmark", + "then": "checkmark", + "icon": "checkmark" + }, + { + "if": "value=circle", + "then": "circle", + "icon": "circle" + }, + { + "if": "value=clock", + "then": "clock", + "icon": "clock" + }, + { + "if": "value=close", + "then": "close", + "icon": "close" + }, + { + "if": "value=close", + "then": "close", + "icon": "close" + }, + { + "if": "value=confirm", + "then": "confirm", + "icon": "confirm" + }, + { + "if": "value=computer", + "then": "computer", + "icon": "computer" + }, + { + "if": "value=cross_bottom_right", + "then": "cross_bottom_right", + "icon": "cross_bottom_right" + }, + { + "if": "value=crosshair", + "then": "crosshair", + "icon": "crosshair" + }, + { + "if": "value=desktop", + "then": "desktop", + "icon": "desktop" + }, + { + "if": "value=direction", + "then": "direction", + "icon": "direction" + }, + { + "if": "value=gear", + "then": "gear", + "icon": "gear" + }, + { + "if": "value=gps_arrow", + "then": "gps_arrow", + "icon": "gps_arrow" + }, + { + "if": "value=heart", + "then": "heart", + "icon": "heart" + }, + { + "if": "value=heart_outline", + "then": "heart_outline", + "icon": "heart_outline" + }, + { + "if": "value=help", + "then": "help", + "icon": "help" + }, + { + "if": "value=help", + "then": "help", + "icon": "help" + }, + { + "if": "value=home", + "then": "home", + "icon": "home" + }, + { + "if": "value=invalid", + "then": "invalid", + "icon": "invalid" + }, + { + "if": "value=invalid", + "then": "invalid", + "icon": "invalid" + }, + { + "if": "value=link", + "then": "link", + "icon": "link" + }, + { + "if": "value=location", + "then": "location", + "icon": "location" + }, + { + "if": "value=location_empty", + "then": "location_empty", + "icon": "location_empty" + }, + { + "if": "value=location_locked", + "then": "location_locked", + "icon": "location_locked" + }, + { + "if": "value=mastodon", + "then": "mastodon", + "icon": "mastodon" + }, + { + "if": "value=not_found", + "then": "not_found", + "icon": "not_found" + }, + { + "if": "value=note", + "then": "note", + "icon": "note" + }, + { + "if": "value=party", + "then": "party", + "icon": "party" + }, + { + "if": "value=pin", + "then": "pin", + "icon": "pin" + }, + { + "if": "value=resolved", + "then": "resolved", + "icon": "resolved" + }, + { + "if": "value=ring", + "then": "ring", + "icon": "ring" + }, + { + "if": "value=scissors", + "then": "scissors", + "icon": "scissors" + }, + { + "if": "value=square", + "then": "square", + "icon": "square" + }, + { + "if": "value=square_rounded", + "then": "square_rounded", + "icon": "square_rounded" + }, + { + "if": "value=teardrop", + "then": "teardrop", + "icon": "teardrop" + }, + { + "if": "value=teardrop_with_hole_green", + "then": "teardrop_with_hole_green", + "icon": "teardrop_with_hole_green" + }, + { + "if": "value=triangle", + "then": "triangle", + "icon": "triangle" + }, + { + "if": "value=wifi", + "then": "wifi", + "icon": "wifi" + } + ] }, "type": "string", "description": "Used as logo in the more-screen and (for official themes) as favicon, webmanifest logo, ...\nEither a URL or a base64 encoded value (which should include 'data:image/svg+xml;base64)" @@ -352,6 +569,10 @@ "if": "value=assembly_point", "then": "assembly_point (builtin) - This layer contains assembly points and waiting areas where all employees, passengers or a large crowd assemble in case of an emergency." }, + { + "if": "value=assisted_repair", + "then": "assisted_repair (builtin) - A self-assisted workshop is a location where people can come and repair their goods with help of volunteers and with the tools available at the given location. A repair café is a type of event organized regularly along the same principles." + }, { "if": "value=atm", "then": "atm (builtin) - ATMs to withdraw money" @@ -892,6 +1113,10 @@ "if": "value=toilet_at_amenity", "then": "toilet_at_amenity (builtin) - A layer showing (public) toilets located at different places." }, + { + "if": "value=tool_library", + "then": "tool_library (builtin) - A tool library is a place where people from the general public can borrow tools" + }, { "if": "value=trail", "then": "trail (builtin) - Waymarked trails" @@ -956,7 +1181,8 @@ "if": "value=windturbine", "then": "windturbine (builtin) - Modern windmills generating electricity" } - ] + ], + "title": "value[\"builtin\"] ?? value[\"id\"] ?? value" }, "type": [ { @@ -1767,7 +1993,15 @@ "description": "The tags that will be given to the object.\nThis must remove tags so that the 'source/osmTags' won't match anymore\n\nquestion: What tags should be applied to the object?" }, "then": { - "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?" + "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?", + "anyOf": [ + { + "$ref": "#/definitions/Record" + }, + { + "type": "string" + } + ] } }, "required": [ @@ -3708,9 +3942,19 @@ "question": "What icon should be used?", "suggestions": [ { - "if": "value=pin", - "then": "pin", - "icon": "pin" + "if": "value=addSmall", + "then": "addSmall", + "icon": "addSmall" + }, + { + "if": "value=brick_wall_round", + "then": "brick_wall_round", + "icon": "brick_wall_round" + }, + { + "if": "value=brick_wall_square", + "then": "brick_wall_square", + "icon": "brick_wall_square" }, { "if": "value=bug", @@ -3718,25 +3962,20 @@ "icon": "bug" }, { - "if": "value=square", - "then": "square", - "icon": "square" - }, - { - "if": "value=square_rounded", - "then": "square_rounded", - "icon": "square_rounded" - }, - { - "if": "value=circle", - "then": "circle", - "icon": "circle" + "if": "value=checkmark", + "then": "checkmark", + "icon": "checkmark" }, { "if": "value=checkmark", "then": "checkmark", "icon": "checkmark" }, + { + "if": "value=circle", + "then": "circle", + "icon": "circle" + }, { "if": "value=clock", "then": "clock", @@ -3747,11 +3986,66 @@ "then": "close", "icon": "close" }, + { + "if": "value=close", + "then": "close", + "icon": "close" + }, + { + "if": "value=confirm", + "then": "confirm", + "icon": "confirm" + }, + { + "if": "value=computer", + "then": "computer", + "icon": "computer" + }, + { + "if": "value=cross_bottom_right", + "then": "cross_bottom_right", + "icon": "cross_bottom_right" + }, { "if": "value=crosshair", "then": "crosshair", "icon": "crosshair" }, + { + "if": "value=desktop", + "then": "desktop", + "icon": "desktop" + }, + { + "if": "value=direction", + "then": "direction", + "icon": "direction" + }, + { + "if": "value=gear", + "then": "gear", + "icon": "gear" + }, + { + "if": "value=gps_arrow", + "then": "gps_arrow", + "icon": "gps_arrow" + }, + { + "if": "value=heart", + "then": "heart", + "icon": "heart" + }, + { + "if": "value=heart_outline", + "then": "heart_outline", + "icon": "heart_outline" + }, + { + "if": "value=help", + "then": "help", + "icon": "help" + }, { "if": "value=help", "then": "help", @@ -3767,6 +4061,16 @@ "then": "invalid", "icon": "invalid" }, + { + "if": "value=invalid", + "then": "invalid", + "icon": "invalid" + }, + { + "if": "value=link", + "then": "link", + "icon": "link" + }, { "if": "value=location", "then": "location", @@ -3782,11 +4086,31 @@ "then": "location_locked", "icon": "location_locked" }, + { + "if": "value=mastodon", + "then": "mastodon", + "icon": "mastodon" + }, + { + "if": "value=not_found", + "then": "not_found", + "icon": "not_found" + }, { "if": "value=note", "then": "note", "icon": "note" }, + { + "if": "value=party", + "then": "party", + "icon": "party" + }, + { + "if": "value=pin", + "then": "pin", + "icon": "pin" + }, { "if": "value=resolved", "then": "resolved", @@ -3802,6 +4126,16 @@ "then": "scissors", "icon": "scissors" }, + { + "if": "value=square", + "then": "square", + "icon": "square" + }, + { + "if": "value=square_rounded", + "then": "square_rounded", + "icon": "square_rounded" + }, { "if": "value=teardrop", "then": "teardrop", @@ -3818,84 +4152,9 @@ "icon": "triangle" }, { - "if": "value=brick_wall_square", - "then": "brick_wall_square", - "icon": "brick_wall_square" - }, - { - "if": "value=brick_wall_round", - "then": "brick_wall_round", - "icon": "brick_wall_round" - }, - { - "if": "value=gps_arrow", - "then": "gps_arrow", - "icon": "gps_arrow" - }, - { - "if": "value=checkmark", - "then": "checkmark", - "icon": "checkmark" - }, - { - "if": "value=help", - "then": "help", - "icon": "help" - }, - { - "if": "value=close", - "then": "close", - "icon": "close" - }, - { - "if": "value=invalid", - "then": "invalid", - "icon": "invalid" - }, - { - "if": "value=heart", - "then": "heart", - "icon": "heart" - }, - { - "if": "value=heart_outline", - "then": "heart_outline", - "icon": "heart_outline" - }, - { - "if": "value=link", - "then": "link", - "icon": "link" - }, - { - "if": "value=confirm", - "then": "confirm", - "icon": "confirm" - }, - { - "if": "value=direction", - "then": "direction", - "icon": "direction" - }, - { - "if": "value=not_found", - "then": "not_found", - "icon": "not_found" - }, - { - "if": "value=mastodon", - "then": "mastodon", - "icon": "mastodon" - }, - { - "if": "value=party", - "then": "party", - "icon": "party" - }, - { - "if": "value=addSmall", - "then": "addSmall", - "icon": "addSmall" + "if": "value=wifi", + "then": "wifi", + "icon": "wifi" } ] }, @@ -12584,6 +12843,10 @@ "if": "value=assembly_point", "then": "assembly_point - This layer contains assembly points and waiting areas where all employees, passengers or a large crowd assemble in case of an emergency." }, + { + "if": "value=assisted_repair", + "then": "assisted_repair - A self-assisted workshop is a location where people can come and repair their goods with help of volunteers and with the tools available at the given location. A repair café is a type of event organized regularly along the same principles." + }, { "if": "value=atm", "then": "atm - ATMs to withdraw money" @@ -13124,6 +13387,10 @@ "if": "value=toilet_at_amenity", "then": "toilet_at_amenity - A layer showing (public) toilets located at different places." }, + { + "if": "value=tool_library", + "then": "tool_library - A tool library is a place where people from the general public can borrow tools" + }, { "if": "value=trail", "then": "trail - Waymarked trails" @@ -22114,7 +22381,15 @@ "description": "The tags that will be given to the object.\nThis must remove tags so that the 'source/osmTags' won't match anymore\n\nquestion: What tags should be applied to the object?" }, "then": { - "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?" + "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?", + "anyOf": [ + { + "$ref": "#/definitions/Record" + }, + { + "type": "string" + } + ] } }, "required": [ @@ -22270,6 +22545,14 @@ "hints": { "question": "What text should be shown to the contributor for this reason?" }, + "type": [ + { + "$ref": "#/definitions/Record" + }, + { + "type": "string" + } + ], "description": "The human explanation for the options" }, { @@ -24592,9 +24875,19 @@ "question": "What icon should be used?", "suggestions": [ { - "if": "value=pin", - "then": "pin", - "icon": "pin" + "if": "value=addSmall", + "then": "addSmall", + "icon": "addSmall" + }, + { + "if": "value=brick_wall_round", + "then": "brick_wall_round", + "icon": "brick_wall_round" + }, + { + "if": "value=brick_wall_square", + "then": "brick_wall_square", + "icon": "brick_wall_square" }, { "if": "value=bug", @@ -24602,25 +24895,20 @@ "icon": "bug" }, { - "if": "value=square", - "then": "square", - "icon": "square" - }, - { - "if": "value=square_rounded", - "then": "square_rounded", - "icon": "square_rounded" - }, - { - "if": "value=circle", - "then": "circle", - "icon": "circle" + "if": "value=checkmark", + "then": "checkmark", + "icon": "checkmark" }, { "if": "value=checkmark", "then": "checkmark", "icon": "checkmark" }, + { + "if": "value=circle", + "then": "circle", + "icon": "circle" + }, { "if": "value=clock", "then": "clock", @@ -24631,11 +24919,66 @@ "then": "close", "icon": "close" }, + { + "if": "value=close", + "then": "close", + "icon": "close" + }, + { + "if": "value=confirm", + "then": "confirm", + "icon": "confirm" + }, + { + "if": "value=computer", + "then": "computer", + "icon": "computer" + }, + { + "if": "value=cross_bottom_right", + "then": "cross_bottom_right", + "icon": "cross_bottom_right" + }, { "if": "value=crosshair", "then": "crosshair", "icon": "crosshair" }, + { + "if": "value=desktop", + "then": "desktop", + "icon": "desktop" + }, + { + "if": "value=direction", + "then": "direction", + "icon": "direction" + }, + { + "if": "value=gear", + "then": "gear", + "icon": "gear" + }, + { + "if": "value=gps_arrow", + "then": "gps_arrow", + "icon": "gps_arrow" + }, + { + "if": "value=heart", + "then": "heart", + "icon": "heart" + }, + { + "if": "value=heart_outline", + "then": "heart_outline", + "icon": "heart_outline" + }, + { + "if": "value=help", + "then": "help", + "icon": "help" + }, { "if": "value=help", "then": "help", @@ -24651,6 +24994,16 @@ "then": "invalid", "icon": "invalid" }, + { + "if": "value=invalid", + "then": "invalid", + "icon": "invalid" + }, + { + "if": "value=link", + "then": "link", + "icon": "link" + }, { "if": "value=location", "then": "location", @@ -24666,11 +25019,31 @@ "then": "location_locked", "icon": "location_locked" }, + { + "if": "value=mastodon", + "then": "mastodon", + "icon": "mastodon" + }, + { + "if": "value=not_found", + "then": "not_found", + "icon": "not_found" + }, { "if": "value=note", "then": "note", "icon": "note" }, + { + "if": "value=party", + "then": "party", + "icon": "party" + }, + { + "if": "value=pin", + "then": "pin", + "icon": "pin" + }, { "if": "value=resolved", "then": "resolved", @@ -24686,6 +25059,16 @@ "then": "scissors", "icon": "scissors" }, + { + "if": "value=square", + "then": "square", + "icon": "square" + }, + { + "if": "value=square_rounded", + "then": "square_rounded", + "icon": "square_rounded" + }, { "if": "value=teardrop", "then": "teardrop", @@ -24702,84 +25085,9 @@ "icon": "triangle" }, { - "if": "value=brick_wall_square", - "then": "brick_wall_square", - "icon": "brick_wall_square" - }, - { - "if": "value=brick_wall_round", - "then": "brick_wall_round", - "icon": "brick_wall_round" - }, - { - "if": "value=gps_arrow", - "then": "gps_arrow", - "icon": "gps_arrow" - }, - { - "if": "value=checkmark", - "then": "checkmark", - "icon": "checkmark" - }, - { - "if": "value=help", - "then": "help", - "icon": "help" - }, - { - "if": "value=close", - "then": "close", - "icon": "close" - }, - { - "if": "value=invalid", - "then": "invalid", - "icon": "invalid" - }, - { - "if": "value=heart", - "then": "heart", - "icon": "heart" - }, - { - "if": "value=heart_outline", - "then": "heart_outline", - "icon": "heart_outline" - }, - { - "if": "value=link", - "then": "link", - "icon": "link" - }, - { - "if": "value=confirm", - "then": "confirm", - "icon": "confirm" - }, - { - "if": "value=direction", - "then": "direction", - "icon": "direction" - }, - { - "if": "value=not_found", - "then": "not_found", - "icon": "not_found" - }, - { - "if": "value=mastodon", - "then": "mastodon", - "icon": "mastodon" - }, - { - "if": "value=party", - "then": "party", - "icon": "party" - }, - { - "if": "value=addSmall", - "then": "addSmall", - "icon": "addSmall" + "if": "value=wifi", + "then": "wifi", + "icon": "wifi" } ] }, @@ -33743,6 +34051,10 @@ "if": "value=assembly_point", "then": "assembly_point - This layer contains assembly points and waiting areas where all employees, passengers or a large crowd assemble in case of an emergency." }, + { + "if": "value=assisted_repair", + "then": "assisted_repair - A self-assisted workshop is a location where people can come and repair their goods with help of volunteers and with the tools available at the given location. A repair café is a type of event organized regularly along the same principles." + }, { "if": "value=atm", "then": "atm - ATMs to withdraw money" @@ -34283,6 +34595,10 @@ "if": "value=toilet_at_amenity", "then": "toilet_at_amenity - A layer showing (public) toilets located at different places." }, + { + "if": "value=tool_library", + "then": "tool_library - A tool library is a place where people from the general public can borrow tools" + }, { "if": "value=trail", "then": "trail - Waymarked trails" @@ -43592,7 +43908,15 @@ "description": "The tags that will be given to the object.\nThis must remove tags so that the 'source/osmTags' won't match anymore\n\nquestion: What tags should be applied to the object?" }, "then": { - "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?" + "description": "The human explanation for the options\n\nquestion: What text should be shown to the contributor for this reason?", + "anyOf": [ + { + "$ref": "#/definitions/Record" + }, + { + "type": "string" + } + ] } }, "required": [ @@ -43755,6 +44079,14 @@ "hints": { "question": "What text should be shown to the contributor for this reason?" }, + "type": [ + { + "$ref": "#/definitions/Record" + }, + { + "type": "string" + } + ], "description": "The human explanation for the options" }, {