Browse Source

partial gui builder (#1023)

* partial gui builder

* issort

* resolve import error
dinhlongnguyen 1 year ago
parent
commit
68fbbc3fe2
1 changed files with 11 additions and 3 deletions
  1. 11 3
      src/taipy/gui/partial.py

+ 11 - 3
src/taipy/gui/partial.py

@@ -17,6 +17,9 @@ from ._page import _Page
 from ._warnings import _warn
 from .state import State
 
+if t.TYPE_CHECKING:
+    from .page import Page
+
 
 class Partial(_Page):
     """Re-usable Page content.
@@ -50,7 +53,7 @@ class Partial(_Page):
         else:
             self._route = route
 
-    def update_content(self, state: State, content: str):
+    def update_content(self, state: State, content: str | "Page"):
         """Update partial content.
 
         Arguments:
@@ -62,7 +65,12 @@ class Partial(_Page):
         else:
             _warn("'Partial.update_content()' must be called in the context of a callback.")
 
-    def __copy(self, content: str) -> Partial:
+    def __copy(self, content: str | "Page") -> Partial:
         new_partial = Partial(self._route)
-        new_partial._renderer = type(self._renderer)(content=content) if self._renderer is not None else None
+        from .page import Page
+
+        if isinstance(content, Page):
+            new_partial._renderer = content
+        else:
+            new_partial._renderer = type(self._renderer)(content=content) if self._renderer is not None else None
         return new_partial