Sfoglia il codice sorgente

Properly proces lov values (#2429)

Fabien Lelaquais 3 mesi fa
parent
commit
4b51a0b68e

+ 3 - 3
taipy/gui/_renderers/_markdown/factory.py

@@ -22,11 +22,11 @@ class _MarkdownFactory(_Factory):
     _TAIPY_BLOCK_TAGS = ["layout", "part", "expandable", "dialog", "pane"]
 
     @staticmethod
-    def create_element(gui, control_type: str, all_properties: str) -> t.Union[t.Any, str]:
+    def create_element(gui, element_type: str, all_properties: str) -> t.Union[t.Any, str]:
         # Create properties dict from all_properties
         property_pairs = _Factory._PROPERTY_RE.findall(all_properties)
         properties = {property[0]: property[1] for property in property_pairs}
-        builder_md = _Factory.call_builder(gui, control_type, properties)
+        builder_md = _Factory.call_builder(gui, element_type, properties)
         if builder_md is None:
-            return f"<|INVALID SYNTAX - Control is '{control_type}'|>"
+            return f"<|UNKNOWN ELEMENT TYPE '{element_type}'|>"
         return builder_md

+ 2 - 1
taipy/gui/utils/_adapter.py

@@ -70,7 +70,8 @@ class _Adapter:
         adapter = self.__get_for_var(var_name, value)
         if isclass(lov) and issubclass(lov, Enum):
             lov = list(lov)
-        if isinstance(lov, (list, tuple)):
+        # list or Lov value
+        if isinstance(lov, list) or (isinstance(lov, tuple) and not id_only):
             res = []
             for elt in lov:
                 v = self._run(adapter, elt, var_name, id_only)

+ 1 - 1
tests/gui/renderers/test_md_parsing.py

@@ -14,7 +14,7 @@ from taipy.gui import Gui
 
 def test_invalid_control_name(gui: Gui, helpers):
     md_string = "<|invalid|invalid|>"
-    expected_list = ["INVALID SYNTAX - Control is 'invalid'"]
+    expected_list = ["UNKNOWN ELEMENT TYPE 'invalid'"]
     helpers.test_control_md(gui, md_string, expected_list)