forked from MapComplete/MapComplete
UPdate of the schemas
This commit is contained in:
parent
5bfcfa8536
commit
3785d51468
16 changed files with 387 additions and 138 deletions
|
@ -22,6 +22,9 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"default": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
"fields": {
|
"fields": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
|
|
|
@ -22,6 +22,9 @@ export default {
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"default": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
"fields": {
|
"fields": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
"description": "A description for this layer.\nShown in the layer selections and in the personel theme"
|
"description": "A description for this layer.\nShown in the layer selections and in the personel theme"
|
||||||
},
|
},
|
||||||
"source": {
|
"source": {
|
||||||
"description": "This determines where the data for the layer is fetched.\nThere are some options:\n\n# Query OSM directly\nsource: {osmTags: \"key=value\"}\n will fetch all objects with given tags from OSM.\n Currently, this will create a query to overpass and fetch the data - in the future this might fetch from the OSM API\n\n# Query OSM Via the overpass API with a custom script\nsource: {overpassScript: \"<custom overpass tags>\"} when you want to do special things. _This should be really rare_.\n This means that the data will be pulled from overpass with this script, and will ignore the osmTags for the query\n However, for the rest of the pipeline, the OsmTags will _still_ be used. This is important to enable layers etc...\n\n\n# A single geojson-file\nsource: {geoJson: \"https://my.source.net/some-geo-data.geojson\"}\n fetches a geojson from a third party source\n\n# A tiled geojson source\nsource: {geoJson: \"https://my.source.net/some-tile-geojson-{layer}-{z}-{x}-{y}.geojson\", geoJsonZoomLevel: 14}\n to use a tiled geojson source. The web server must offer multiple geojsons. {z}, {x} and {y} are substituted by the location; {layer} is substituted with the id of the loaded layer\n\nSome API's use a BBOX instead of a tile, this can be used by specifying {y_min}, {y_max}, {x_min} and {x_max}\nSome API's use a mercator-projection (EPSG:900913) instead of WGS84. Set the flag `mercatorCrs: true` in the source for this\n\nNote that both geojson-options might set a flag 'isOsmCache' indicating that the data originally comes from OSM too\n\n\nNOTE: the previous format was 'overpassTags: AndOrTagConfigJson | string', which is interpreted as a shorthand for source: {osmTags: \"key=value\"}\n While still supported, this is considered deprecated",
|
"description": "This determines where the data for the layer is fetched: from OSM or from an external geojson dataset.\n\nIf no 'geojson' is defined, data will be fetched from overpass and the OSM-API.\n\nEvery source _must_ define which tags _must_ be present in order to be picked up.",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"allOf": [
|
"allOf": [
|
||||||
|
@ -21,6 +21,7 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"osmTags": {
|
"osmTags": {
|
||||||
|
"description": "Every source must set which tags have to be present in order to load the given layer.",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||||
|
@ -30,8 +31,9 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"overpassScript": {
|
"maxCacheAge": {
|
||||||
"type": "string"
|
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
||||||
|
"type": "number"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
@ -41,9 +43,8 @@
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"maxCacheAge": {
|
"overpassScript": {
|
||||||
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
"type": "string"
|
||||||
"type": "number"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,6 +56,7 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"osmTags": {
|
"osmTags": {
|
||||||
|
"description": "Every source must set which tags have to be present in order to load the given layer.",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||||
|
@ -64,32 +66,42 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"geoJson": {
|
"maxCacheAge": {
|
||||||
"type": "string"
|
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
||||||
},
|
|
||||||
"geoJsonZoomLevel": {
|
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
|
||||||
"isOsmCache": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"mercatorCrs": {
|
|
||||||
"type": "boolean"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
"geoJson",
|
|
||||||
"osmTags"
|
"osmTags"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"maxCacheAge": {
|
"geoJson": {
|
||||||
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
"description": "The actual source of the data to load, if loaded via geojson.\n\n# A single geojson-file\nsource: {geoJson: \"https://my.source.net/some-geo-data.geojson\"}\n fetches a geojson from a third party source\n\n# A tiled geojson source\nsource: {geoJson: \"https://my.source.net/some-tile-geojson-{layer}-{z}-{x}-{y}.geojson\", geoJsonZoomLevel: 14}\n to use a tiled geojson source. The web server must offer multiple geojsons. {z}, {x} and {y} are substituted by the location; {layer} is substituted with the id of the loaded layer\n\nSome API's use a BBOX instead of a tile, this can be used by specifying {y_min}, {y_max}, {x_min} and {x_max}",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"geoJsonZoomLevel": {
|
||||||
|
"description": "To load a tiled geojson layer, set the zoomlevel of the tiles",
|
||||||
"type": "number"
|
"type": "number"
|
||||||
|
},
|
||||||
|
"isOsmCache": {
|
||||||
|
"description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"mercatorCrs": {
|
||||||
|
"description": "Some API's use a mercator-projection (EPSG:900913) instead of WGS84. Set the flag `mercatorCrs: true` in the source for this",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"idKey": {
|
||||||
|
"description": "Some API's have an id-field, but give it a different name.\nSetting this key will rename this field into 'id'",
|
||||||
|
"type": "string"
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"required": [
|
||||||
|
"geoJson"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -511,8 +523,11 @@
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"render": {
|
||||||
|
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered"
|
||||||
|
},
|
||||||
"question": {
|
"question": {
|
||||||
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
||||||
},
|
},
|
||||||
"condition": {
|
"condition": {
|
||||||
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
||||||
|
@ -845,6 +860,9 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"default": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
"fields": {
|
"fields": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
|
|
|
@ -13,7 +13,7 @@ export default {
|
||||||
"description": "A description for this layer.\nShown in the layer selections and in the personel theme"
|
"description": "A description for this layer.\nShown in the layer selections and in the personel theme"
|
||||||
},
|
},
|
||||||
"source": {
|
"source": {
|
||||||
"description": "This determines where the data for the layer is fetched.\nThere are some options:\n\n# Query OSM directly\nsource: {osmTags: \"key=value\"}\n will fetch all objects with given tags from OSM.\n Currently, this will create a query to overpass and fetch the data - in the future this might fetch from the OSM API\n\n# Query OSM Via the overpass API with a custom script\nsource: {overpassScript: \"<custom overpass tags>\"} when you want to do special things. _This should be really rare_.\n This means that the data will be pulled from overpass with this script, and will ignore the osmTags for the query\n However, for the rest of the pipeline, the OsmTags will _still_ be used. This is important to enable layers etc...\n\n\n# A single geojson-file\nsource: {geoJson: \"https://my.source.net/some-geo-data.geojson\"}\n fetches a geojson from a third party source\n\n# A tiled geojson source\nsource: {geoJson: \"https://my.source.net/some-tile-geojson-{layer}-{z}-{x}-{y}.geojson\", geoJsonZoomLevel: 14}\n to use a tiled geojson source. The web server must offer multiple geojsons. {z}, {x} and {y} are substituted by the location; {layer} is substituted with the id of the loaded layer\n\nSome API's use a BBOX instead of a tile, this can be used by specifying {y_min}, {y_max}, {x_min} and {x_max}\nSome API's use a mercator-projection (EPSG:900913) instead of WGS84. Set the flag `mercatorCrs: true` in the source for this\n\nNote that both geojson-options might set a flag 'isOsmCache' indicating that the data originally comes from OSM too\n\n\nNOTE: the previous format was 'overpassTags: AndOrTagConfigJson | string', which is interpreted as a shorthand for source: {osmTags: \"key=value\"}\n While still supported, this is considered deprecated",
|
"description": "This determines where the data for the layer is fetched: from OSM or from an external geojson dataset.\n\nIf no 'geojson' is defined, data will be fetched from overpass and the OSM-API.\n\nEvery source _must_ define which tags _must_ be present in order to be picked up.",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"allOf": [
|
"allOf": [
|
||||||
|
@ -21,6 +21,7 @@ export default {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"osmTags": {
|
"osmTags": {
|
||||||
|
"description": "Every source must set which tags have to be present in order to load the given layer.",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||||
|
@ -30,8 +31,9 @@ export default {
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"overpassScript": {
|
"maxCacheAge": {
|
||||||
"type": "string"
|
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
||||||
|
"type": "number"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
@ -41,9 +43,8 @@ export default {
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"maxCacheAge": {
|
"overpassScript": {
|
||||||
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
"type": "string"
|
||||||
"type": "number"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,6 +56,7 @@ export default {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"osmTags": {
|
"osmTags": {
|
||||||
|
"description": "Every source must set which tags have to be present in order to load the given layer.",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||||
|
@ -64,32 +66,42 @@ export default {
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"geoJson": {
|
"maxCacheAge": {
|
||||||
"type": "string"
|
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
||||||
},
|
|
||||||
"geoJsonZoomLevel": {
|
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
|
||||||
"isOsmCache": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"mercatorCrs": {
|
|
||||||
"type": "boolean"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
"geoJson",
|
|
||||||
"osmTags"
|
"osmTags"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"maxCacheAge": {
|
"geoJson": {
|
||||||
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
"description": "The actual source of the data to load, if loaded via geojson.\n\n# A single geojson-file\nsource: {geoJson: \"https://my.source.net/some-geo-data.geojson\"}\n fetches a geojson from a third party source\n\n# A tiled geojson source\nsource: {geoJson: \"https://my.source.net/some-tile-geojson-{layer}-{z}-{x}-{y}.geojson\", geoJsonZoomLevel: 14}\n to use a tiled geojson source. The web server must offer multiple geojsons. {z}, {x} and {y} are substituted by the location; {layer} is substituted with the id of the loaded layer\n\nSome API's use a BBOX instead of a tile, this can be used by specifying {y_min}, {y_max}, {x_min} and {x_max}",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"geoJsonZoomLevel": {
|
||||||
|
"description": "To load a tiled geojson layer, set the zoomlevel of the tiles",
|
||||||
"type": "number"
|
"type": "number"
|
||||||
|
},
|
||||||
|
"isOsmCache": {
|
||||||
|
"description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"mercatorCrs": {
|
||||||
|
"description": "Some API's use a mercator-projection (EPSG:900913) instead of WGS84. Set the flag `mercatorCrs: true` in the source for this",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"idKey": {
|
||||||
|
"description": "Some API's have an id-field, but give it a different name.\nSetting this key will rename this field into 'id'",
|
||||||
|
"type": "string"
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"required": [
|
||||||
|
"geoJson"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -509,8 +521,11 @@ export default {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"render": {
|
||||||
|
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered"
|
||||||
|
},
|
||||||
"question": {
|
"question": {
|
||||||
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
||||||
},
|
},
|
||||||
"condition": {
|
"condition": {
|
||||||
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
||||||
|
@ -840,6 +855,9 @@ export default {
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"default": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
"fields": {
|
"fields": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
|
|
|
@ -201,9 +201,6 @@
|
||||||
"type": "number"
|
"type": "number"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "boolean"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -367,8 +364,11 @@
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"render": {
|
||||||
|
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered"
|
||||||
|
},
|
||||||
"question": {
|
"question": {
|
||||||
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
||||||
},
|
},
|
||||||
"condition": {
|
"condition": {
|
||||||
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
||||||
|
@ -701,6 +701,9 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"default": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
"fields": {
|
"fields": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
|
@ -885,7 +888,7 @@
|
||||||
"description": "A description for this layer.\nShown in the layer selections and in the personel theme"
|
"description": "A description for this layer.\nShown in the layer selections and in the personel theme"
|
||||||
},
|
},
|
||||||
"source": {
|
"source": {
|
||||||
"description": "This determines where the data for the layer is fetched.\nThere are some options:\n\n# Query OSM directly\nsource: {osmTags: \"key=value\"}\n will fetch all objects with given tags from OSM.\n Currently, this will create a query to overpass and fetch the data - in the future this might fetch from the OSM API\n\n# Query OSM Via the overpass API with a custom script\nsource: {overpassScript: \"<custom overpass tags>\"} when you want to do special things. _This should be really rare_.\n This means that the data will be pulled from overpass with this script, and will ignore the osmTags for the query\n However, for the rest of the pipeline, the OsmTags will _still_ be used. This is important to enable layers etc...\n\n\n# A single geojson-file\nsource: {geoJson: \"https://my.source.net/some-geo-data.geojson\"}\n fetches a geojson from a third party source\n\n# A tiled geojson source\nsource: {geoJson: \"https://my.source.net/some-tile-geojson-{layer}-{z}-{x}-{y}.geojson\", geoJsonZoomLevel: 14}\n to use a tiled geojson source. The web server must offer multiple geojsons. {z}, {x} and {y} are substituted by the location; {layer} is substituted with the id of the loaded layer\n\nSome API's use a BBOX instead of a tile, this can be used by specifying {y_min}, {y_max}, {x_min} and {x_max}\nSome API's use a mercator-projection (EPSG:900913) instead of WGS84. Set the flag `mercatorCrs: true` in the source for this\n\nNote that both geojson-options might set a flag 'isOsmCache' indicating that the data originally comes from OSM too\n\n\nNOTE: the previous format was 'overpassTags: AndOrTagConfigJson | string', which is interpreted as a shorthand for source: {osmTags: \"key=value\"}\n While still supported, this is considered deprecated",
|
"description": "This determines where the data for the layer is fetched: from OSM or from an external geojson dataset.\n\nIf no 'geojson' is defined, data will be fetched from overpass and the OSM-API.\n\nEvery source _must_ define which tags _must_ be present in order to be picked up.",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"allOf": [
|
"allOf": [
|
||||||
|
@ -893,6 +896,7 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"osmTags": {
|
"osmTags": {
|
||||||
|
"description": "Every source must set which tags have to be present in order to load the given layer.",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||||
|
@ -902,8 +906,9 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"overpassScript": {
|
"maxCacheAge": {
|
||||||
"type": "string"
|
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
||||||
|
"type": "number"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
@ -913,9 +918,8 @@
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"maxCacheAge": {
|
"overpassScript": {
|
||||||
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
"type": "string"
|
||||||
"type": "number"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -927,6 +931,7 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"osmTags": {
|
"osmTags": {
|
||||||
|
"description": "Every source must set which tags have to be present in order to load the given layer.",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||||
|
@ -936,32 +941,42 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"geoJson": {
|
"maxCacheAge": {
|
||||||
"type": "string"
|
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
||||||
},
|
|
||||||
"geoJsonZoomLevel": {
|
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
|
||||||
"isOsmCache": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"mercatorCrs": {
|
|
||||||
"type": "boolean"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
"geoJson",
|
|
||||||
"osmTags"
|
"osmTags"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"maxCacheAge": {
|
"geoJson": {
|
||||||
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
"description": "The actual source of the data to load, if loaded via geojson.\n\n# A single geojson-file\nsource: {geoJson: \"https://my.source.net/some-geo-data.geojson\"}\n fetches a geojson from a third party source\n\n# A tiled geojson source\nsource: {geoJson: \"https://my.source.net/some-tile-geojson-{layer}-{z}-{x}-{y}.geojson\", geoJsonZoomLevel: 14}\n to use a tiled geojson source. The web server must offer multiple geojsons. {z}, {x} and {y} are substituted by the location; {layer} is substituted with the id of the loaded layer\n\nSome API's use a BBOX instead of a tile, this can be used by specifying {y_min}, {y_max}, {x_min} and {x_max}",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"geoJsonZoomLevel": {
|
||||||
|
"description": "To load a tiled geojson layer, set the zoomlevel of the tiles",
|
||||||
"type": "number"
|
"type": "number"
|
||||||
|
},
|
||||||
|
"isOsmCache": {
|
||||||
|
"description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"mercatorCrs": {
|
||||||
|
"description": "Some API's use a mercator-projection (EPSG:900913) instead of WGS84. Set the flag `mercatorCrs: true` in the source for this",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"idKey": {
|
||||||
|
"description": "Some API's have an id-field, but give it a different name.\nSetting this key will rename this field into 'id'",
|
||||||
|
"type": "string"
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"required": [
|
||||||
|
"geoJson"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -201,9 +201,6 @@ export default {
|
||||||
"type": "number"
|
"type": "number"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "boolean"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -365,8 +362,11 @@ export default {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"render": {
|
||||||
|
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered"
|
||||||
|
},
|
||||||
"question": {
|
"question": {
|
||||||
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
||||||
},
|
},
|
||||||
"condition": {
|
"condition": {
|
||||||
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
||||||
|
@ -696,6 +696,9 @@ export default {
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"default": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
"fields": {
|
"fields": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
|
@ -875,7 +878,7 @@ export default {
|
||||||
"description": "A description for this layer.\nShown in the layer selections and in the personel theme"
|
"description": "A description for this layer.\nShown in the layer selections and in the personel theme"
|
||||||
},
|
},
|
||||||
"source": {
|
"source": {
|
||||||
"description": "This determines where the data for the layer is fetched.\nThere are some options:\n\n# Query OSM directly\nsource: {osmTags: \"key=value\"}\n will fetch all objects with given tags from OSM.\n Currently, this will create a query to overpass and fetch the data - in the future this might fetch from the OSM API\n\n# Query OSM Via the overpass API with a custom script\nsource: {overpassScript: \"<custom overpass tags>\"} when you want to do special things. _This should be really rare_.\n This means that the data will be pulled from overpass with this script, and will ignore the osmTags for the query\n However, for the rest of the pipeline, the OsmTags will _still_ be used. This is important to enable layers etc...\n\n\n# A single geojson-file\nsource: {geoJson: \"https://my.source.net/some-geo-data.geojson\"}\n fetches a geojson from a third party source\n\n# A tiled geojson source\nsource: {geoJson: \"https://my.source.net/some-tile-geojson-{layer}-{z}-{x}-{y}.geojson\", geoJsonZoomLevel: 14}\n to use a tiled geojson source. The web server must offer multiple geojsons. {z}, {x} and {y} are substituted by the location; {layer} is substituted with the id of the loaded layer\n\nSome API's use a BBOX instead of a tile, this can be used by specifying {y_min}, {y_max}, {x_min} and {x_max}\nSome API's use a mercator-projection (EPSG:900913) instead of WGS84. Set the flag `mercatorCrs: true` in the source for this\n\nNote that both geojson-options might set a flag 'isOsmCache' indicating that the data originally comes from OSM too\n\n\nNOTE: the previous format was 'overpassTags: AndOrTagConfigJson | string', which is interpreted as a shorthand for source: {osmTags: \"key=value\"}\n While still supported, this is considered deprecated",
|
"description": "This determines where the data for the layer is fetched: from OSM or from an external geojson dataset.\n\nIf no 'geojson' is defined, data will be fetched from overpass and the OSM-API.\n\nEvery source _must_ define which tags _must_ be present in order to be picked up.",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"allOf": [
|
"allOf": [
|
||||||
|
@ -883,6 +886,7 @@ export default {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"osmTags": {
|
"osmTags": {
|
||||||
|
"description": "Every source must set which tags have to be present in order to load the given layer.",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||||
|
@ -892,8 +896,9 @@ export default {
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"overpassScript": {
|
"maxCacheAge": {
|
||||||
"type": "string"
|
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
||||||
|
"type": "number"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
@ -903,9 +908,8 @@ export default {
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"maxCacheAge": {
|
"overpassScript": {
|
||||||
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
"type": "string"
|
||||||
"type": "number"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -917,6 +921,7 @@ export default {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"osmTags": {
|
"osmTags": {
|
||||||
|
"description": "Every source must set which tags have to be present in order to load the given layer.",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||||
|
@ -926,32 +931,42 @@ export default {
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"geoJson": {
|
"maxCacheAge": {
|
||||||
"type": "string"
|
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
||||||
},
|
|
||||||
"geoJsonZoomLevel": {
|
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
|
||||||
"isOsmCache": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"mercatorCrs": {
|
|
||||||
"type": "boolean"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
"geoJson",
|
|
||||||
"osmTags"
|
"osmTags"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"maxCacheAge": {
|
"geoJson": {
|
||||||
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
"description": "The actual source of the data to load, if loaded via geojson.\n\n# A single geojson-file\nsource: {geoJson: \"https://my.source.net/some-geo-data.geojson\"}\n fetches a geojson from a third party source\n\n# A tiled geojson source\nsource: {geoJson: \"https://my.source.net/some-tile-geojson-{layer}-{z}-{x}-{y}.geojson\", geoJsonZoomLevel: 14}\n to use a tiled geojson source. The web server must offer multiple geojsons. {z}, {x} and {y} are substituted by the location; {layer} is substituted with the id of the loaded layer\n\nSome API's use a BBOX instead of a tile, this can be used by specifying {y_min}, {y_max}, {x_min} and {x_max}",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"geoJsonZoomLevel": {
|
||||||
|
"description": "To load a tiled geojson layer, set the zoomlevel of the tiles",
|
||||||
"type": "number"
|
"type": "number"
|
||||||
|
},
|
||||||
|
"isOsmCache": {
|
||||||
|
"description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"mercatorCrs": {
|
||||||
|
"description": "Some API's use a mercator-projection (EPSG:900913) instead of WGS84. Set the flag `mercatorCrs: true` in the source for this",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"idKey": {
|
||||||
|
"description": "Some API's have an id-field, but give it a different name.\nSetting this key will rename this field into 'id'",
|
||||||
|
"type": "string"
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"required": [
|
||||||
|
"geoJson"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -177,8 +177,11 @@
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"render": {
|
||||||
|
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered"
|
||||||
|
},
|
||||||
"question": {
|
"question": {
|
||||||
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
||||||
},
|
},
|
||||||
"condition": {
|
"condition": {
|
||||||
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
||||||
|
|
|
@ -175,8 +175,11 @@ export default {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"render": {
|
||||||
|
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered"
|
||||||
|
},
|
||||||
"question": {
|
"question": {
|
||||||
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
||||||
},
|
},
|
||||||
"condition": {
|
"condition": {
|
||||||
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
||||||
|
|
|
@ -181,8 +181,11 @@
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"render": {
|
||||||
|
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered"
|
||||||
|
},
|
||||||
"question": {
|
"question": {
|
||||||
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
||||||
},
|
},
|
||||||
"condition": {
|
"condition": {
|
||||||
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
||||||
|
|
|
@ -179,8 +179,11 @@ export default {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"render": {
|
||||||
|
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered"
|
||||||
|
},
|
||||||
"question": {
|
"question": {
|
||||||
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
||||||
},
|
},
|
||||||
"condition": {
|
"condition": {
|
||||||
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
||||||
|
|
|
@ -17,8 +17,11 @@
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"render": {
|
||||||
|
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered"
|
||||||
|
},
|
||||||
"question": {
|
"question": {
|
||||||
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
||||||
},
|
},
|
||||||
"condition": {
|
"condition": {
|
||||||
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
||||||
|
|
|
@ -17,8 +17,11 @@ export default {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"render": {
|
||||||
|
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered"
|
||||||
|
},
|
||||||
"question": {
|
"question": {
|
||||||
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
||||||
},
|
},
|
||||||
"condition": {
|
"condition": {
|
||||||
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
||||||
|
|
|
@ -125,8 +125,11 @@
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"render": {
|
||||||
|
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered"
|
||||||
|
},
|
||||||
"question": {
|
"question": {
|
||||||
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
||||||
},
|
},
|
||||||
"condition": {
|
"condition": {
|
||||||
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
||||||
|
@ -459,6 +462,9 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"default": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
"fields": {
|
"fields": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
|
|
|
@ -123,8 +123,11 @@ export default {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"render": {
|
||||||
|
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered"
|
||||||
|
},
|
||||||
"question": {
|
"question": {
|
||||||
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
|
||||||
},
|
},
|
||||||
"condition": {
|
"condition": {
|
||||||
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
|
||||||
|
@ -454,6 +457,9 @@ export default {
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"default": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
"fields": {
|
"fields": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
|
|
|
@ -205,6 +205,7 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"osmTags": {
|
"osmTags": {
|
||||||
|
"description": "Every source must set which tags have to be present in order to load the given layer.",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||||
|
@ -214,8 +215,9 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"overpassScript": {
|
"maxCacheAge": {
|
||||||
"type": "string"
|
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
||||||
|
"type": "number"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
@ -225,9 +227,8 @@
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"maxCacheAge": {
|
"overpassScript": {
|
||||||
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
"type": "string"
|
||||||
"type": "number"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -239,6 +240,7 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"osmTags": {
|
"osmTags": {
|
||||||
|
"description": "Every source must set which tags have to be present in order to load the given layer.",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/AndOrTagConfigJson"
|
"$ref": "#/definitions/AndOrTagConfigJson"
|
||||||
|
@ -248,32 +250,42 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"geoJson": {
|
"maxCacheAge": {
|
||||||
"type": "string"
|
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
||||||
},
|
|
||||||
"geoJsonZoomLevel": {
|
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
|
||||||
"isOsmCache": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"mercatorCrs": {
|
|
||||||
"type": "boolean"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
"geoJson",
|
|
||||||
"osmTags"
|
"osmTags"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"maxCacheAge": {
|
"geoJson": {
|
||||||
"description": "The maximum amount of seconds that a tile is allowed to linger in the cache",
|
"description": "The actual source of the data to load, if loaded via geojson.\n\n# A single geojson-file\nsource: {geoJson: \"https://my.source.net/some-geo-data.geojson\"}\n fetches a geojson from a third party source\n\n# A tiled geojson source\nsource: {geoJson: \"https://my.source.net/some-tile-geojson-{layer}-{z}-{x}-{y}.geojson\", geoJsonZoomLevel: 14}\n to use a tiled geojson source. The web server must offer multiple geojsons. {z}, {x} and {y} are substituted by the location; {layer} is substituted with the id of the loaded layer\n\nSome API's use a BBOX instead of a tile, this can be used by specifying {y_min}, {y_max}, {x_min} and {x_max}",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"geoJsonZoomLevel": {
|
||||||
|
"description": "To load a tiled geojson layer, set the zoomlevel of the tiles",
|
||||||
"type": "number"
|
"type": "number"
|
||||||
|
},
|
||||||
|
"isOsmCache": {
|
||||||
|
"description": "Indicates that the upstream geojson data is OSM-derived.\nUseful for e.g. merging or for scripts generating this cache",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"mercatorCrs": {
|
||||||
|
"description": "Some API's use a mercator-projection (EPSG:900913) instead of WGS84. Set the flag `mercatorCrs: true` in the source for this",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"idKey": {
|
||||||
|
"description": "Some API's have an id-field, but give it a different name.\nSetting this key will rename this field into 'id'",
|
||||||
|
"type": "string"
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"required": [
|
||||||
|
"geoJson"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -328,10 +340,17 @@
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
"isShown",
|
"isShown",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"isShown",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -589,10 +608,17 @@
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
"title",
|
"title",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"title",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -843,10 +869,17 @@
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
"titleIcons",
|
"titleIcons",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"titleIcons",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -1098,10 +1131,18 @@
|
||||||
"layers",
|
"layers",
|
||||||
"mapRendering",
|
"mapRendering",
|
||||||
"icon",
|
"icon",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"icon",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -1369,10 +1410,19 @@
|
||||||
"mapRendering",
|
"mapRendering",
|
||||||
"iconBadges",
|
"iconBadges",
|
||||||
"then",
|
"then",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"iconBadges",
|
||||||
|
"then",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -1642,10 +1692,18 @@
|
||||||
"layers",
|
"layers",
|
||||||
"mapRendering",
|
"mapRendering",
|
||||||
"iconSize",
|
"iconSize",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"iconSize",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -1898,10 +1956,18 @@
|
||||||
"layers",
|
"layers",
|
||||||
"mapRendering",
|
"mapRendering",
|
||||||
"rotation",
|
"rotation",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"rotation",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -2154,10 +2220,18 @@
|
||||||
"layers",
|
"layers",
|
||||||
"mapRendering",
|
"mapRendering",
|
||||||
"label",
|
"label",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"label",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -2417,10 +2491,18 @@
|
||||||
"layers",
|
"layers",
|
||||||
"mapRendering",
|
"mapRendering",
|
||||||
"color",
|
"color",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"color",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -2676,10 +2758,18 @@
|
||||||
"layers",
|
"layers",
|
||||||
"mapRendering",
|
"mapRendering",
|
||||||
"width",
|
"width",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"width",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -2932,10 +3022,18 @@
|
||||||
"layers",
|
"layers",
|
||||||
"mapRendering",
|
"mapRendering",
|
||||||
"dashArray",
|
"dashArray",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"dashArray",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -3188,10 +3286,18 @@
|
||||||
"layers",
|
"layers",
|
||||||
"mapRendering",
|
"mapRendering",
|
||||||
"lineCap",
|
"lineCap",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"lineCap",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -3448,10 +3554,18 @@
|
||||||
"layers",
|
"layers",
|
||||||
"mapRendering",
|
"mapRendering",
|
||||||
"fill",
|
"fill",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"fill",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -3704,10 +3818,18 @@
|
||||||
"layers",
|
"layers",
|
||||||
"mapRendering",
|
"mapRendering",
|
||||||
"fillColor",
|
"fillColor",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"fillColor",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -3960,10 +4082,18 @@
|
||||||
"layers",
|
"layers",
|
||||||
"mapRendering",
|
"mapRendering",
|
||||||
"offset",
|
"offset",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"mapRendering",
|
||||||
|
"offset",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -4350,10 +4480,17 @@
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
"tagRenderings",
|
"tagRenderings",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"tagRenderings",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -4574,10 +4711,18 @@
|
||||||
"layers",
|
"layers",
|
||||||
"tagRenderings",
|
"tagRenderings",
|
||||||
"renderings",
|
"renderings",
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"layers",
|
||||||
|
"tagRenderings",
|
||||||
|
"renderings",
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -5120,9 +5265,6 @@
|
||||||
"type": "number"
|
"type": "number"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "boolean"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
@ -23,10 +23,15 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"question"
|
"render"
|
||||||
],
|
],
|
||||||
"typeHint": "rendered"
|
"typeHint": "rendered"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"question"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
"condition"
|
"condition"
|
||||||
|
|
Loading…
Reference in a new issue