Files
Forge-Engine/screens/widgets/controls_with_values.py
T
williamandwilliam 3f4ebc4527
Build and deploy / build-and-push (push) Successful in 17s
Build and deploy / deploy (push) Successful in 10s
first commit
2026-08-21 16:23:49 +02:00

25 lines
1.1 KiB
Python

import db
from .widget_meta import widget_meta
from .control_value import _control_value
from ..element_types.list_element_types import list_element_types
def controls_with_values(slug, el):
"""Pour le panneau de propriétés : la liste des réglages du widget de
cet élément, chacun avec sa valeur actuelle déjà résolue. Le réglage
"définition_id" du Répéteur de données a besoin du jeu courant pour
lister les objets disponibles — d'où le paramètre slug."""
meta = widget_meta(el.get("widget"))
result = []
for control in meta.get("controls", []):
control = dict(control)
if control["key"] == "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":
types = list_element_types(slug)
control["options"] = [("", "(aucun — utiliser le modèle de texte ci-dessous)")] + [(str(t["id"]), t["name"]) for t in types]
result.append({**control, "value": _control_value(el, control)})
return result