mapcomplete/Docs/SpecialInputElements.md
2022-01-26 21:40:38 +01:00

161 lines
No EOL
3.5 KiB
Markdown

Available types for text fields
=================================
## Table of contents
1. [Available types for text fields](#available-types-for-text-fields)
+ [string](#string)
+ [text](#text)
+ [date](#date)
+ [direction](#direction)
+ [length](#length)
+ [wikidata](#wikidata)
+ [int](#int)
+ [nat](#nat)
+ [pnat](#pnat)
+ [float](#float)
+ [pfloat](#pfloat)
+ [email](#email)
+ [url](#url)
+ [phone](#phone)
+ [opening_hours](#opening_hours)
+ [color](#color)
The listed types here trigger a special input element. Use them in `tagrendering.freeform.type` of your tagrendering to
activate them
### string
A basic string
### text
A string, but allows input of longer strings more comfortably and supports newlines (a text area)
### date
A date
### direction
A geographical direction, in degrees. 0° is north, 90° is east, ... Will return a value between 0 (incl) and 360 (excl)
### length
A geographical length in meters (rounded at two points). Will give an extra minimap with a measurement tool.
Arguments: [ zoomlevel, preferredBackgroundMapType (comma separated) ], e.g. `["21", "map,photo"]
### wikidata
A wikidata identifier, e.g. Q42.
### Helper arguments
name | doc
------ | -----
key | the value of this tag will initialize search (default: name)
options | A JSON-object of type `{ removePrefixes: string[], removePostfixes: string[] }`.
subarg | doc
-------- | -----
removePrefixes | remove these snippets of text from the start of the passed string to search
removePostfixes | remove these snippets of text from the end of the passed string to search
### Example usage
The following is the 'freeform'-part of a layer config which will trigger a search for the wikidata item corresponding
with the name of the selected feature. It will also remove '-street', '-square', ... if found at the end of the name
```
"freeform": {
"key": "name:etymology:wikidata",
"type": "wikidata",
"helperArgs": [
"name",
{
"removePostfixes": [
"street",
"boulevard",
"path",
"square",
"plaza",
]
}
]
}
```
### int
A number
### nat
A positive number or zero
### pnat
A strict positive number
### float
A decimal
### pfloat
A positive decimal (incl zero)
### email
An email adress
### url
The validatedTextField will format URLs to always be valid and have a https://-header (even though the 'https'-part will
be hidden from the user
### phone
A phone number
### opening_hours
Has extra elements to easily input when a POI is opened.
### Helper arguments
name | doc
------ | -----
options | A JSON-object of type `{ prefix: string, postfix: string }`.
subarg | doc
-------- | -----
prefix | Piece of text that will always be added to the front of the generated opening hours. If the OSM-data does not start with this, it will fail to parse
postfix | Piece of text that will always be added to the end of the generated opening hours
### Example usage
To add a conditional (based on time) access restriction:
```
"freeform": {
"key": "access:conditional",
"type": "opening_hours",
"helperArgs": [
{
"prefix":"no @ (",
"postfix":")"
}
]
}
```
*Don't forget to pass the prefix and postfix in the rendering as
well*: `{opening_hours_table(opening_hours,yes @ &LPARENS, &RPARENS )`
### color
Shows a color picker
This document is autogenerated from ValidatedTextField.ts