forked from MapComplete/MapComplete
Fix text-area type, support for newlines in key substitutions (fix #543), small tweaks to etymology-theme (fix #537)
This commit is contained in:
parent
7839712deb
commit
fdb769a0fc
6 changed files with 19 additions and 10 deletions
|
@ -48,6 +48,9 @@ export default class TagRenderingConfig {
|
|||
this.render = null;
|
||||
this.question = null;
|
||||
this.condition = null;
|
||||
this.id = "questions"
|
||||
this.group = ""
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -66,12 +66,6 @@ export default class WithContextLoader {
|
|||
if (renderingJson["builtin"] !== undefined) {
|
||||
const renderingId = renderingJson["builtin"]
|
||||
if (renderingId === "questions") {
|
||||
if (readOnly) {
|
||||
throw `A tagrendering has a question, but asking a question does not make sense here: is it a title icon or a geojson-layer? ${context}. The offending tagrendering is ${JSON.stringify(
|
||||
renderingJson
|
||||
)}`;
|
||||
}
|
||||
|
||||
const tr = new TagRenderingConfig("questions", context);
|
||||
renderings.push(tr)
|
||||
continue;
|
||||
|
|
|
@ -196,7 +196,7 @@ export default class ValidatedTextField {
|
|||
"A basic string"),
|
||||
ValidatedTextField.tp(
|
||||
"text",
|
||||
"A string, but allows input of longer strings more comfortably (a text area)",
|
||||
"A string, but allows input of longer strings more comfortably and supports newlines (a text area)",
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
|
@ -473,6 +473,9 @@ export default class ValidatedTextField {
|
|||
|
||||
|
||||
options.inputMode = tp.inputmode;
|
||||
if(tp.inputmode === "text") {
|
||||
options.htmlType = "area"
|
||||
}
|
||||
|
||||
|
||||
let input: InputElement<string> = new TextField(options);
|
||||
|
|
9
Utils.ts
9
Utils.ts
|
@ -186,7 +186,14 @@ Note that these values can be prepare with javascript in the theme by using a [c
|
|||
|
||||
while (match) {
|
||||
const key = match[1]
|
||||
txt = txt.replace("{" + key + "}", tags[key] ?? "")
|
||||
let v = tags[key]
|
||||
if(v !== undefined ){
|
||||
if(typeof v !== "string"){
|
||||
v = ""+v
|
||||
}
|
||||
v = v.replace(/\n/g, "<br/>")
|
||||
}
|
||||
txt = txt.replace("{" + key + "}", v ?? "")
|
||||
match = txt.match(regex)
|
||||
}
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@
|
|||
"nl": "<a href='https://inventaris.onroerenderfgoed.be/erfgoedobjecten?tekst={name}' target='_blank'>Zoeken op inventaris onroerend erfgoed</a>",
|
||||
"en": "<a href='https://inventaris.onroerenderfgoed.be/erfgoedobjecten?tekst={name}' target='_blank'>Search on inventaris onroerend erfgoed</a>"
|
||||
},
|
||||
"conditions": "_country=be"
|
||||
"condition": "_country=be"
|
||||
},
|
||||
{
|
||||
"id": "simple etymology",
|
||||
|
@ -118,6 +118,7 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
"questions",
|
||||
{
|
||||
"id": "street-name-sign-image",
|
||||
"render": {
|
||||
|
|
|
@ -165,7 +165,8 @@
|
|||
"id": "<i>{inscription}</i>"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "inscription"
|
||||
"key": "inscription",
|
||||
"type": "text"
|
||||
},
|
||||
"id": "ghost_bike-inscription"
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue