Browse Source

custom serializer for data editor props

Elijah 1 year ago
parent
commit
70b76fea21
2 changed files with 16 additions and 2 deletions
  1. 14 0
      reflex/components/datadisplay/dataeditor.py
  2. 2 2
      reflex/utils/serializers.py

+ 14 - 0
reflex/components/datadisplay/dataeditor.py

@@ -7,6 +7,7 @@ from reflex.base import Base
 from reflex.components.component import Component, NoSSRComponent
 from reflex.components.component import Component, NoSSRComponent
 from reflex.components.literals import LiteralRowMarker
 from reflex.components.literals import LiteralRowMarker
 from reflex.utils import console, format, imports, types
 from reflex.utils import console, format, imports, types
+from reflex.utils.serializers import serializer
 from reflex.vars import ImportVar, Var, get_unique_variable_name
 from reflex.vars import ImportVar, Var, get_unique_variable_name
 
 
 LiteralDataEditorGridColumnIcons = Literal[
 LiteralDataEditorGridColumnIcons = Literal[
@@ -408,3 +409,16 @@ class DataEditor(NoSSRComponent):
 
 
 # except ImportError:
 # except ImportError:
 #     pass
 #     pass
+
+
+@serializer
+def serialize_data_editor_prop(prop: DataEditorProp) -> dict:
+    """The serializer for the data editor theme.
+
+    Args:
+        prop: The prop to serialize.
+
+    Returns:
+        The serialized prop.
+    """
+    return prop.dict()

+ 2 - 2
reflex/utils/serializers.py

@@ -153,7 +153,7 @@ def serialize_primitive(value: Union[bool, int, float, None]) -> str:
 
 
 
 
 @serializer
 @serializer
-def serialize_base(value: Base) -> dict:
+def serialize_base(value: Base) -> str:
     """Serialize a Base instance.
     """Serialize a Base instance.
 
 
     Args:
     Args:
@@ -162,7 +162,7 @@ def serialize_base(value: Base) -> dict:
     Returns:
     Returns:
         The serialized Base.
         The serialized Base.
     """
     """
-    return value.dict()
+    return value.json()
 
 
 
 
 @serializer
 @serializer