diff --git a/Docs/Schemas/FilterConfigJson.schema.json b/Docs/Schemas/FilterConfigJson.schema.json index e20cfeb045..ad6acfd29b 100644 --- a/Docs/Schemas/FilterConfigJson.schema.json +++ b/Docs/Schemas/FilterConfigJson.schema.json @@ -22,6 +22,9 @@ } ] }, + "default": { + "type": "boolean" + }, "fields": { "type": "array", "items": { diff --git a/Docs/Schemas/FilterConfigJsonJSC.ts b/Docs/Schemas/FilterConfigJsonJSC.ts index 25ecaa851a..fc54409ec8 100644 --- a/Docs/Schemas/FilterConfigJsonJSC.ts +++ b/Docs/Schemas/FilterConfigJsonJSC.ts @@ -22,6 +22,9 @@ export default { } ] }, + "default": { + "type": "boolean" + }, "fields": { "type": "array", "items": { diff --git a/Docs/Schemas/LayerConfigJson.schema.json b/Docs/Schemas/LayerConfigJson.schema.json index d5aa2df92f..db0eb5301f 100644 --- a/Docs/Schemas/LayerConfigJson.schema.json +++ b/Docs/Schemas/LayerConfigJson.schema.json @@ -13,7 +13,7 @@ "description": "A description for this layer.\nShown in the layer selections and in the personel theme" }, "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: \"\"} 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": [ { "allOf": [ @@ -21,6 +21,7 @@ "type": "object", "properties": { "osmTags": { + "description": "Every source must set which tags have to be present in order to load the given layer.", "anyOf": [ { "$ref": "#/definitions/AndOrTagConfigJson" @@ -30,8 +31,9 @@ } ] }, - "overpassScript": { - "type": "string" + "maxCacheAge": { + "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", + "type": "number" } }, "required": [ @@ -41,9 +43,8 @@ { "type": "object", "properties": { - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", - "type": "number" + "overpassScript": { + "type": "string" } } } @@ -55,6 +56,7 @@ "type": "object", "properties": { "osmTags": { + "description": "Every source must set which tags have to be present in order to load the given layer.", "anyOf": [ { "$ref": "#/definitions/AndOrTagConfigJson" @@ -64,32 +66,42 @@ } ] }, - "geoJson": { - "type": "string" - }, - "geoJsonZoomLevel": { + "maxCacheAge": { + "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", "type": "number" - }, - "isOsmCache": { - "type": "boolean" - }, - "mercatorCrs": { - "type": "boolean" } }, "required": [ - "geoJson", "osmTags" ] }, { "type": "object", "properties": { - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", + "geoJson": { + "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" + }, + "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" } }, + "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. '{website}' or include images such as `This is of type A
`\ntype: rendered" + }, "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. '{website}' or include images such as `This is of type A
`\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": { "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": { "type": "array", "items": { diff --git a/Docs/Schemas/LayerConfigJsonJSC.ts b/Docs/Schemas/LayerConfigJsonJSC.ts index ccafa9158a..d1fd6f5f8d 100644 --- a/Docs/Schemas/LayerConfigJsonJSC.ts +++ b/Docs/Schemas/LayerConfigJsonJSC.ts @@ -13,7 +13,7 @@ export default { "description": "A description for this layer.\nShown in the layer selections and in the personel theme" }, "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: \"\"} 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": [ { "allOf": [ @@ -21,6 +21,7 @@ export default { "type": "object", "properties": { "osmTags": { + "description": "Every source must set which tags have to be present in order to load the given layer.", "anyOf": [ { "$ref": "#/definitions/AndOrTagConfigJson" @@ -30,8 +31,9 @@ export default { } ] }, - "overpassScript": { - "type": "string" + "maxCacheAge": { + "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", + "type": "number" } }, "required": [ @@ -41,9 +43,8 @@ export default { { "type": "object", "properties": { - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", - "type": "number" + "overpassScript": { + "type": "string" } } } @@ -55,6 +56,7 @@ export default { "type": "object", "properties": { "osmTags": { + "description": "Every source must set which tags have to be present in order to load the given layer.", "anyOf": [ { "$ref": "#/definitions/AndOrTagConfigJson" @@ -64,32 +66,42 @@ export default { } ] }, - "geoJson": { - "type": "string" - }, - "geoJsonZoomLevel": { + "maxCacheAge": { + "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", "type": "number" - }, - "isOsmCache": { - "type": "boolean" - }, - "mercatorCrs": { - "type": "boolean" } }, "required": [ - "geoJson", "osmTags" ] }, { "type": "object", "properties": { - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", + "geoJson": { + "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" + }, + "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" } }, + "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. '{website}' or include images such as `This is of type A
`\ntype: rendered" + }, "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. '{website}' or include images such as `This is of type A
`\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": { "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": { "type": "array", "items": { diff --git a/Docs/Schemas/LayoutConfigJson.schema.json b/Docs/Schemas/LayoutConfigJson.schema.json index cd18248bdb..956f1ed363 100644 --- a/Docs/Schemas/LayoutConfigJson.schema.json +++ b/Docs/Schemas/LayoutConfigJson.schema.json @@ -201,9 +201,6 @@ "type": "number" } } - }, - { - "type": "boolean" } ] }, @@ -367,8 +364,11 @@ "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. '{website}' or include images such as `This is of type A
`\ntype: rendered" + }, "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. '{website}' or include images such as `This is of type A
`\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": { "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": { "type": "array", "items": { @@ -885,7 +888,7 @@ "description": "A description for this layer.\nShown in the layer selections and in the personel theme" }, "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: \"\"} 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": [ { "allOf": [ @@ -893,6 +896,7 @@ "type": "object", "properties": { "osmTags": { + "description": "Every source must set which tags have to be present in order to load the given layer.", "anyOf": [ { "$ref": "#/definitions/AndOrTagConfigJson" @@ -902,8 +906,9 @@ } ] }, - "overpassScript": { - "type": "string" + "maxCacheAge": { + "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", + "type": "number" } }, "required": [ @@ -913,9 +918,8 @@ { "type": "object", "properties": { - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", - "type": "number" + "overpassScript": { + "type": "string" } } } @@ -927,6 +931,7 @@ "type": "object", "properties": { "osmTags": { + "description": "Every source must set which tags have to be present in order to load the given layer.", "anyOf": [ { "$ref": "#/definitions/AndOrTagConfigJson" @@ -936,32 +941,42 @@ } ] }, - "geoJson": { - "type": "string" - }, - "geoJsonZoomLevel": { + "maxCacheAge": { + "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", "type": "number" - }, - "isOsmCache": { - "type": "boolean" - }, - "mercatorCrs": { - "type": "boolean" } }, "required": [ - "geoJson", "osmTags" ] }, { "type": "object", "properties": { - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", + "geoJson": { + "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" + }, + "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" + ] } ] } diff --git a/Docs/Schemas/LayoutConfigJsonJSC.ts b/Docs/Schemas/LayoutConfigJsonJSC.ts index 8ae08a4331..2b5aa1dd3a 100644 --- a/Docs/Schemas/LayoutConfigJsonJSC.ts +++ b/Docs/Schemas/LayoutConfigJsonJSC.ts @@ -201,9 +201,6 @@ export default { "type": "number" } } - }, - { - "type": "boolean" } ] }, @@ -365,8 +362,11 @@ export default { "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. '{website}' or include images such as `This is of type A
`\ntype: rendered" + }, "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. '{website}' or include images such as `This is of type A
`\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": { "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": { "type": "array", "items": { @@ -875,7 +878,7 @@ export default { "description": "A description for this layer.\nShown in the layer selections and in the personel theme" }, "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: \"\"} 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": [ { "allOf": [ @@ -883,6 +886,7 @@ export default { "type": "object", "properties": { "osmTags": { + "description": "Every source must set which tags have to be present in order to load the given layer.", "anyOf": [ { "$ref": "#/definitions/AndOrTagConfigJson" @@ -892,8 +896,9 @@ export default { } ] }, - "overpassScript": { - "type": "string" + "maxCacheAge": { + "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", + "type": "number" } }, "required": [ @@ -903,9 +908,8 @@ export default { { "type": "object", "properties": { - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", - "type": "number" + "overpassScript": { + "type": "string" } } } @@ -917,6 +921,7 @@ export default { "type": "object", "properties": { "osmTags": { + "description": "Every source must set which tags have to be present in order to load the given layer.", "anyOf": [ { "$ref": "#/definitions/AndOrTagConfigJson" @@ -926,32 +931,42 @@ export default { } ] }, - "geoJson": { - "type": "string" - }, - "geoJsonZoomLevel": { + "maxCacheAge": { + "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", "type": "number" - }, - "isOsmCache": { - "type": "boolean" - }, - "mercatorCrs": { - "type": "boolean" } }, "required": [ - "geoJson", "osmTags" ] }, { "type": "object", "properties": { - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", + "geoJson": { + "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" + }, + "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" + ] } ] } diff --git a/Docs/Schemas/LineRenderingConfigJson.schema.json b/Docs/Schemas/LineRenderingConfigJson.schema.json index 0488403041..a410d218d0 100644 --- a/Docs/Schemas/LineRenderingConfigJson.schema.json +++ b/Docs/Schemas/LineRenderingConfigJson.schema.json @@ -177,8 +177,11 @@ "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. '{website}' or include images such as `This is of type A
`\ntype: rendered" + }, "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. '{website}' or include images such as `This is of type A
`\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": { "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...", diff --git a/Docs/Schemas/LineRenderingConfigJsonJSC.ts b/Docs/Schemas/LineRenderingConfigJsonJSC.ts index 65e192785f..918f1b4c89 100644 --- a/Docs/Schemas/LineRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/LineRenderingConfigJsonJSC.ts @@ -175,8 +175,11 @@ export default { "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. '{website}' or include images such as `This is of type A
`\ntype: rendered" + }, "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. '{website}' or include images such as `This is of type A
`\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": { "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...", diff --git a/Docs/Schemas/PointRenderingConfigJson.schema.json b/Docs/Schemas/PointRenderingConfigJson.schema.json index 895df91e5f..5f14ee615e 100644 --- a/Docs/Schemas/PointRenderingConfigJson.schema.json +++ b/Docs/Schemas/PointRenderingConfigJson.schema.json @@ -181,8 +181,11 @@ "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. '{website}' or include images such as `This is of type A
`\ntype: rendered" + }, "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. '{website}' or include images such as `This is of type A
`\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": { "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...", diff --git a/Docs/Schemas/PointRenderingConfigJsonJSC.ts b/Docs/Schemas/PointRenderingConfigJsonJSC.ts index 0da1093833..30827308f6 100644 --- a/Docs/Schemas/PointRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/PointRenderingConfigJsonJSC.ts @@ -179,8 +179,11 @@ export default { "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. '{website}' or include images such as `This is of type A
`\ntype: rendered" + }, "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. '{website}' or include images such as `This is of type A
`\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": { "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...", diff --git a/Docs/Schemas/TagRenderingConfigJson.schema.json b/Docs/Schemas/TagRenderingConfigJson.schema.json index 5c8809cccb..9b74df0328 100644 --- a/Docs/Schemas/TagRenderingConfigJson.schema.json +++ b/Docs/Schemas/TagRenderingConfigJson.schema.json @@ -17,8 +17,11 @@ "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. '{website}' or include images such as `This is of type A
`\ntype: rendered" + }, "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. '{website}' or include images such as `This is of type A
`\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": { "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...", diff --git a/Docs/Schemas/TagRenderingConfigJsonJSC.ts b/Docs/Schemas/TagRenderingConfigJsonJSC.ts index 3d15c6b6d7..2bc849c6e4 100644 --- a/Docs/Schemas/TagRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/TagRenderingConfigJsonJSC.ts @@ -17,8 +17,11 @@ export default { "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. '{website}' or include images such as `This is of type A
`\ntype: rendered" + }, "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. '{website}' or include images such as `This is of type A
`\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": { "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...", diff --git a/Docs/Schemas/TilesourceConfigJson.schema.json b/Docs/Schemas/TilesourceConfigJson.schema.json index b8d102661c..ceb99cfe81 100644 --- a/Docs/Schemas/TilesourceConfigJson.schema.json +++ b/Docs/Schemas/TilesourceConfigJson.schema.json @@ -125,8 +125,11 @@ "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. '{website}' or include images such as `This is of type A
`\ntype: rendered" + }, "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. '{website}' or include images such as `This is of type A
`\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": { "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": { "type": "array", "items": { diff --git a/Docs/Schemas/TilesourceConfigJsonJSC.ts b/Docs/Schemas/TilesourceConfigJsonJSC.ts index d2d6631b21..19fc0f623f 100644 --- a/Docs/Schemas/TilesourceConfigJsonJSC.ts +++ b/Docs/Schemas/TilesourceConfigJsonJSC.ts @@ -123,8 +123,11 @@ export default { "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. '{website}' or include images such as `This is of type A
`\ntype: rendered" + }, "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. '{website}' or include images such as `This is of type A
`\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": { "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": { "type": "array", "items": { diff --git a/assets/layoutconfigmeta.json b/assets/layoutconfigmeta.json index 1e255a8577..813272dc53 100644 --- a/assets/layoutconfigmeta.json +++ b/assets/layoutconfigmeta.json @@ -205,6 +205,7 @@ "type": "object", "properties": { "osmTags": { + "description": "Every source must set which tags have to be present in order to load the given layer.", "anyOf": [ { "$ref": "#/definitions/AndOrTagConfigJson" @@ -214,8 +215,9 @@ } ] }, - "overpassScript": { - "type": "string" + "maxCacheAge": { + "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", + "type": "number" } }, "required": [ @@ -225,9 +227,8 @@ { "type": "object", "properties": { - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", - "type": "number" + "overpassScript": { + "type": "string" } } } @@ -239,6 +240,7 @@ "type": "object", "properties": { "osmTags": { + "description": "Every source must set which tags have to be present in order to load the given layer.", "anyOf": [ { "$ref": "#/definitions/AndOrTagConfigJson" @@ -248,32 +250,42 @@ } ] }, - "geoJson": { - "type": "string" - }, - "geoJsonZoomLevel": { + "maxCacheAge": { + "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", "type": "number" - }, - "isOsmCache": { - "type": "boolean" - }, - "mercatorCrs": { - "type": "boolean" } }, "required": [ - "geoJson", "osmTags" ] }, { "type": "object", "properties": { - "maxCacheAge": { - "description": "The maximum amount of seconds that a tile is allowed to linger in the cache", + "geoJson": { + "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" + }, + "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": [ "layers", "isShown", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "isShown", + "question" + ] + }, { "path": [ "layers", @@ -589,10 +608,17 @@ "path": [ "layers", "title", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "title", + "question" + ] + }, { "path": [ "layers", @@ -843,10 +869,17 @@ "path": [ "layers", "titleIcons", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "titleIcons", + "question" + ] + }, { "path": [ "layers", @@ -1098,10 +1131,18 @@ "layers", "mapRendering", "icon", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "mapRendering", + "icon", + "question" + ] + }, { "path": [ "layers", @@ -1369,10 +1410,19 @@ "mapRendering", "iconBadges", "then", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "mapRendering", + "iconBadges", + "then", + "question" + ] + }, { "path": [ "layers", @@ -1642,10 +1692,18 @@ "layers", "mapRendering", "iconSize", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "mapRendering", + "iconSize", + "question" + ] + }, { "path": [ "layers", @@ -1898,10 +1956,18 @@ "layers", "mapRendering", "rotation", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "mapRendering", + "rotation", + "question" + ] + }, { "path": [ "layers", @@ -2154,10 +2220,18 @@ "layers", "mapRendering", "label", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "mapRendering", + "label", + "question" + ] + }, { "path": [ "layers", @@ -2417,10 +2491,18 @@ "layers", "mapRendering", "color", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "mapRendering", + "color", + "question" + ] + }, { "path": [ "layers", @@ -2676,10 +2758,18 @@ "layers", "mapRendering", "width", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "mapRendering", + "width", + "question" + ] + }, { "path": [ "layers", @@ -2932,10 +3022,18 @@ "layers", "mapRendering", "dashArray", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "mapRendering", + "dashArray", + "question" + ] + }, { "path": [ "layers", @@ -3188,10 +3286,18 @@ "layers", "mapRendering", "lineCap", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "mapRendering", + "lineCap", + "question" + ] + }, { "path": [ "layers", @@ -3448,10 +3554,18 @@ "layers", "mapRendering", "fill", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "mapRendering", + "fill", + "question" + ] + }, { "path": [ "layers", @@ -3704,10 +3818,18 @@ "layers", "mapRendering", "fillColor", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "mapRendering", + "fillColor", + "question" + ] + }, { "path": [ "layers", @@ -3960,10 +4082,18 @@ "layers", "mapRendering", "offset", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "mapRendering", + "offset", + "question" + ] + }, { "path": [ "layers", @@ -4350,10 +4480,17 @@ "path": [ "layers", "tagRenderings", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "tagRenderings", + "question" + ] + }, { "path": [ "layers", @@ -4574,10 +4711,18 @@ "layers", "tagRenderings", "renderings", - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "layers", + "tagRenderings", + "renderings", + "question" + ] + }, { "path": [ "layers", @@ -5120,9 +5265,6 @@ "type": "number" } } - }, - { - "type": "boolean" } ] }, diff --git a/assets/tagrenderingconfigmeta.json b/assets/tagrenderingconfigmeta.json index df0942ef09..fd9483b822 100644 --- a/assets/tagrenderingconfigmeta.json +++ b/assets/tagrenderingconfigmeta.json @@ -23,10 +23,15 @@ }, { "path": [ - "question" + "render" ], "typeHint": "rendered" }, + { + "path": [ + "question" + ] + }, { "path": [ "condition"