@@ -1,12 +1,22 @@
+from typing import Union
import justpy as jp
from .element import Element
+from .page import Page
class Link(Element):
def __init__(self,
text: str = '',
- href: str = '#',
+ target: Union[Page, str] = '#',
):
+ """Link
+
+ Create a link.
+ :param text: link text
+ :param target: link target (either a string or a page object)
+ """
+ href = target if isinstance(target, str) else target.route
view = jp.A(text=text, href=href, classes='underline text-blue')
super().__init__(view)
@@ -41,6 +41,7 @@ class Page(jp.QuasarPage):
self.view = jp.Div(a=self, classes=classes, style='row-gap: 1em')
self.view.add_page(self)
+ self.route = route
jp.Route(route, lambda: self)
def __enter__(self):