Add name and species to tree title (if applicable); fix issue with dropdown in tagrenderingquestion

This commit is contained in:
pietervdvn 2022-04-22 16:24:21 +02:00
parent 2fe67c7dc1
commit 1bf3be987b
2 changed files with 26 additions and 4 deletions

View file

@ -11,7 +11,7 @@ import {SaveButton} from "./SaveButton";
import {VariableUiElement} from "../Base/VariableUIElement";
import Translations from "../i18n/Translations";
import {FixedUiElement} from "../Base/FixedUiElement";
import {Translation} from "../i18n/Translation";
import {Translation, TypedTranslation} from "../i18n/Translation";
import Constants from "../../Models/Constants";
import {SubstitutedTranslation} from "../SubstitutedTranslation";
import {TagsFilter} from "../../Logic/Tags/TagsFilter";
@ -51,7 +51,7 @@ export default class TagRenderingQuestion extends Combine {
const applicableMappingsSrc =
UIEventSource.ListStabilized(tags.map(tags => {
const applicableMappings: { if: TagsFilter, icon?: string, then: any, ifnot?: TagsFilter, addExtraTags: Tag[] }[] = []
const applicableMappings: { if: TagsFilter, icon?: string, then: TypedTranslation<object>, ifnot?: TagsFilter, addExtraTags: Tag[] }[] = []
for (const mapping of configuration.mappings ?? []) {
if (mapping.hideInAnswer === true) {
continue
@ -158,7 +158,7 @@ export default class TagRenderingQuestion extends Combine {
private static GenerateInputElement(
state,
configuration: TagRenderingConfig,
applicableMappings: { if: TagsFilter, then: any, icon?: string, ifnot?: TagsFilter, addExtraTags: Tag[] }[],
applicableMappings: { if: TagsFilter, then: TypedTranslation<object>, icon?: string, ifnot?: TagsFilter, addExtraTags: Tag[] }[],
applicableUnit: Unit,
tagsSource: UIEventSource<any>,
feedback: UIEventSource<Translation>
@ -207,7 +207,7 @@ export default class TagRenderingQuestion extends Combine {
applicableMappings.map((mapping, i) => {
return {
value: new And([mapping.if, ...allIfNotsExcept(i)]),
shown: Translations.T(mapping.then)
shown: mapping.then.Subs(tagsSource.data)
}
})
)

View file

@ -31,6 +31,28 @@
"es": "Árbol"
},
"mappings": [
{
"if": {
"and": ["name~*","species:wikidata~*"]
},
"then": {
"*": "{name} ({wikidata_label(species:wikidata)})"
}
},
{
"if": {
"and": ["name~*"]
},
"then": {
"*": "{name}"
}
},
{
"if": "species:wikidata~*",
"then": {
"*": "{wikidata_label(species:wikidata)}"
}
},
{
"if": "species~*",
"then": {