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