Files
iD/data/presets/schema/field.json
Quincy Morgan 67afa20dc0 Let comboboxes filter against terms, not just values
Add terms property to fields
Make terms translatable for searchable fields
Account for fields' terms and keys when filtering with the Add field menu (close #5763)
2019-08-09 11:12:40 -05:00

165 lines
5.3 KiB
JSON

{
"title": "Field",
"description": "A reusable form element for presets",
"type": "object",
"properties": {
"key": {
"description": "Tag key whose value is to be displayed",
"type": "string"
},
"keys": {
"description": "Tag keys whose value is to be displayed",
"type": "array",
"items": {
"type": "string"
}
},
"reference": {
"description": "Taginfo documentation parameters (to be used when a field manages multiple tags)",
"type": [
{
"type": "object",
"properties": {
"key": {
"description": "For documentation of a key",
"type": "string",
"required": true
},
"value": {
"description": "For documentation of a tag (key and value)",
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"properties": {
"rtype": {
"description": "For documentation of a relation type",
"type": "string"
}
},
"additionalProperties": false
}
]
},
"type": {
"description": "Type of field",
"type": "string",
"enum": [
"access",
"address",
"check",
"combo",
"cycleway",
"defaultCheck",
"email",
"lanes",
"localized",
"maxspeed",
"multiCombo",
"networkCombo",
"number",
"onewayCheck",
"radio",
"restrictions",
"semiCombo",
"structureRadio",
"tel",
"textarea",
"text",
"typeCombo",
"url",
"wikidata",
"wikipedia"
],
"required": true
},
"label": {
"description": "English label for the field caption",
"type": "string",
"required": true
},
"geometry": {
"description": "If specified, only show the field for this kind of geometry",
"type": "string"
},
"default": {
"description": "The default value for this field",
"type": "string"
},
"options": {
"description": "List of untranslatable string suggestions (combo fields)",
"type": "array",
"items": {
"type": "string"
}
},
"universal": {
"description": "If true, this field will appear in the Add Field list for all presets",
"type": "boolean",
"default": false
},
"icon": {
"type": "string"
},
"placeholder": {
"description": "Placeholder text for this field",
"type": "string"
},
"strings": {
"description": "Translatable strings options (combo fields)",
"type": "object"
},
"snake_case": {
"description": "If true, replace spaces with underscores in the tag value (combo fields only)",
"type": "boolean",
"default": true
},
"caseSensitive": {
"description": "If true, allow case sensitive field values (combo fields only)",
"type": "boolean",
"default": false
},
"minValue": {
"description": "Minimum field value (number fields only)",
"type": "integer"
},
"maxValue": {
"description": "Maximum field value (number fields only)",
"type": "integer"
},
"prerequisiteTag": {
"description": "Tagging constraint for showing this field in the editor",
"type": {
"type": "object",
"properties": {
"key": {
"description": "The key of the required tag",
"type": "string",
"required": true
},
"value": {
"description": "The value that the tag must have. (alternative to 'valueNot')",
"type": "string"
},
"valueNot": {
"description": "The value that the tag cannot have. (alternative to 'value')",
"type": "string"
}
},
"additionalProperties": false
}
},
"terms": {
"description": "English synonyms or related search terms",
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}