Let Texte/Titre elements bind directly to a single row of another object

Adds a "Donnée liée" settings group to Texte/Titre: pick an object, optionally match it to the current game state via 1-2 filter conditions (same engine as the data-repeater's filter, including {{Objet.champ}} cross-references), and use {{champ}} in the text content to show a field from that one matching row. Unlike the data repeater — built for showing a list of rows — this covers displaying a single computed value (e.g. the objective of the level matching the game's current parcours/level) without wrapping it in a repeater.
This commit is contained in:
william
2026-08-24 11:02:54 +02:00
parent f58fb2bc3d
commit 0e5db97180
5 changed files with 74 additions and 3 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ def controls_with_values(slug, el):
result = []
for control in meta.get("controls", []):
control = dict(control)
if control["key"] == "definition_id":
if control["key"] in ("definition_id", "data_definition_id"):
defs = db.list_definitions(slug)
control["options"] = [("", "(sélectionner un objet)")] + [(str(d["id"]), d["name"]) for d in defs]
if control["key"] == "template_type_id":