forked from MapComplete/MapComplete
Fix studio, add options for 'rotation' (see #2072)
This commit is contained in:
parent
def7523334
commit
39ce276c46
14 changed files with 190 additions and 54 deletions
|
@ -178,7 +178,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"pointRendering": {
|
"pointRendering": {
|
||||||
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered\n\ngroup: pointrendering",
|
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered.\n\nNote that all attributes - including [the calculated tags](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/CalculatedTags.md) can be used to create the markers and lines\n\ngroup: pointrendering",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/definitions/default_4"
|
"$ref": "#/definitions/default_4"
|
||||||
|
@ -1021,7 +1021,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"rotation": {
|
"rotation": {
|
||||||
"description": "question: What rotation should be applied on the icon?\nThis is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)``\nifunset: Do not rotate",
|
"description": "question: What rotation should be applied on the icon?\nThis is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)`\n\nIf the icon is shown on the projected centerpoint of a way, one can also use `_direction:centerpoint`\n\ntypes: Dynamic value ; string\nsuggestions: return [{if: \"value={_direction:centerpoint}deg\", then: \"Point the top of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg + 90deg )\", then: \"Point the left of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg - 90deg )\", then: \"Point the right of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg + 180deg )\", then: \"Point the bottom of the icon towards the end of the way\"}]\nifunset: Do not rotate",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
@ -1076,7 +1076,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"cssClasses": {
|
"cssClasses": {
|
||||||
"description": "question: Which CSS-classes should be applied to the entire marker?\nThis will be applied to the _container_ containing both the marker and the label\n\nThe classes should be separated by a space (` `)\nYou can use most Tailwind-css classes, see https://tailwindcss.com/ for more information\nFor example: `center bg-gray-500 mx-2 my-1 rounded-full`\ninline: Apply CSS-classes <b>{value}</b> to the entire container\nifunset: Do not apply extra CSS-classes to the label\ntypes: Dynamic value ; string\nifunset: Do not apply extra CSS-classes to the entire marker\ngroup: expert",
|
"description": "question: Which CSS-classes should be applied to the entire marker?\nThis will be applied to the _container_ containing both the marker and the label\n\nThe classes should be separated by a space (` `)\nYou can use most Tailwind-css classes, see https://tailwindcss.com/ for more information\nFor example: `center bg-gray-500 mx-2 my-1 rounded-full`\ninline: Apply CSS-classes <b>{value}</b> to the entire container\ntypes: Dynamic value ; string\nifunset: Do not apply extra CSS-classes to the entire marker\ngroup: expert",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
@ -1087,7 +1087,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"pitchAlignment": {
|
"pitchAlignment": {
|
||||||
"description": "question: If the map is pitched, should the icon stay parallel to the screen or to the groundplane?\nsuggestions: return [{if: \"value=canvas\", then: \"The icon will stay upward and not be transformed as if it sticks to the screen\"}, {if: \"value=map\", then: \"The icon will be transformed as if it were painted onto the ground. (Automatically sets rotationAlignment)\"}]\ngroup: expert",
|
"description": "question: If the map is pitched, should the icon stay parallel to the screen or to the groundplane?\nsuggestions: return [{if: \"value=canvas\", alsoShowIf: \"value=\", then: \"The icon will stay upward and not be transformed as if it sticks to the screen\"}, {if: \"value=map\", then: \"The icon will be transformed as if it were painted onto the ground. (Automatically sets rotationAlignment)\"}]\ngroup: expert",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
|
|
@ -178,7 +178,7 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"pointRendering": {
|
"pointRendering": {
|
||||||
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered\n\ngroup: pointrendering",
|
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered.\n\nNote that all attributes - including [the calculated tags](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/CalculatedTags.md) can be used to create the markers and lines\n\ngroup: pointrendering",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/definitions/default_4"
|
"$ref": "#/definitions/default_4"
|
||||||
|
@ -1010,7 +1010,7 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"rotation": {
|
"rotation": {
|
||||||
"description": "question: What rotation should be applied on the icon?\nThis is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)``\nifunset: Do not rotate",
|
"description": "question: What rotation should be applied on the icon?\nThis is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)`\n\nIf the icon is shown on the projected centerpoint of a way, one can also use `_direction:centerpoint`\n\ntypes: Dynamic value ; string\nsuggestions: return [{if: \"value={_direction:centerpoint}deg\", then: \"Point the top of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg + 90deg )\", then: \"Point the left of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg - 90deg )\", then: \"Point the right of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg + 180deg )\", then: \"Point the bottom of the icon towards the end of the way\"}]\nifunset: Do not rotate",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
@ -1065,7 +1065,7 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"cssClasses": {
|
"cssClasses": {
|
||||||
"description": "question: Which CSS-classes should be applied to the entire marker?\nThis will be applied to the _container_ containing both the marker and the label\n\nThe classes should be separated by a space (` `)\nYou can use most Tailwind-css classes, see https://tailwindcss.com/ for more information\nFor example: `center bg-gray-500 mx-2 my-1 rounded-full`\ninline: Apply CSS-classes <b>{value}</b> to the entire container\nifunset: Do not apply extra CSS-classes to the label\ntypes: Dynamic value ; string\nifunset: Do not apply extra CSS-classes to the entire marker\ngroup: expert",
|
"description": "question: Which CSS-classes should be applied to the entire marker?\nThis will be applied to the _container_ containing both the marker and the label\n\nThe classes should be separated by a space (` `)\nYou can use most Tailwind-css classes, see https://tailwindcss.com/ for more information\nFor example: `center bg-gray-500 mx-2 my-1 rounded-full`\ninline: Apply CSS-classes <b>{value}</b> to the entire container\ntypes: Dynamic value ; string\nifunset: Do not apply extra CSS-classes to the entire marker\ngroup: expert",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
@ -1076,7 +1076,7 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"pitchAlignment": {
|
"pitchAlignment": {
|
||||||
"description": "question: If the map is pitched, should the icon stay parallel to the screen or to the groundplane?\nsuggestions: return [{if: \"value=canvas\", then: \"The icon will stay upward and not be transformed as if it sticks to the screen\"}, {if: \"value=map\", then: \"The icon will be transformed as if it were painted onto the ground. (Automatically sets rotationAlignment)\"}]\ngroup: expert",
|
"description": "question: If the map is pitched, should the icon stay parallel to the screen or to the groundplane?\nsuggestions: return [{if: \"value=canvas\", alsoShowIf: \"value=\", then: \"The icon will stay upward and not be transformed as if it sticks to the screen\"}, {if: \"value=map\", then: \"The icon will be transformed as if it were painted onto the ground. (Automatically sets rotationAlignment)\"}]\ngroup: expert",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
|
|
@ -301,11 +301,21 @@
|
||||||
"enableMorePrivacy": {
|
"enableMorePrivacy": {
|
||||||
"description": "question: Should this theme leak some location info when making changes?\n\nWhen a changeset is made, a 'distance to object'-class is written to the changeset.\nFor some particular themes and layers, this might leak too much information, and we want to obfuscate this\n\nifunset: Write 'change_within_x_m' as usual and if GPS is enabled\niftrue: Do not write 'change_within_x_m' and do not indicate that this was done by survey",
|
"description": "question: Should this theme leak some location info when making changes?\n\nWhen a changeset is made, a 'distance to object'-class is written to the changeset.\nFor some particular themes and layers, this might leak too much information, and we want to obfuscate this\n\nifunset: Write 'change_within_x_m' as usual and if GPS is enabled\niftrue: Do not write 'change_within_x_m' and do not indicate that this was done by survey",
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"enableCache": {
|
||||||
|
"description": "question: Should this theme have the cache enabled?\n\nShould only be dissabled in highly specific cases, such as the GRB-theme\n\nifunset: Cache is enabled\niffalse: Do not cache data\ngroup: hidden",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"_usedImages": {
|
||||||
|
"description": "Set by the preprocessor\ngroup: hidden",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
"description",
|
"description",
|
||||||
"enableMorePrivacy",
|
|
||||||
"icon",
|
"icon",
|
||||||
"id",
|
"id",
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -912,7 +922,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"rotation": {
|
"rotation": {
|
||||||
"description": "question: What rotation should be applied on the icon?\nThis is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)``\nifunset: Do not rotate",
|
"description": "question: What rotation should be applied on the icon?\nThis is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)`\n\nIf the icon is shown on the projected centerpoint of a way, one can also use `_direction:centerpoint`\n\ntypes: Dynamic value ; string\nsuggestions: return [{if: \"value={_direction:centerpoint}deg\", then: \"Point the top of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg + 90deg )\", then: \"Point the left of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg - 90deg )\", then: \"Point the right of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg + 180deg )\", then: \"Point the bottom of the icon towards the end of the way\"}]\nifunset: Do not rotate",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
@ -967,7 +977,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"cssClasses": {
|
"cssClasses": {
|
||||||
"description": "question: Which CSS-classes should be applied to the entire marker?\nThis will be applied to the _container_ containing both the marker and the label\n\nThe classes should be separated by a space (` `)\nYou can use most Tailwind-css classes, see https://tailwindcss.com/ for more information\nFor example: `center bg-gray-500 mx-2 my-1 rounded-full`\ninline: Apply CSS-classes <b>{value}</b> to the entire container\nifunset: Do not apply extra CSS-classes to the label\ntypes: Dynamic value ; string\nifunset: Do not apply extra CSS-classes to the entire marker\ngroup: expert",
|
"description": "question: Which CSS-classes should be applied to the entire marker?\nThis will be applied to the _container_ containing both the marker and the label\n\nThe classes should be separated by a space (` `)\nYou can use most Tailwind-css classes, see https://tailwindcss.com/ for more information\nFor example: `center bg-gray-500 mx-2 my-1 rounded-full`\ninline: Apply CSS-classes <b>{value}</b> to the entire container\ntypes: Dynamic value ; string\nifunset: Do not apply extra CSS-classes to the entire marker\ngroup: expert",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
@ -978,7 +988,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"pitchAlignment": {
|
"pitchAlignment": {
|
||||||
"description": "question: If the map is pitched, should the icon stay parallel to the screen or to the groundplane?\nsuggestions: return [{if: \"value=canvas\", then: \"The icon will stay upward and not be transformed as if it sticks to the screen\"}, {if: \"value=map\", then: \"The icon will be transformed as if it were painted onto the ground. (Automatically sets rotationAlignment)\"}]\ngroup: expert",
|
"description": "question: If the map is pitched, should the icon stay parallel to the screen or to the groundplane?\nsuggestions: return [{if: \"value=canvas\", alsoShowIf: \"value=\", then: \"The icon will stay upward and not be transformed as if it sticks to the screen\"}, {if: \"value=map\", then: \"The icon will be transformed as if it were painted onto the ground. (Automatically sets rotationAlignment)\"}]\ngroup: expert",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
@ -2114,7 +2124,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"pointRendering": {
|
"pointRendering": {
|
||||||
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered\n\ngroup: pointrendering",
|
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered.\n\nNote that all attributes - including [the calculated tags](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/CalculatedTags.md) can be used to create the markers and lines\n\ngroup: pointrendering",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/definitions/default_4"
|
"$ref": "#/definitions/default_4"
|
||||||
|
@ -2537,7 +2547,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"pointRendering": {
|
"pointRendering": {
|
||||||
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered\n\ngroup: pointrendering",
|
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered.\n\nNote that all attributes - including [the calculated tags](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/CalculatedTags.md) can be used to create the markers and lines\n\ngroup: pointrendering",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/definitions/default_4"
|
"$ref": "#/definitions/default_4"
|
||||||
|
|
|
@ -301,11 +301,21 @@ export default {
|
||||||
"enableMorePrivacy": {
|
"enableMorePrivacy": {
|
||||||
"description": "question: Should this theme leak some location info when making changes?\n\nWhen a changeset is made, a 'distance to object'-class is written to the changeset.\nFor some particular themes and layers, this might leak too much information, and we want to obfuscate this\n\nifunset: Write 'change_within_x_m' as usual and if GPS is enabled\niftrue: Do not write 'change_within_x_m' and do not indicate that this was done by survey",
|
"description": "question: Should this theme leak some location info when making changes?\n\nWhen a changeset is made, a 'distance to object'-class is written to the changeset.\nFor some particular themes and layers, this might leak too much information, and we want to obfuscate this\n\nifunset: Write 'change_within_x_m' as usual and if GPS is enabled\niftrue: Do not write 'change_within_x_m' and do not indicate that this was done by survey",
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"enableCache": {
|
||||||
|
"description": "question: Should this theme have the cache enabled?\n\nShould only be dissabled in highly specific cases, such as the GRB-theme\n\nifunset: Cache is enabled\niffalse: Do not cache data\ngroup: hidden",
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"_usedImages": {
|
||||||
|
"description": "Set by the preprocessor\ngroup: hidden",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
"description",
|
"description",
|
||||||
"enableMorePrivacy",
|
|
||||||
"icon",
|
"icon",
|
||||||
"id",
|
"id",
|
||||||
"layers",
|
"layers",
|
||||||
|
@ -901,7 +911,7 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"rotation": {
|
"rotation": {
|
||||||
"description": "question: What rotation should be applied on the icon?\nThis is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)``\nifunset: Do not rotate",
|
"description": "question: What rotation should be applied on the icon?\nThis is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)`\n\nIf the icon is shown on the projected centerpoint of a way, one can also use `_direction:centerpoint`\n\ntypes: Dynamic value ; string\nsuggestions: return [{if: \"value={_direction:centerpoint}deg\", then: \"Point the top of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg + 90deg )\", then: \"Point the left of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg - 90deg )\", then: \"Point the right of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg + 180deg )\", then: \"Point the bottom of the icon towards the end of the way\"}]\nifunset: Do not rotate",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
@ -956,7 +966,7 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"cssClasses": {
|
"cssClasses": {
|
||||||
"description": "question: Which CSS-classes should be applied to the entire marker?\nThis will be applied to the _container_ containing both the marker and the label\n\nThe classes should be separated by a space (` `)\nYou can use most Tailwind-css classes, see https://tailwindcss.com/ for more information\nFor example: `center bg-gray-500 mx-2 my-1 rounded-full`\ninline: Apply CSS-classes <b>{value}</b> to the entire container\nifunset: Do not apply extra CSS-classes to the label\ntypes: Dynamic value ; string\nifunset: Do not apply extra CSS-classes to the entire marker\ngroup: expert",
|
"description": "question: Which CSS-classes should be applied to the entire marker?\nThis will be applied to the _container_ containing both the marker and the label\n\nThe classes should be separated by a space (` `)\nYou can use most Tailwind-css classes, see https://tailwindcss.com/ for more information\nFor example: `center bg-gray-500 mx-2 my-1 rounded-full`\ninline: Apply CSS-classes <b>{value}</b> to the entire container\ntypes: Dynamic value ; string\nifunset: Do not apply extra CSS-classes to the entire marker\ngroup: expert",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
@ -967,7 +977,7 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"pitchAlignment": {
|
"pitchAlignment": {
|
||||||
"description": "question: If the map is pitched, should the icon stay parallel to the screen or to the groundplane?\nsuggestions: return [{if: \"value=canvas\", then: \"The icon will stay upward and not be transformed as if it sticks to the screen\"}, {if: \"value=map\", then: \"The icon will be transformed as if it were painted onto the ground. (Automatically sets rotationAlignment)\"}]\ngroup: expert",
|
"description": "question: If the map is pitched, should the icon stay parallel to the screen or to the groundplane?\nsuggestions: return [{if: \"value=canvas\", alsoShowIf: \"value=\", then: \"The icon will stay upward and not be transformed as if it sticks to the screen\"}, {if: \"value=map\", then: \"The icon will be transformed as if it were painted onto the ground. (Automatically sets rotationAlignment)\"}]\ngroup: expert",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
@ -2092,7 +2102,7 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"pointRendering": {
|
"pointRendering": {
|
||||||
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered\n\ngroup: pointrendering",
|
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered.\n\nNote that all attributes - including [the calculated tags](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/CalculatedTags.md) can be used to create the markers and lines\n\ngroup: pointrendering",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/definitions/default_4"
|
"$ref": "#/definitions/default_4"
|
||||||
|
@ -2514,7 +2524,7 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"pointRendering": {
|
"pointRendering": {
|
||||||
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered\n\ngroup: pointrendering",
|
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered.\n\nNote that all attributes - including [the calculated tags](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/CalculatedTags.md) can be used to create the markers and lines\n\ngroup: pointrendering",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/definitions/default_4"
|
"$ref": "#/definitions/default_4"
|
||||||
|
|
|
@ -67,7 +67,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"rotation": {
|
"rotation": {
|
||||||
"description": "question: What rotation should be applied on the icon?\nThis is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)``\nifunset: Do not rotate",
|
"description": "question: What rotation should be applied on the icon?\nThis is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)`\n\nIf the icon is shown on the projected centerpoint of a way, one can also use `_direction:centerpoint`\n\ntypes: Dynamic value ; string\nsuggestions: return [{if: \"value={_direction:centerpoint}deg\", then: \"Point the top of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg + 90deg )\", then: \"Point the left of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg - 90deg )\", then: \"Point the right of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg + 180deg )\", then: \"Point the bottom of the icon towards the end of the way\"}]\nifunset: Do not rotate",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
@ -122,7 +122,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"cssClasses": {
|
"cssClasses": {
|
||||||
"description": "question: Which CSS-classes should be applied to the entire marker?\nThis will be applied to the _container_ containing both the marker and the label\n\nThe classes should be separated by a space (` `)\nYou can use most Tailwind-css classes, see https://tailwindcss.com/ for more information\nFor example: `center bg-gray-500 mx-2 my-1 rounded-full`\ninline: Apply CSS-classes <b>{value}</b> to the entire container\nifunset: Do not apply extra CSS-classes to the label\ntypes: Dynamic value ; string\nifunset: Do not apply extra CSS-classes to the entire marker\ngroup: expert",
|
"description": "question: Which CSS-classes should be applied to the entire marker?\nThis will be applied to the _container_ containing both the marker and the label\n\nThe classes should be separated by a space (` `)\nYou can use most Tailwind-css classes, see https://tailwindcss.com/ for more information\nFor example: `center bg-gray-500 mx-2 my-1 rounded-full`\ninline: Apply CSS-classes <b>{value}</b> to the entire container\ntypes: Dynamic value ; string\nifunset: Do not apply extra CSS-classes to the entire marker\ngroup: expert",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
@ -133,7 +133,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"pitchAlignment": {
|
"pitchAlignment": {
|
||||||
"description": "question: If the map is pitched, should the icon stay parallel to the screen or to the groundplane?\nsuggestions: return [{if: \"value=canvas\", then: \"The icon will stay upward and not be transformed as if it sticks to the screen\"}, {if: \"value=map\", then: \"The icon will be transformed as if it were painted onto the ground. (Automatically sets rotationAlignment)\"}]\ngroup: expert",
|
"description": "question: If the map is pitched, should the icon stay parallel to the screen or to the groundplane?\nsuggestions: return [{if: \"value=canvas\", alsoShowIf: \"value=\", then: \"The icon will stay upward and not be transformed as if it sticks to the screen\"}, {if: \"value=map\", then: \"The icon will be transformed as if it were painted onto the ground. (Automatically sets rotationAlignment)\"}]\ngroup: expert",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
|
|
@ -67,7 +67,7 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"rotation": {
|
"rotation": {
|
||||||
"description": "question: What rotation should be applied on the icon?\nThis is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)``\nifunset: Do not rotate",
|
"description": "question: What rotation should be applied on the icon?\nThis is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)`\n\nIf the icon is shown on the projected centerpoint of a way, one can also use `_direction:centerpoint`\n\ntypes: Dynamic value ; string\nsuggestions: return [{if: \"value={_direction:centerpoint}deg\", then: \"Point the top of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg + 90deg )\", then: \"Point the left of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg - 90deg )\", then: \"Point the right of the icon towards the end of the way\"}, {if: \"value=calc( {_direction:centerpoint}deg + 180deg )\", then: \"Point the bottom of the icon towards the end of the way\"}]\nifunset: Do not rotate",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
@ -122,7 +122,7 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"cssClasses": {
|
"cssClasses": {
|
||||||
"description": "question: Which CSS-classes should be applied to the entire marker?\nThis will be applied to the _container_ containing both the marker and the label\n\nThe classes should be separated by a space (` `)\nYou can use most Tailwind-css classes, see https://tailwindcss.com/ for more information\nFor example: `center bg-gray-500 mx-2 my-1 rounded-full`\ninline: Apply CSS-classes <b>{value}</b> to the entire container\nifunset: Do not apply extra CSS-classes to the label\ntypes: Dynamic value ; string\nifunset: Do not apply extra CSS-classes to the entire marker\ngroup: expert",
|
"description": "question: Which CSS-classes should be applied to the entire marker?\nThis will be applied to the _container_ containing both the marker and the label\n\nThe classes should be separated by a space (` `)\nYou can use most Tailwind-css classes, see https://tailwindcss.com/ for more information\nFor example: `center bg-gray-500 mx-2 my-1 rounded-full`\ninline: Apply CSS-classes <b>{value}</b> to the entire container\ntypes: Dynamic value ; string\nifunset: Do not apply extra CSS-classes to the entire marker\ngroup: expert",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
@ -133,7 +133,7 @@ export default {
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"pitchAlignment": {
|
"pitchAlignment": {
|
||||||
"description": "question: If the map is pitched, should the icon stay parallel to the screen or to the groundplane?\nsuggestions: return [{if: \"value=canvas\", then: \"The icon will stay upward and not be transformed as if it sticks to the screen\"}, {if: \"value=map\", then: \"The icon will be transformed as if it were painted onto the ground. (Automatically sets rotationAlignment)\"}]\ngroup: expert",
|
"description": "question: If the map is pitched, should the icon stay parallel to the screen or to the groundplane?\nsuggestions: return [{if: \"value=canvas\", alsoShowIf: \"value=\", then: \"The icon will stay upward and not be transformed as if it sticks to the screen\"}, {if: \"value=map\", then: \"The icon will be transformed as if it were painted onto the ground. (Automatically sets rotationAlignment)\"}]\ngroup: expert",
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/definitions/TagRenderingConfigJson"
|
"$ref": "#/definitions/TagRenderingConfigJson"
|
||||||
|
|
|
@ -242,7 +242,9 @@ export interface LayerConfigJson {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates points to render on the map.
|
* Creates points to render on the map.
|
||||||
* This can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered
|
* This can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered.
|
||||||
|
*
|
||||||
|
* Note that all attributes - including [the calculated tags](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/CalculatedTags.md) can be used to create the markers and lines
|
||||||
*
|
*
|
||||||
* group: pointrendering
|
* group: pointrendering
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -92,11 +92,12 @@ export default interface PointRenderingConfigJson {
|
||||||
/**
|
/**
|
||||||
* question: What rotation should be applied on the icon?
|
* question: What rotation should be applied on the icon?
|
||||||
* This is mostly useful for items that face a specific direction, such as surveillance cameras
|
* This is mostly useful for items that face a specific direction, such as surveillance cameras
|
||||||
* This is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)``
|
* This is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)`
|
||||||
*
|
*
|
||||||
* If the icon is shown on the projected centerpoint of a way, one can also use `_direction:centerpoint`
|
* If the icon is shown on the projected centerpoint of a way, one can also use `_direction:centerpoint`
|
||||||
*
|
*
|
||||||
* suggestions: return [{if: "value={_direction:centerpoint}deg", then: "Point north if the icon is pointing up"}, {if: "value=calc( {_direction:centerpoint}deg + 90deg)", then: "Point east if the icon is pointing up"}, {if: "value=calc( {_direction:centerpoint}deg + 180deg)", then: "Point south if the icon is pointing up"},{if: "value=calc( {_direction:centerpoint}deg + 270deg)", then: "Point west if the icon is pointing up"}]
|
* types: Dynamic value ; string
|
||||||
|
* suggestions: return [{if: "value={_direction:centerpoint}deg", then: "Point the top of the icon towards the end of the way"}, {if: "value=calc( {_direction:centerpoint}deg + 90deg )", then: "Point the left of the icon towards the end of the way"}, {if: "value=calc( {_direction:centerpoint}deg - 90deg )", then: "Point the right of the icon towards the end of the way"}, {if: "value=calc( {_direction:centerpoint}deg + 180deg )", then: "Point the bottom of the icon towards the end of the way"}]
|
||||||
* ifunset: Do not rotate
|
* ifunset: Do not rotate
|
||||||
*/
|
*/
|
||||||
rotation?: string | TagRenderingConfigJson
|
rotation?: string | TagRenderingConfigJson
|
||||||
|
@ -153,7 +154,6 @@ export default interface PointRenderingConfigJson {
|
||||||
* You can use most Tailwind-css classes, see https://tailwindcss.com/ for more information
|
* You can use most Tailwind-css classes, see https://tailwindcss.com/ for more information
|
||||||
* For example: `center bg-gray-500 mx-2 my-1 rounded-full`
|
* For example: `center bg-gray-500 mx-2 my-1 rounded-full`
|
||||||
* inline: Apply CSS-classes <b>{value}</b> to the entire container
|
* inline: Apply CSS-classes <b>{value}</b> to the entire container
|
||||||
* ifunset: Do not apply extra CSS-classes to the label
|
|
||||||
* types: Dynamic value ; string
|
* types: Dynamic value ; string
|
||||||
* ifunset: Do not apply extra CSS-classes to the entire marker
|
* ifunset: Do not apply extra CSS-classes to the entire marker
|
||||||
* group: expert
|
* group: expert
|
||||||
|
@ -162,7 +162,7 @@ export default interface PointRenderingConfigJson {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* question: If the map is pitched, should the icon stay parallel to the screen or to the groundplane?
|
* question: If the map is pitched, should the icon stay parallel to the screen or to the groundplane?
|
||||||
* suggestions: return [{if: "value=canvas", then: "The icon will stay upward and not be transformed as if it sticks to the screen"}, {if: "value=map", then: "The icon will be transformed as if it were painted onto the ground. (Automatically sets rotationAlignment)"}]
|
* suggestions: return [{if: "value=canvas", alsoShowIf: "value=", then: "The icon will stay upward and not be transformed as if it sticks to the screen"}, {if: "value=map", then: "The icon will be transformed as if it were painted onto the ground. (Automatically sets rotationAlignment)"}]
|
||||||
* group: expert
|
* group: expert
|
||||||
*/
|
*/
|
||||||
pitchAlignment?: "canvas" | "map" | TagRenderingConfigJson
|
pitchAlignment?: "canvas" | "map" | TagRenderingConfigJson
|
||||||
|
|
|
@ -39,8 +39,8 @@
|
||||||
return sch
|
return sch
|
||||||
}
|
}
|
||||||
|
|
||||||
function fusePath(i: number, subpartPath: string[]): (string | number)[] {
|
function fusePath(subpartPath: string[]): (string | number)[] {
|
||||||
const newPath = [...path, i]
|
const newPath = [...path]
|
||||||
const toAdd = [...subpartPath]
|
const toAdd = [...subpartPath]
|
||||||
for (const part of path) {
|
for (const part of path) {
|
||||||
if (toAdd[0] === part) {
|
if (toAdd[0] === part) {
|
||||||
|
@ -146,7 +146,7 @@
|
||||||
<Tr cls="font-bold" t={Translations.T(value?.question ?? value?.render)} />
|
<Tr cls="font-bold" t={Translations.T(value?.question ?? value?.render)} />
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
<div class="normal-background p-2">
|
<div class="normal-background p-2 border border-gray-300">
|
||||||
{#if isTagRenderingBlock}
|
{#if isTagRenderingBlock}
|
||||||
<QuestionPreview {state} {path} {schema}>
|
<QuestionPreview {state} {path} {schema}>
|
||||||
<button
|
<button
|
||||||
|
@ -193,12 +193,13 @@
|
||||||
{/if}
|
{/if}
|
||||||
</QuestionPreview>
|
</QuestionPreview>
|
||||||
{:else if schema.hints.types}
|
{:else if schema.hints.types}
|
||||||
<SchemaBasedMultiType {state} {path} schema={schemaForMultitype()} />
|
<SchemaBasedMultiType {state} path={[...path,i]} schema={schemaForMultitype()} />
|
||||||
{:else}
|
{:else}
|
||||||
{#each subparts as subpart}
|
{#each subparts as subpart}
|
||||||
<SchemaBasedInput
|
<SchemaBasedInput
|
||||||
{state}
|
{state}
|
||||||
{path}
|
path={fusePath(subpart.path)}
|
||||||
|
schema={subpart}
|
||||||
/>
|
/>
|
||||||
{/each}
|
{/each}
|
||||||
{/if}
|
{/if}
|
||||||
|
|
|
@ -82,7 +82,7 @@
|
||||||
let highlightedItem: UIEventSource<HighlightedTagRendering> = state.highlightedItem
|
let highlightedItem: UIEventSource<HighlightedTagRendering> = state.highlightedItem
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="flex h-screen flex-col">
|
<div class="flex h-screen flex-col link-underline">
|
||||||
<div class="my-2 flex w-full flex-wrap justify-between">
|
<div class="my-2 flex w-full flex-wrap justify-between">
|
||||||
<slot />
|
<slot />
|
||||||
{#if $title === undefined}
|
{#if $title === undefined}
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
import type * as Monaco from "monaco-editor/esm/vs/editor/editor.api"
|
import type * as Monaco from "monaco-editor/esm/vs/editor/editor.api"
|
||||||
import layerSchemaJSON from "../../../Docs/Schemas/LayerConfigJson.schema.json"
|
import layerSchemaJSON from "../../../Docs/Schemas/LayerConfigJson.schema.json"
|
||||||
import layoutSchemaJSON from "../../../Docs/Schemas/LayoutConfigJson.schema.json"
|
import layoutSchemaJSON from "../../../Docs/Schemas/LayoutConfigJson.schema.json"
|
||||||
|
import Loading from "../Base/Loading.svelte"
|
||||||
|
|
||||||
export let state: EditLayerState | EditThemeState
|
export let state: EditLayerState | EditThemeState
|
||||||
|
|
||||||
|
@ -44,6 +45,7 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
let useFallback = false
|
let useFallback = false
|
||||||
|
let isLoaded = false
|
||||||
onMount(async () => {
|
onMount(async () => {
|
||||||
const monacoEditor = await import("monaco-editor")
|
const monacoEditor = await import("monaco-editor")
|
||||||
loader.config({
|
loader.config({
|
||||||
|
@ -106,6 +108,7 @@
|
||||||
save()
|
save()
|
||||||
}, 500)
|
}, 500)
|
||||||
})
|
})
|
||||||
|
isLoaded = true
|
||||||
})
|
})
|
||||||
|
|
||||||
onDestroy(() => {
|
onDestroy(() => {
|
||||||
|
@ -121,5 +124,11 @@
|
||||||
{#if useFallback}
|
{#if useFallback}
|
||||||
<textarea class="w-full" rows="25" bind:value={$rawConfig} />
|
<textarea class="w-full" rows="25" bind:value={$rawConfig} />
|
||||||
{:else}
|
{:else}
|
||||||
<div bind:this={container} class="h-full w-full" />
|
<div bind:this={container} class="h-full w-full">
|
||||||
|
{#if !isLoaded}
|
||||||
|
<div class="h-full w-full flex items-center align-center">
|
||||||
|
<Loading />
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
|
@ -8,8 +8,7 @@
|
||||||
|
|
||||||
export let state: EditJsonState<any>
|
export let state: EditJsonState<any>
|
||||||
export let path: (string | number)[] = []
|
export let path: (string | number)[] = []
|
||||||
console.log("Fetched schema:", path, state.getSchema(<any> path))
|
export let schema: ConfigMeta = state.getSchema(<any> path)[0]
|
||||||
let schema: ConfigMeta = state.getSchema(<any> path)[0]
|
|
||||||
let expertMode = state.expertMode
|
let expertMode = state.expertMode
|
||||||
</script>
|
</script>
|
||||||
{#if schema === undefined}
|
{#if schema === undefined}
|
||||||
|
|
|
@ -1618,7 +1618,7 @@
|
||||||
"group": "pointrendering"
|
"group": "pointrendering"
|
||||||
},
|
},
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered"
|
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered.\nNote that all attributes - including [the calculated tags](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/CalculatedTags.md) can be used to create the markers and lines"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
|
@ -1857,6 +1857,11 @@
|
||||||
"then": "party",
|
"then": "party",
|
||||||
"icon": "party"
|
"icon": "party"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"if": "value=pencil",
|
||||||
|
"then": "pencil",
|
||||||
|
"icon": "pencil"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"if": "value=pin",
|
"if": "value=pin",
|
||||||
"then": "pin",
|
"then": "pin",
|
||||||
|
@ -3778,8 +3783,27 @@
|
||||||
],
|
],
|
||||||
"required": false,
|
"required": false,
|
||||||
"hints": {
|
"hints": {
|
||||||
|
"types": "Dynamic value ; string",
|
||||||
"question": "What rotation should be applied on the icon?",
|
"question": "What rotation should be applied on the icon?",
|
||||||
"ifunset": "Do not rotate"
|
"ifunset": "Do not rotate",
|
||||||
|
"suggestions": [
|
||||||
|
{
|
||||||
|
"if": "value={_direction:centerpoint}deg",
|
||||||
|
"then": "Point the top of the icon towards the end of the way"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "value=calc( {_direction:centerpoint}deg + 90deg )",
|
||||||
|
"then": "Point the left of the icon towards the end of the way"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "value=calc( {_direction:centerpoint}deg - 90deg )",
|
||||||
|
"then": "Point the right of the icon towards the end of the way"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "value=calc( {_direction:centerpoint}deg + 180deg )",
|
||||||
|
"then": "Point the bottom of the icon towards the end of the way"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"type": [
|
"type": [
|
||||||
{
|
{
|
||||||
|
@ -3966,7 +3990,7 @@
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "This is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)``"
|
"description": "This is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)`\nIf the icon is shown on the projected centerpoint of a way, one can also use `_direction:centerpoint`"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
|
@ -7287,7 +7311,7 @@
|
||||||
"types": "Dynamic value ; string",
|
"types": "Dynamic value ; string",
|
||||||
"group": "expert",
|
"group": "expert",
|
||||||
"question": "Which CSS-classes should be applied to the entire marker?",
|
"question": "Which CSS-classes should be applied to the entire marker?",
|
||||||
"ifunset": "Do not apply extra CSS-classes to the label",
|
"ifunset": "Do not apply extra CSS-classes to the entire marker",
|
||||||
"inline": "Apply CSS-classes <b>{value}</b> to the entire container"
|
"inline": "Apply CSS-classes <b>{value}</b> to the entire container"
|
||||||
},
|
},
|
||||||
"type": [
|
"type": [
|
||||||
|
@ -7990,6 +8014,7 @@
|
||||||
"suggestions": [
|
"suggestions": [
|
||||||
{
|
{
|
||||||
"if": "value=canvas",
|
"if": "value=canvas",
|
||||||
|
"alsoShowIf": "value=",
|
||||||
"then": "The icon will stay upward and not be transformed as if it sticks to the screen"
|
"then": "The icon will stay upward and not be transformed as if it sticks to the screen"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -277,6 +277,11 @@
|
||||||
"then": "party",
|
"then": "party",
|
||||||
"icon": "party"
|
"icon": "party"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"if": "value=pencil",
|
||||||
|
"then": "pencil",
|
||||||
|
"icon": "pencil"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"if": "value=pin",
|
"if": "value=pin",
|
||||||
"then": "pin",
|
"then": "pin",
|
||||||
|
@ -1542,7 +1547,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"pointRendering": {
|
"pointRendering": {
|
||||||
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered\n\ngroup: pointrendering",
|
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered.\n\nNote that all attributes - including [the calculated tags](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/CalculatedTags.md) can be used to create the markers and lines\n\ngroup: pointrendering",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/definitions/default_4"
|
"$ref": "#/definitions/default_4"
|
||||||
|
@ -3863,7 +3868,7 @@
|
||||||
"group": "pointrendering"
|
"group": "pointrendering"
|
||||||
},
|
},
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered"
|
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered.\nNote that all attributes - including [the calculated tags](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/CalculatedTags.md) can be used to create the markers and lines"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
|
@ -4106,6 +4111,11 @@
|
||||||
"then": "party",
|
"then": "party",
|
||||||
"icon": "party"
|
"icon": "party"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"if": "value=pencil",
|
||||||
|
"then": "pencil",
|
||||||
|
"icon": "pencil"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"if": "value=pin",
|
"if": "value=pin",
|
||||||
"then": "pin",
|
"then": "pin",
|
||||||
|
@ -6088,8 +6098,27 @@
|
||||||
],
|
],
|
||||||
"required": false,
|
"required": false,
|
||||||
"hints": {
|
"hints": {
|
||||||
|
"types": "Dynamic value ; string",
|
||||||
"question": "What rotation should be applied on the icon?",
|
"question": "What rotation should be applied on the icon?",
|
||||||
"ifunset": "Do not rotate"
|
"ifunset": "Do not rotate",
|
||||||
|
"suggestions": [
|
||||||
|
{
|
||||||
|
"if": "value={_direction:centerpoint}deg",
|
||||||
|
"then": "Point the top of the icon towards the end of the way"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "value=calc( {_direction:centerpoint}deg + 90deg )",
|
||||||
|
"then": "Point the left of the icon towards the end of the way"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "value=calc( {_direction:centerpoint}deg - 90deg )",
|
||||||
|
"then": "Point the right of the icon towards the end of the way"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "value=calc( {_direction:centerpoint}deg + 180deg )",
|
||||||
|
"then": "Point the bottom of the icon towards the end of the way"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"type": [
|
"type": [
|
||||||
{
|
{
|
||||||
|
@ -6276,7 +6305,7 @@
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "This is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)``"
|
"description": "This is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)`\nIf the icon is shown on the projected centerpoint of a way, one can also use `_direction:centerpoint`"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
|
@ -9707,7 +9736,7 @@
|
||||||
"types": "Dynamic value ; string",
|
"types": "Dynamic value ; string",
|
||||||
"group": "expert",
|
"group": "expert",
|
||||||
"question": "Which CSS-classes should be applied to the entire marker?",
|
"question": "Which CSS-classes should be applied to the entire marker?",
|
||||||
"ifunset": "Do not apply extra CSS-classes to the label",
|
"ifunset": "Do not apply extra CSS-classes to the entire marker",
|
||||||
"inline": "Apply CSS-classes <b>{value}</b> to the entire container"
|
"inline": "Apply CSS-classes <b>{value}</b> to the entire container"
|
||||||
},
|
},
|
||||||
"type": [
|
"type": [
|
||||||
|
@ -10432,6 +10461,7 @@
|
||||||
"suggestions": [
|
"suggestions": [
|
||||||
{
|
{
|
||||||
"if": "value=canvas",
|
"if": "value=canvas",
|
||||||
|
"alsoShowIf": "value=",
|
||||||
"then": "The icon will stay upward and not be transformed as if it sticks to the screen"
|
"then": "The icon will stay upward and not be transformed as if it sticks to the screen"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -24792,7 +24822,7 @@
|
||||||
"group": "pointrendering"
|
"group": "pointrendering"
|
||||||
},
|
},
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered"
|
"description": "Creates points to render on the map.\nThis can render points for point-objects, lineobjects or areaobjects; use 'location' to indicate where it should be rendered.\nNote that all attributes - including [the calculated tags](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/CalculatedTags.md) can be used to create the markers and lines"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
|
@ -25039,6 +25069,11 @@
|
||||||
"then": "party",
|
"then": "party",
|
||||||
"icon": "party"
|
"icon": "party"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"if": "value=pencil",
|
||||||
|
"then": "pencil",
|
||||||
|
"icon": "pencil"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"if": "value=pin",
|
"if": "value=pin",
|
||||||
"then": "pin",
|
"then": "pin",
|
||||||
|
@ -27082,8 +27117,27 @@
|
||||||
],
|
],
|
||||||
"required": false,
|
"required": false,
|
||||||
"hints": {
|
"hints": {
|
||||||
|
"types": "Dynamic value ; string",
|
||||||
"question": "What rotation should be applied on the icon?",
|
"question": "What rotation should be applied on the icon?",
|
||||||
"ifunset": "Do not rotate"
|
"ifunset": "Do not rotate",
|
||||||
|
"suggestions": [
|
||||||
|
{
|
||||||
|
"if": "value={_direction:centerpoint}deg",
|
||||||
|
"then": "Point the top of the icon towards the end of the way"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "value=calc( {_direction:centerpoint}deg + 90deg )",
|
||||||
|
"then": "Point the left of the icon towards the end of the way"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "value=calc( {_direction:centerpoint}deg - 90deg )",
|
||||||
|
"then": "Point the right of the icon towards the end of the way"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "value=calc( {_direction:centerpoint}deg + 180deg )",
|
||||||
|
"then": "Point the bottom of the icon towards the end of the way"
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"type": [
|
"type": [
|
||||||
{
|
{
|
||||||
|
@ -27270,7 +27324,7 @@
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "This is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)``"
|
"description": "This is mostly useful for items that face a specific direction, such as surveillance cameras\nThis is interpreted as css property for 'rotate', thus has to end with 'deg', e.g. `90deg`, `{direction}deg`, `calc(90deg - {camera:direction}deg)`\nIf the icon is shown on the projected centerpoint of a way, one can also use `_direction:centerpoint`"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": [
|
"path": [
|
||||||
|
@ -30811,7 +30865,7 @@
|
||||||
"types": "Dynamic value ; string",
|
"types": "Dynamic value ; string",
|
||||||
"group": "expert",
|
"group": "expert",
|
||||||
"question": "Which CSS-classes should be applied to the entire marker?",
|
"question": "Which CSS-classes should be applied to the entire marker?",
|
||||||
"ifunset": "Do not apply extra CSS-classes to the label",
|
"ifunset": "Do not apply extra CSS-classes to the entire marker",
|
||||||
"inline": "Apply CSS-classes <b>{value}</b> to the entire container"
|
"inline": "Apply CSS-classes <b>{value}</b> to the entire container"
|
||||||
},
|
},
|
||||||
"type": [
|
"type": [
|
||||||
|
@ -31558,6 +31612,7 @@
|
||||||
"suggestions": [
|
"suggestions": [
|
||||||
{
|
{
|
||||||
"if": "value=canvas",
|
"if": "value=canvas",
|
||||||
|
"alsoShowIf": "value=",
|
||||||
"then": "The icon will stay upward and not be transformed as if it sticks to the screen"
|
"then": "The icon will stay upward and not be transformed as if it sticks to the screen"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -44986,7 +45041,7 @@
|
||||||
"path": [
|
"path": [
|
||||||
"enableMorePrivacy"
|
"enableMorePrivacy"
|
||||||
],
|
],
|
||||||
"required": true,
|
"required": false,
|
||||||
"hints": {
|
"hints": {
|
||||||
"question": "Should this theme leak some location info when making changes?",
|
"question": "Should this theme leak some location info when making changes?",
|
||||||
"iftrue": "Do not write 'change_within_x_m' and do not indicate that this was done by survey",
|
"iftrue": "Do not write 'change_within_x_m' and do not indicate that this was done by survey",
|
||||||
|
@ -44994,5 +45049,30 @@
|
||||||
},
|
},
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"description": "When a changeset is made, a 'distance to object'-class is written to the changeset.\nFor some particular themes and layers, this might leak too much information, and we want to obfuscate this"
|
"description": "When a changeset is made, a 'distance to object'-class is written to the changeset.\nFor some particular themes and layers, this might leak too much information, and we want to obfuscate this"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"enableCache"
|
||||||
|
],
|
||||||
|
"required": false,
|
||||||
|
"hints": {
|
||||||
|
"group": "hidden",
|
||||||
|
"question": "Should this theme have the cache enabled?",
|
||||||
|
"iffalse": "Do not cache data",
|
||||||
|
"ifunset": "Cache is enabled"
|
||||||
|
},
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Should only be dissabled in highly specific cases, such as the GRB-theme"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": [
|
||||||
|
"_usedImages"
|
||||||
|
],
|
||||||
|
"required": false,
|
||||||
|
"hints": {
|
||||||
|
"group": "hidden"
|
||||||
|
},
|
||||||
|
"type": "array",
|
||||||
|
"description": "Set by the preprocessor"
|
||||||
}
|
}
|
||||||
]
|
]
|
Loading…
Add table
Reference in a new issue