Files
iD/data/presets/schema/field.json
Quincy Morgan 6c7d8b6150 Add identifier field for tags linking features to external databases
Add US-only field for `gnis:feature_id` (close #7086)
Add tooltip to wikipedia field link button
2019-12-03 20:47:10 -05:00

217 lines
7.4 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",
"identifier",
"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": "Strings sent to transifex for translation",
"type": "object",
"properties": {
"options": {
"description": "Translatable options (combo fields)",
"type": "object"
}
},
"additionalProperties": {
"description": "Specialized fields can request translation of arbitrary strings",
"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": {
"anyOf": [
{
"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
},
{
"type": "object",
"properties": {
"keyNot": {
"description": "A key that must not be present",
"type": "string",
"required": true
}
},
"additionalProperties": false
}
]
}
},
"terms": {
"description": "English synonyms or related search terms",
"type": "array",
"items": {
"type": "string"
}
},
"countryCodes": {
"description": "Countries where to allow the field, as lowercase ISO 3166-1 alpha-2 codes (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[a-z]{2}$"
}
},
"notCountryCodes": {
"description": "Countries where NOT to allow the field, as lowercase ISO 3166-1 alpha-2 codes (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[a-z]{2}$"
}
},
"urlFormat": {
"description": "Permalink URL for `identifier` fields. Must contain a {value} placeholder",
"type": "string"
},
"pattern": {
"description": "Regular expression that a valid `identifier` value is expected to match",
"type": "string"
}
},
"additionalProperties": false
}