Chore: regenerate schemas for studio

This commit is contained in:
Pieter Vander Vennet 2024-06-19 00:28:30 +02:00
parent 702dcd7e15
commit f2e3888a56
16 changed files with 128 additions and 98 deletions

View file

@ -2,7 +2,7 @@
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -26,7 +26,7 @@
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"

View file

@ -2,7 +2,7 @@ export default {
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -26,7 +26,7 @@ export default {
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"

View file

@ -393,7 +393,7 @@
} }
}, },
"syncSelection": { "syncSelection": {
"description": "If set, synchronizes whether or not this layer is enabled.\n\ngroup: advanced\nquestion: Should enabling/disabling the layer be saved (locally or in the cloud)?\nsuggestions: return [{if: \"value=no\", then: \"Don't save, always revert to the default\"}, {if: \"value=local\", then: \"Save selection in local storage\"}, {if: \"value=theme-only\", then: \"Save the state in the OSM-usersettings, but apply on this theme only (default)\"}, {if: \"value=global\", then: \"Save in OSM-usersettings and toggle on _all_ themes using this layer\"}]", "description": "If set, synchronizes whether this layer is enabled.\n\ngroup: advanced\nquestion: Should enabling/disabling the layer be saved (locally or in the cloud)?\nsuggestions: return [{if: \"value=no\", then: \"Don't save, always revert to the default\"}, {if: \"value=local\", then: \"Save selection in local storage\"}, {if: \"value=theme-only\", then: \"Save the state in the OSM-usersettings, but apply on this theme only (default)\"}, {if: \"value=global\", then: \"Save in OSM-usersettings and toggle on _all_ themes using this layer\"}]",
"enum": [ "enum": [
"global", "global",
"local", "local",
@ -409,6 +409,10 @@
"fullNodeDatabase": { "fullNodeDatabase": {
"description": "_Set automatically by MapComplete, please ignore_\n\ngroup: hidden", "description": "_Set automatically by MapComplete, please ignore_\n\ngroup: hidden",
"type": "boolean" "type": "boolean"
},
"enableMorePrivacy": {
"description": "question: Should a theme using this layer leak some location info when making changes?\n\nWhen a changeset is made, a 'distance to object'-class is written to the changeset.\nFor some particular themes and layers, this might leak too much information, and we want to obfuscate this\n\nifunset: Write 'change_within_x_m' as usual and if GPS is enabled\niftrue: Do not write 'change_within_x_m' and do not indicate that this was done by survey",
"type": "boolean"
} }
}, },
"required": [ "required": [
@ -584,7 +588,7 @@
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -608,7 +612,7 @@
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -1222,7 +1226,7 @@
} }
}, },
"multiAnswer": { "multiAnswer": {
"description": "If true, use checkboxes instead of radio buttons when asking the question\n\nquestion: Should a contributor be allowed to select multiple mappings?\n\niftrue: allow to select multiple mappings\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping", "description": "question: Should a contributor be allowed to select multiple mappings?\n\nIf true, use checkboxes instead of radio buttons when asking the question.\n\niftrue: allow to select multiple mappings (and show a freeform-value as list if ';'-separated)\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping",
"type": "boolean" "type": "boolean"
}, },
"freeform": { "freeform": {
@ -1248,11 +1252,6 @@
} }
] ]
}, },
"helperArgs": {
"description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
"type": "array",
"items": {}
},
"addExtraTags": { "addExtraTags": {
"description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert", "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
"type": "array", "type": "array",
@ -1281,6 +1280,10 @@
"type": "string" "type": "string"
} }
] ]
},
"postfixDistinguished": {
"description": "question: If this key shared and distinguished by a postfix, what is the postfix?\nThis option is used specifically for `charge`, where the cost is indicated with `/item`.\n\nFor example, a vending machine might sell `bicycle_tube`.\nSetting this value to `bicycle_tube`, then answering this question will set `charge= €XX/bicycle_tube`.\nIf charge did already contain another value, e.g. `charge= €YY/some_item; €ZZ/other_item`, then `€XX/bicycle_tube`will be added.\nNote: those values are sorted alphabetically\nNote: no need to add the `/`\n\nifunset: Don't distinguish by postfix\ngroup: expert",
"type": "string"
} }
} }
}, },
@ -1448,7 +1451,7 @@
} }
}, },
"multiAnswer": { "multiAnswer": {
"description": "If true, use checkboxes instead of radio buttons when asking the question\n\nquestion: Should a contributor be allowed to select multiple mappings?\n\niftrue: allow to select multiple mappings\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping", "description": "question: Should a contributor be allowed to select multiple mappings?\n\nIf true, use checkboxes instead of radio buttons when asking the question.\n\niftrue: allow to select multiple mappings (and show a freeform-value as list if ';'-separated)\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping",
"type": "boolean" "type": "boolean"
}, },
"freeform": { "freeform": {
@ -1474,11 +1477,6 @@
} }
] ]
}, },
"helperArgs": {
"description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
"type": "array",
"items": {}
},
"addExtraTags": { "addExtraTags": {
"description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert", "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
"type": "array", "type": "array",
@ -1507,6 +1505,10 @@
"type": "string" "type": "string"
} }
] ]
},
"postfixDistinguished": {
"description": "question: If this key shared and distinguished by a postfix, what is the postfix?\nThis option is used specifically for `charge`, where the cost is indicated with `/item`.\n\nFor example, a vending machine might sell `bicycle_tube`.\nSetting this value to `bicycle_tube`, then answering this question will set `charge= €XX/bicycle_tube`.\nIf charge did already contain another value, e.g. `charge= €YY/some_item; €ZZ/other_item`, then `€XX/bicycle_tube`will be added.\nNote: those values are sorted alphabetically\nNote: no need to add the `/`\n\nifunset: Don't distinguish by postfix\ngroup: expert",
"type": "string"
} }
} }
}, },
@ -1684,6 +1686,7 @@
] ]
}, },
"subexpand": { "subexpand": {
"description": "Used to expand a sublist.\nE.g. a target `rendering` is:\n\ne.g.\n{\n rewrite: [\"{{x}}\", \"{{y}}\"],\n into:[\n [\"{{x}}\": \"some X\"],\n [\"{{y}}\", [\"option 1\", \"option 2\"]]\n ],\n renderings:[\n {\n \"question\":\"Is {{x}}\",\n \"mappings\": [\"if={{y}}\",then: \"...\"]\n }\n ]\n subExpand: {\n // The list with the key\n \"mappings\":\n // will be taken and multiplied by all possible values of\n \"{{y}}\"\n // Note that this implies that `into.[*].[{{y}}]` should be a list of items\n }\n}\n\nExpansion will result in:\n{\n question: \"Is some X\",\n mappings: [{\"if=option 1\", then: \"...\"}, {\"if=option 2\", then: \"...\"}]\n}",
"$ref": "#/definitions/Record<string,string[]>" "$ref": "#/definitions/Record<string,string[]>"
}, },
"renderings": { "renderings": {

View file

@ -393,7 +393,7 @@ export default {
} }
}, },
"syncSelection": { "syncSelection": {
"description": "If set, synchronizes whether or not this layer is enabled.\n\ngroup: advanced\nquestion: Should enabling/disabling the layer be saved (locally or in the cloud)?\nsuggestions: return [{if: \"value=no\", then: \"Don't save, always revert to the default\"}, {if: \"value=local\", then: \"Save selection in local storage\"}, {if: \"value=theme-only\", then: \"Save the state in the OSM-usersettings, but apply on this theme only (default)\"}, {if: \"value=global\", then: \"Save in OSM-usersettings and toggle on _all_ themes using this layer\"}]", "description": "If set, synchronizes whether this layer is enabled.\n\ngroup: advanced\nquestion: Should enabling/disabling the layer be saved (locally or in the cloud)?\nsuggestions: return [{if: \"value=no\", then: \"Don't save, always revert to the default\"}, {if: \"value=local\", then: \"Save selection in local storage\"}, {if: \"value=theme-only\", then: \"Save the state in the OSM-usersettings, but apply on this theme only (default)\"}, {if: \"value=global\", then: \"Save in OSM-usersettings and toggle on _all_ themes using this layer\"}]",
"enum": [ "enum": [
"global", "global",
"local", "local",
@ -409,6 +409,10 @@ export default {
"fullNodeDatabase": { "fullNodeDatabase": {
"description": "_Set automatically by MapComplete, please ignore_\n\ngroup: hidden", "description": "_Set automatically by MapComplete, please ignore_\n\ngroup: hidden",
"type": "boolean" "type": "boolean"
},
"enableMorePrivacy": {
"description": "question: Should a theme using this layer leak some location info when making changes?\n\nWhen a changeset is made, a 'distance to object'-class is written to the changeset.\nFor some particular themes and layers, this might leak too much information, and we want to obfuscate this\n\nifunset: Write 'change_within_x_m' as usual and if GPS is enabled\niftrue: Do not write 'change_within_x_m' and do not indicate that this was done by survey",
"type": "boolean"
} }
}, },
"required": [ "required": [
@ -578,7 +582,7 @@ export default {
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -602,7 +606,7 @@ export default {
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -1209,7 +1213,7 @@ export default {
} }
}, },
"multiAnswer": { "multiAnswer": {
"description": "If true, use checkboxes instead of radio buttons when asking the question\n\nquestion: Should a contributor be allowed to select multiple mappings?\n\niftrue: allow to select multiple mappings\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping", "description": "question: Should a contributor be allowed to select multiple mappings?\n\nIf true, use checkboxes instead of radio buttons when asking the question.\n\niftrue: allow to select multiple mappings (and show a freeform-value as list if ';'-separated)\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping",
"type": "boolean" "type": "boolean"
}, },
"freeform": { "freeform": {
@ -1235,11 +1239,6 @@ export default {
} }
] ]
}, },
"helperArgs": {
"description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
"type": "array",
"items": {}
},
"addExtraTags": { "addExtraTags": {
"description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert", "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
"type": "array", "type": "array",
@ -1268,6 +1267,10 @@ export default {
"type": "string" "type": "string"
} }
] ]
},
"postfixDistinguished": {
"description": "question: If this key shared and distinguished by a postfix, what is the postfix?\nThis option is used specifically for `charge`, where the cost is indicated with `/item`.\n\nFor example, a vending machine might sell `bicycle_tube`.\nSetting this value to `bicycle_tube`, then answering this question will set `charge= €XX/bicycle_tube`.\nIf charge did already contain another value, e.g. `charge= €YY/some_item; €ZZ/other_item`, then `€XX/bicycle_tube`will be added.\nNote: those values are sorted alphabetically\nNote: no need to add the `/`\n\nifunset: Don't distinguish by postfix\ngroup: expert",
"type": "string"
} }
} }
}, },
@ -1434,7 +1437,7 @@ export default {
} }
}, },
"multiAnswer": { "multiAnswer": {
"description": "If true, use checkboxes instead of radio buttons when asking the question\n\nquestion: Should a contributor be allowed to select multiple mappings?\n\niftrue: allow to select multiple mappings\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping", "description": "question: Should a contributor be allowed to select multiple mappings?\n\nIf true, use checkboxes instead of radio buttons when asking the question.\n\niftrue: allow to select multiple mappings (and show a freeform-value as list if ';'-separated)\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping",
"type": "boolean" "type": "boolean"
}, },
"freeform": { "freeform": {
@ -1460,11 +1463,6 @@ export default {
} }
] ]
}, },
"helperArgs": {
"description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
"type": "array",
"items": {}
},
"addExtraTags": { "addExtraTags": {
"description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert", "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
"type": "array", "type": "array",
@ -1493,6 +1491,10 @@ export default {
"type": "string" "type": "string"
} }
] ]
},
"postfixDistinguished": {
"description": "question: If this key shared and distinguished by a postfix, what is the postfix?\nThis option is used specifically for `charge`, where the cost is indicated with `/item`.\n\nFor example, a vending machine might sell `bicycle_tube`.\nSetting this value to `bicycle_tube`, then answering this question will set `charge= €XX/bicycle_tube`.\nIf charge did already contain another value, e.g. `charge= €YY/some_item; €ZZ/other_item`, then `€XX/bicycle_tube`will be added.\nNote: those values are sorted alphabetically\nNote: no need to add the `/`\n\nifunset: Don't distinguish by postfix\ngroup: expert",
"type": "string"
} }
} }
}, },
@ -1669,6 +1671,7 @@ export default {
] ]
}, },
"subexpand": { "subexpand": {
"description": "Used to expand a sublist.\nE.g. a target `rendering` is:\n\ne.g.\n{\n rewrite: [\"{{x}}\", \"{{y}}\"],\n into:[\n [\"{{x}}\": \"some X\"],\n [\"{{y}}\", [\"option 1\", \"option 2\"]]\n ],\n renderings:[\n {\n \"question\":\"Is {{x}}\",\n \"mappings\": [\"if={{y}}\",then: \"...\"]\n }\n ]\n subExpand: {\n // The list with the key\n \"mappings\":\n // will be taken and multiplied by all possible values of\n \"{{y}}\"\n // Note that this implies that `into.[*].[{{y}}]` should be a list of items\n }\n}\n\nExpansion will result in:\n{\n question: \"Is some X\",\n mappings: [{\"if=option 1\", then: \"...\"}, {\"if=option 2\", then: \"...\"}]\n}",
"$ref": "#/definitions/Record<string,string[]>" "$ref": "#/definitions/Record<string,string[]>"
}, },
"renderings": { "renderings": {

View file

@ -297,10 +297,15 @@
"enableNodeDatabase": { "enableNodeDatabase": {
"description": "Enables tracking of all nodes when data is loaded.\nThis is useful for the 'ImportWay' and 'ConflateWay'-buttons who need this database.\n\nNote: this flag will be automatically set and can thus be ignored.\ngroup: hidden", "description": "Enables tracking of all nodes when data is loaded.\nThis is useful for the 'ImportWay' and 'ConflateWay'-buttons who need this database.\n\nNote: this flag will be automatically set and can thus be ignored.\ngroup: hidden",
"type": "boolean" "type": "boolean"
},
"enableMorePrivacy": {
"description": "question: Should this theme leak some location info when making changes?\n\nWhen a changeset is made, a 'distance to object'-class is written to the changeset.\nFor some particular themes and layers, this might leak too much information, and we want to obfuscate this\n\nifunset: Write 'change_within_x_m' as usual and if GPS is enabled\niftrue: Do not write 'change_within_x_m' and do not indicate that this was done by survey",
"type": "boolean"
} }
}, },
"required": [ "required": [
"description", "description",
"enableMorePrivacy",
"icon", "icon",
"id", "id",
"layers", "layers",
@ -474,7 +479,7 @@
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -498,7 +503,7 @@
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -1112,7 +1117,7 @@
} }
}, },
"multiAnswer": { "multiAnswer": {
"description": "If true, use checkboxes instead of radio buttons when asking the question\n\nquestion: Should a contributor be allowed to select multiple mappings?\n\niftrue: allow to select multiple mappings\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping", "description": "question: Should a contributor be allowed to select multiple mappings?\n\nIf true, use checkboxes instead of radio buttons when asking the question.\n\niftrue: allow to select multiple mappings (and show a freeform-value as list if ';'-separated)\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping",
"type": "boolean" "type": "boolean"
}, },
"freeform": { "freeform": {
@ -1138,11 +1143,6 @@
} }
] ]
}, },
"helperArgs": {
"description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
"type": "array",
"items": {}
},
"addExtraTags": { "addExtraTags": {
"description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert", "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
"type": "array", "type": "array",
@ -1171,6 +1171,10 @@
"type": "string" "type": "string"
} }
] ]
},
"postfixDistinguished": {
"description": "question: If this key shared and distinguished by a postfix, what is the postfix?\nThis option is used specifically for `charge`, where the cost is indicated with `/item`.\n\nFor example, a vending machine might sell `bicycle_tube`.\nSetting this value to `bicycle_tube`, then answering this question will set `charge= €XX/bicycle_tube`.\nIf charge did already contain another value, e.g. `charge= €YY/some_item; €ZZ/other_item`, then `€XX/bicycle_tube`will be added.\nNote: those values are sorted alphabetically\nNote: no need to add the `/`\n\nifunset: Don't distinguish by postfix\ngroup: expert",
"type": "string"
} }
} }
}, },
@ -1338,7 +1342,7 @@
} }
}, },
"multiAnswer": { "multiAnswer": {
"description": "If true, use checkboxes instead of radio buttons when asking the question\n\nquestion: Should a contributor be allowed to select multiple mappings?\n\niftrue: allow to select multiple mappings\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping", "description": "question: Should a contributor be allowed to select multiple mappings?\n\nIf true, use checkboxes instead of radio buttons when asking the question.\n\niftrue: allow to select multiple mappings (and show a freeform-value as list if ';'-separated)\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping",
"type": "boolean" "type": "boolean"
}, },
"freeform": { "freeform": {
@ -1364,11 +1368,6 @@
} }
] ]
}, },
"helperArgs": {
"description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
"type": "array",
"items": {}
},
"addExtraTags": { "addExtraTags": {
"description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert", "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
"type": "array", "type": "array",
@ -1397,6 +1396,10 @@
"type": "string" "type": "string"
} }
] ]
},
"postfixDistinguished": {
"description": "question: If this key shared and distinguished by a postfix, what is the postfix?\nThis option is used specifically for `charge`, where the cost is indicated with `/item`.\n\nFor example, a vending machine might sell `bicycle_tube`.\nSetting this value to `bicycle_tube`, then answering this question will set `charge= €XX/bicycle_tube`.\nIf charge did already contain another value, e.g. `charge= €YY/some_item; €ZZ/other_item`, then `€XX/bicycle_tube`will be added.\nNote: those values are sorted alphabetically\nNote: no need to add the `/`\n\nifunset: Don't distinguish by postfix\ngroup: expert",
"type": "string"
} }
} }
}, },
@ -1574,6 +1577,7 @@
] ]
}, },
"subexpand": { "subexpand": {
"description": "Used to expand a sublist.\nE.g. a target `rendering` is:\n\ne.g.\n{\n rewrite: [\"{{x}}\", \"{{y}}\"],\n into:[\n [\"{{x}}\": \"some X\"],\n [\"{{y}}\", [\"option 1\", \"option 2\"]]\n ],\n renderings:[\n {\n \"question\":\"Is {{x}}\",\n \"mappings\": [\"if={{y}}\",then: \"...\"]\n }\n ]\n subExpand: {\n // The list with the key\n \"mappings\":\n // will be taken and multiplied by all possible values of\n \"{{y}}\"\n // Note that this implies that `into.[*].[{{y}}]` should be a list of items\n }\n}\n\nExpansion will result in:\n{\n question: \"Is some X\",\n mappings: [{\"if=option 1\", then: \"...\"}, {\"if=option 2\", then: \"...\"}]\n}",
"$ref": "#/definitions/Record<string,string[]>" "$ref": "#/definitions/Record<string,string[]>"
}, },
"renderings": { "renderings": {
@ -2284,7 +2288,7 @@
} }
}, },
"syncSelection": { "syncSelection": {
"description": "If set, synchronizes whether or not this layer is enabled.\n\ngroup: advanced\nquestion: Should enabling/disabling the layer be saved (locally or in the cloud)?\nsuggestions: return [{if: \"value=no\", then: \"Don't save, always revert to the default\"}, {if: \"value=local\", then: \"Save selection in local storage\"}, {if: \"value=theme-only\", then: \"Save the state in the OSM-usersettings, but apply on this theme only (default)\"}, {if: \"value=global\", then: \"Save in OSM-usersettings and toggle on _all_ themes using this layer\"}]", "description": "If set, synchronizes whether this layer is enabled.\n\ngroup: advanced\nquestion: Should enabling/disabling the layer be saved (locally or in the cloud)?\nsuggestions: return [{if: \"value=no\", then: \"Don't save, always revert to the default\"}, {if: \"value=local\", then: \"Save selection in local storage\"}, {if: \"value=theme-only\", then: \"Save the state in the OSM-usersettings, but apply on this theme only (default)\"}, {if: \"value=global\", then: \"Save in OSM-usersettings and toggle on _all_ themes using this layer\"}]",
"enum": [ "enum": [
"global", "global",
"local", "local",
@ -2300,6 +2304,10 @@
"fullNodeDatabase": { "fullNodeDatabase": {
"description": "_Set automatically by MapComplete, please ignore_\n\ngroup: hidden", "description": "_Set automatically by MapComplete, please ignore_\n\ngroup: hidden",
"type": "boolean" "type": "boolean"
},
"enableMorePrivacy": {
"description": "question: Should a theme using this layer leak some location info when making changes?\n\nWhen a changeset is made, a 'distance to object'-class is written to the changeset.\nFor some particular themes and layers, this might leak too much information, and we want to obfuscate this\n\nifunset: Write 'change_within_x_m' as usual and if GPS is enabled\niftrue: Do not write 'change_within_x_m' and do not indicate that this was done by survey",
"type": "boolean"
} }
}, },
"required": [ "required": [
@ -2703,7 +2711,7 @@
} }
}, },
"syncSelection": { "syncSelection": {
"description": "If set, synchronizes whether or not this layer is enabled.\n\ngroup: advanced\nquestion: Should enabling/disabling the layer be saved (locally or in the cloud)?\nsuggestions: return [{if: \"value=no\", then: \"Don't save, always revert to the default\"}, {if: \"value=local\", then: \"Save selection in local storage\"}, {if: \"value=theme-only\", then: \"Save the state in the OSM-usersettings, but apply on this theme only (default)\"}, {if: \"value=global\", then: \"Save in OSM-usersettings and toggle on _all_ themes using this layer\"}]", "description": "If set, synchronizes whether this layer is enabled.\n\ngroup: advanced\nquestion: Should enabling/disabling the layer be saved (locally or in the cloud)?\nsuggestions: return [{if: \"value=no\", then: \"Don't save, always revert to the default\"}, {if: \"value=local\", then: \"Save selection in local storage\"}, {if: \"value=theme-only\", then: \"Save the state in the OSM-usersettings, but apply on this theme only (default)\"}, {if: \"value=global\", then: \"Save in OSM-usersettings and toggle on _all_ themes using this layer\"}]",
"enum": [ "enum": [
"global", "global",
"local", "local",
@ -2719,6 +2727,10 @@
"fullNodeDatabase": { "fullNodeDatabase": {
"description": "_Set automatically by MapComplete, please ignore_\n\ngroup: hidden", "description": "_Set automatically by MapComplete, please ignore_\n\ngroup: hidden",
"type": "boolean" "type": "boolean"
},
"enableMorePrivacy": {
"description": "question: Should a theme using this layer leak some location info when making changes?\n\nWhen a changeset is made, a 'distance to object'-class is written to the changeset.\nFor some particular themes and layers, this might leak too much information, and we want to obfuscate this\n\nifunset: Write 'change_within_x_m' as usual and if GPS is enabled\niftrue: Do not write 'change_within_x_m' and do not indicate that this was done by survey",
"type": "boolean"
} }
}, },
"additionalProperties": false "additionalProperties": false

View file

@ -297,10 +297,15 @@ export default {
"enableNodeDatabase": { "enableNodeDatabase": {
"description": "Enables tracking of all nodes when data is loaded.\nThis is useful for the 'ImportWay' and 'ConflateWay'-buttons who need this database.\n\nNote: this flag will be automatically set and can thus be ignored.\ngroup: hidden", "description": "Enables tracking of all nodes when data is loaded.\nThis is useful for the 'ImportWay' and 'ConflateWay'-buttons who need this database.\n\nNote: this flag will be automatically set and can thus be ignored.\ngroup: hidden",
"type": "boolean" "type": "boolean"
},
"enableMorePrivacy": {
"description": "question: Should this theme leak some location info when making changes?\n\nWhen a changeset is made, a 'distance to object'-class is written to the changeset.\nFor some particular themes and layers, this might leak too much information, and we want to obfuscate this\n\nifunset: Write 'change_within_x_m' as usual and if GPS is enabled\niftrue: Do not write 'change_within_x_m' and do not indicate that this was done by survey",
"type": "boolean"
} }
}, },
"required": [ "required": [
"description", "description",
"enableMorePrivacy",
"icon", "icon",
"id", "id",
"layers", "layers",
@ -468,7 +473,7 @@ export default {
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -492,7 +497,7 @@ export default {
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -1099,7 +1104,7 @@ export default {
} }
}, },
"multiAnswer": { "multiAnswer": {
"description": "If true, use checkboxes instead of radio buttons when asking the question\n\nquestion: Should a contributor be allowed to select multiple mappings?\n\niftrue: allow to select multiple mappings\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping", "description": "question: Should a contributor be allowed to select multiple mappings?\n\nIf true, use checkboxes instead of radio buttons when asking the question.\n\niftrue: allow to select multiple mappings (and show a freeform-value as list if ';'-separated)\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping",
"type": "boolean" "type": "boolean"
}, },
"freeform": { "freeform": {
@ -1125,11 +1130,6 @@ export default {
} }
] ]
}, },
"helperArgs": {
"description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
"type": "array",
"items": {}
},
"addExtraTags": { "addExtraTags": {
"description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert", "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
"type": "array", "type": "array",
@ -1158,6 +1158,10 @@ export default {
"type": "string" "type": "string"
} }
] ]
},
"postfixDistinguished": {
"description": "question: If this key shared and distinguished by a postfix, what is the postfix?\nThis option is used specifically for `charge`, where the cost is indicated with `/item`.\n\nFor example, a vending machine might sell `bicycle_tube`.\nSetting this value to `bicycle_tube`, then answering this question will set `charge= €XX/bicycle_tube`.\nIf charge did already contain another value, e.g. `charge= €YY/some_item; €ZZ/other_item`, then `€XX/bicycle_tube`will be added.\nNote: those values are sorted alphabetically\nNote: no need to add the `/`\n\nifunset: Don't distinguish by postfix\ngroup: expert",
"type": "string"
} }
} }
}, },
@ -1324,7 +1328,7 @@ export default {
} }
}, },
"multiAnswer": { "multiAnswer": {
"description": "If true, use checkboxes instead of radio buttons when asking the question\n\nquestion: Should a contributor be allowed to select multiple mappings?\n\niftrue: allow to select multiple mappings\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping", "description": "question: Should a contributor be allowed to select multiple mappings?\n\nIf true, use checkboxes instead of radio buttons when asking the question.\n\niftrue: allow to select multiple mappings (and show a freeform-value as list if ';'-separated)\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping",
"type": "boolean" "type": "boolean"
}, },
"freeform": { "freeform": {
@ -1350,11 +1354,6 @@ export default {
} }
] ]
}, },
"helperArgs": {
"description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
"type": "array",
"items": {}
},
"addExtraTags": { "addExtraTags": {
"description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert", "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
"type": "array", "type": "array",
@ -1383,6 +1382,10 @@ export default {
"type": "string" "type": "string"
} }
] ]
},
"postfixDistinguished": {
"description": "question: If this key shared and distinguished by a postfix, what is the postfix?\nThis option is used specifically for `charge`, where the cost is indicated with `/item`.\n\nFor example, a vending machine might sell `bicycle_tube`.\nSetting this value to `bicycle_tube`, then answering this question will set `charge= €XX/bicycle_tube`.\nIf charge did already contain another value, e.g. `charge= €YY/some_item; €ZZ/other_item`, then `€XX/bicycle_tube`will be added.\nNote: those values are sorted alphabetically\nNote: no need to add the `/`\n\nifunset: Don't distinguish by postfix\ngroup: expert",
"type": "string"
} }
} }
}, },
@ -1559,6 +1562,7 @@ export default {
] ]
}, },
"subexpand": { "subexpand": {
"description": "Used to expand a sublist.\nE.g. a target `rendering` is:\n\ne.g.\n{\n rewrite: [\"{{x}}\", \"{{y}}\"],\n into:[\n [\"{{x}}\": \"some X\"],\n [\"{{y}}\", [\"option 1\", \"option 2\"]]\n ],\n renderings:[\n {\n \"question\":\"Is {{x}}\",\n \"mappings\": [\"if={{y}}\",then: \"...\"]\n }\n ]\n subExpand: {\n // The list with the key\n \"mappings\":\n // will be taken and multiplied by all possible values of\n \"{{y}}\"\n // Note that this implies that `into.[*].[{{y}}]` should be a list of items\n }\n}\n\nExpansion will result in:\n{\n question: \"Is some X\",\n mappings: [{\"if=option 1\", then: \"...\"}, {\"if=option 2\", then: \"...\"}]\n}",
"$ref": "#/definitions/Record<string,string[]>" "$ref": "#/definitions/Record<string,string[]>"
}, },
"renderings": { "renderings": {
@ -2262,7 +2266,7 @@ export default {
} }
}, },
"syncSelection": { "syncSelection": {
"description": "If set, synchronizes whether or not this layer is enabled.\n\ngroup: advanced\nquestion: Should enabling/disabling the layer be saved (locally or in the cloud)?\nsuggestions: return [{if: \"value=no\", then: \"Don't save, always revert to the default\"}, {if: \"value=local\", then: \"Save selection in local storage\"}, {if: \"value=theme-only\", then: \"Save the state in the OSM-usersettings, but apply on this theme only (default)\"}, {if: \"value=global\", then: \"Save in OSM-usersettings and toggle on _all_ themes using this layer\"}]", "description": "If set, synchronizes whether this layer is enabled.\n\ngroup: advanced\nquestion: Should enabling/disabling the layer be saved (locally or in the cloud)?\nsuggestions: return [{if: \"value=no\", then: \"Don't save, always revert to the default\"}, {if: \"value=local\", then: \"Save selection in local storage\"}, {if: \"value=theme-only\", then: \"Save the state in the OSM-usersettings, but apply on this theme only (default)\"}, {if: \"value=global\", then: \"Save in OSM-usersettings and toggle on _all_ themes using this layer\"}]",
"enum": [ "enum": [
"global", "global",
"local", "local",
@ -2278,6 +2282,10 @@ export default {
"fullNodeDatabase": { "fullNodeDatabase": {
"description": "_Set automatically by MapComplete, please ignore_\n\ngroup: hidden", "description": "_Set automatically by MapComplete, please ignore_\n\ngroup: hidden",
"type": "boolean" "type": "boolean"
},
"enableMorePrivacy": {
"description": "question: Should a theme using this layer leak some location info when making changes?\n\nWhen a changeset is made, a 'distance to object'-class is written to the changeset.\nFor some particular themes and layers, this might leak too much information, and we want to obfuscate this\n\nifunset: Write 'change_within_x_m' as usual and if GPS is enabled\niftrue: Do not write 'change_within_x_m' and do not indicate that this was done by survey",
"type": "boolean"
} }
}, },
"required": [ "required": [
@ -2680,7 +2688,7 @@ export default {
} }
}, },
"syncSelection": { "syncSelection": {
"description": "If set, synchronizes whether or not this layer is enabled.\n\ngroup: advanced\nquestion: Should enabling/disabling the layer be saved (locally or in the cloud)?\nsuggestions: return [{if: \"value=no\", then: \"Don't save, always revert to the default\"}, {if: \"value=local\", then: \"Save selection in local storage\"}, {if: \"value=theme-only\", then: \"Save the state in the OSM-usersettings, but apply on this theme only (default)\"}, {if: \"value=global\", then: \"Save in OSM-usersettings and toggle on _all_ themes using this layer\"}]", "description": "If set, synchronizes whether this layer is enabled.\n\ngroup: advanced\nquestion: Should enabling/disabling the layer be saved (locally or in the cloud)?\nsuggestions: return [{if: \"value=no\", then: \"Don't save, always revert to the default\"}, {if: \"value=local\", then: \"Save selection in local storage\"}, {if: \"value=theme-only\", then: \"Save the state in the OSM-usersettings, but apply on this theme only (default)\"}, {if: \"value=global\", then: \"Save in OSM-usersettings and toggle on _all_ themes using this layer\"}]",
"enum": [ "enum": [
"global", "global",
"local", "local",
@ -2696,6 +2704,10 @@ export default {
"fullNodeDatabase": { "fullNodeDatabase": {
"description": "_Set automatically by MapComplete, please ignore_\n\ngroup: hidden", "description": "_Set automatically by MapComplete, please ignore_\n\ngroup: hidden",
"type": "boolean" "type": "boolean"
},
"enableMorePrivacy": {
"description": "question: Should a theme using this layer leak some location info when making changes?\n\nWhen a changeset is made, a 'distance to object'-class is written to the changeset.\nFor some particular themes and layers, this might leak too much information, and we want to obfuscate this\n\nifunset: Write 'change_within_x_m' as usual and if GPS is enabled\niftrue: Do not write 'change_within_x_m' and do not indicate that this was done by survey",
"type": "boolean"
} }
} }
}, },

View file

@ -260,7 +260,7 @@
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -284,7 +284,7 @@
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"

View file

@ -254,7 +254,7 @@ export default {
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -278,7 +278,7 @@ export default {
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"

View file

@ -287,7 +287,7 @@
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -311,7 +311,7 @@
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"

View file

@ -281,7 +281,7 @@ export default {
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -305,7 +305,7 @@ export default {
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"

View file

@ -334,7 +334,7 @@
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -358,7 +358,7 @@
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"

View file

@ -328,7 +328,7 @@ export default {
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -352,7 +352,7 @@ export default {
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"

View file

@ -13,7 +13,7 @@
} }
}, },
"multiAnswer": { "multiAnswer": {
"description": "If true, use checkboxes instead of radio buttons when asking the question\n\nquestion: Should a contributor be allowed to select multiple mappings?\n\niftrue: allow to select multiple mappings\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping", "description": "question: Should a contributor be allowed to select multiple mappings?\n\nIf true, use checkboxes instead of radio buttons when asking the question.\n\niftrue: allow to select multiple mappings (and show a freeform-value as list if ';'-separated)\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping",
"type": "boolean" "type": "boolean"
}, },
"freeform": { "freeform": {
@ -39,11 +39,6 @@
} }
] ]
}, },
"helperArgs": {
"description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
"type": "array",
"items": {}
},
"addExtraTags": { "addExtraTags": {
"description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert", "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
"type": "array", "type": "array",
@ -72,6 +67,10 @@
"type": "string" "type": "string"
} }
] ]
},
"postfixDistinguished": {
"description": "question: If this key shared and distinguished by a postfix, what is the postfix?\nThis option is used specifically for `charge`, where the cost is indicated with `/item`.\n\nFor example, a vending machine might sell `bicycle_tube`.\nSetting this value to `bicycle_tube`, then answering this question will set `charge= €XX/bicycle_tube`.\nIf charge did already contain another value, e.g. `charge= €YY/some_item; €ZZ/other_item`, then `€XX/bicycle_tube`will be added.\nNote: those values are sorted alphabetically\nNote: no need to add the `/`\n\nifunset: Don't distinguish by postfix\ngroup: expert",
"type": "string"
} }
} }
}, },
@ -391,7 +390,7 @@
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -415,7 +414,7 @@
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"

View file

@ -13,7 +13,7 @@ export default {
} }
}, },
"multiAnswer": { "multiAnswer": {
"description": "If true, use checkboxes instead of radio buttons when asking the question\n\nquestion: Should a contributor be allowed to select multiple mappings?\n\niftrue: allow to select multiple mappings\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping", "description": "question: Should a contributor be allowed to select multiple mappings?\n\nIf true, use checkboxes instead of radio buttons when asking the question.\n\niftrue: allow to select multiple mappings (and show a freeform-value as list if ';'-separated)\niffalse: only allow to select a single mapping\nifunset: only allow to select a single mapping",
"type": "boolean" "type": "boolean"
}, },
"freeform": { "freeform": {
@ -39,11 +39,6 @@ export default {
} }
] ]
}, },
"helperArgs": {
"description": "Extra parameters to initialize the input helper arguments.\nFor semantics, see the 'SpecialInputElements.md'\ngroup: expert",
"type": "array",
"items": {}
},
"addExtraTags": { "addExtraTags": {
"description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert", "description": "If a value is added with the textfield, these extra tag is addded.\nUseful to add a 'fixme=freeform textfield used - to be checked'\ngroup: expert",
"type": "array", "type": "array",
@ -72,6 +67,10 @@ export default {
"type": "string" "type": "string"
} }
] ]
},
"postfixDistinguished": {
"description": "question: If this key shared and distinguished by a postfix, what is the postfix?\nThis option is used specifically for `charge`, where the cost is indicated with `/item`.\n\nFor example, a vending machine might sell `bicycle_tube`.\nSetting this value to `bicycle_tube`, then answering this question will set `charge= €XX/bicycle_tube`.\nIf charge did already contain another value, e.g. `charge= €YY/some_item; €ZZ/other_item`, then `€XX/bicycle_tube`will be added.\nNote: those values are sorted alphabetically\nNote: no need to add the `/`\n\nifunset: Don't distinguish by postfix\ngroup: expert",
"type": "string"
} }
} }
}, },
@ -385,7 +384,7 @@ export default {
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -409,7 +408,7 @@ export default {
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"

View file

@ -25,6 +25,7 @@
] ]
}, },
"subexpand": { "subexpand": {
"description": "Used to expand a sublist.\nE.g. a target `rendering` is:\n\ne.g.\n{\n rewrite: [\"{{x}}\", \"{{y}}\"],\n into:[\n [\"{{x}}\": \"some X\"],\n [\"{{y}}\", [\"option 1\", \"option 2\"]]\n ],\n renderings:[\n {\n \"question\":\"Is {{x}}\",\n \"mappings\": [\"if={{y}}\",then: \"...\"]\n }\n ]\n subExpand: {\n // The list with the key\n \"mappings\":\n // will be taken and multiplied by all possible values of\n \"{{y}}\"\n // Note that this implies that `into.[*].[{{y}}]` should be a list of items\n }\n}\n\nExpansion will result in:\n{\n question: \"Is some X\",\n mappings: [{\"if=option 1\", then: \"...\"}, {\"if=option 2\", then: \"...\"}]\n}",
"$ref": "#/definitions/Record<string,string[]>" "$ref": "#/definitions/Record<string,string[]>"
}, },
"renderings": { "renderings": {
@ -213,7 +214,7 @@
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -237,7 +238,7 @@
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"

View file

@ -25,6 +25,7 @@ export default {
] ]
}, },
"subexpand": { "subexpand": {
"description": "Used to expand a sublist.\nE.g. a target `rendering` is:\n\ne.g.\n{\n rewrite: [\"{{x}}\", \"{{y}}\"],\n into:[\n [\"{{x}}\": \"some X\"],\n [\"{{y}}\", [\"option 1\", \"option 2\"]]\n ],\n renderings:[\n {\n \"question\":\"Is {{x}}\",\n \"mappings\": [\"if={{y}}\",then: \"...\"]\n }\n ]\n subExpand: {\n // The list with the key\n \"mappings\":\n // will be taken and multiplied by all possible values of\n \"{{y}}\"\n // Note that this implies that `into.[*].[{{y}}]` should be a list of items\n }\n}\n\nExpansion will result in:\n{\n question: \"Is some X\",\n mappings: [{\"if=option 1\", then: \"...\"}, {\"if=option 2\", then: \"...\"}]\n}",
"$ref": "#/definitions/Record<string,string[]>" "$ref": "#/definitions/Record<string,string[]>"
}, },
"renderings": { "renderings": {
@ -207,7 +208,7 @@ export default {
"type": "object", "type": "object",
"properties": { "properties": {
"icon": { "icon": {
"description": "question: What icon should be used?\ntype: icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", "description": "question: What icon should be used?\ntype: icon\ntypes: Use a dynamic value ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"
@ -231,7 +232,7 @@ export default {
] ]
}, },
"color": { "color": {
"description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color", "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntype: color\ntypes: Use a dynamic color ; icon",
"anyOf": [ "anyOf": [
{ {
"$ref": "#/definitions/MinimalTagRenderingConfigJson" "$ref": "#/definitions/MinimalTagRenderingConfigJson"