Browse Source

include dynamic imports for custom components (#4725)

Khaleel Al-Adhami 3 months ago
parent
commit
80a26b440d
2 changed files with 9 additions and 0 deletions
  1. 8 0
      reflex/compiler/compiler.py
  2. 1 0
      reflex/compiler/utils.py

+ 8 - 0
reflex/compiler/compiler.py

@@ -239,11 +239,19 @@ def _compile_components(
         component_renders.append(component_render)
         imports = utils.merge_imports(imports, component_imports)
 
+    dynamic_imports = {
+        comp_import: None
+        for comp_render in component_renders
+        if "dynamic_imports" in comp_render
+        for comp_import in comp_render["dynamic_imports"]
+    }
+
     # Compile the components page.
     return (
         templates.COMPONENTS.render(
             imports=utils.compile_imports(imports),
             components=component_renders,
+            dynamic_imports=dynamic_imports,
         ),
         imports,
     )

+ 1 - 0
reflex/compiler/utils.py

@@ -320,6 +320,7 @@ def compile_custom_component(
             "render": render.render(),
             "hooks": render._get_all_hooks(),
             "custom_code": render._get_all_custom_code(),
+            "dynamic_imports": render._get_all_dynamic_imports(),
         },
         imports,
     )