Skip to content

Commit 0f577cd

Browse files
fix: user detail broken in demo (#59) (#60)
Co-authored-by: Samuel Colvin <[email protected]>
1 parent ef70bed commit 0f577cd

File tree

1 file changed

+29
-8
lines changed

1 file changed

+29
-8
lines changed

demo/tables.py

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,25 +89,28 @@ def city_view(city_id: int) -> list[AnyComponent]:
8989
)
9090

9191

92-
class MyTableRow(BaseModel):
92+
class User(BaseModel):
9393
id: int = Field(title='ID')
9494
name: str = Field(title='Name')
9595
dob: date = Field(title='Date of Birth')
9696
enabled: bool | None = None
9797

9898

99+
users: list[User] = [
100+
User(id=1, name='John', dob=date(1990, 1, 1), enabled=True),
101+
User(id=2, name='Jane', dob=date(1991, 1, 1), enabled=False),
102+
User(id=3, name='Jack', dob=date(1992, 1, 1)),
103+
]
104+
105+
99106
@router.get('/users', response_model=FastUI, response_model_exclude_none=True)
100107
def users_view() -> list[AnyComponent]:
101108
return demo_page(
102109
*tabs(),
103-
c.Table[MyTableRow](
104-
data=[
105-
MyTableRow(id=1, name='John', dob=date(1990, 1, 1), enabled=True),
106-
MyTableRow(id=2, name='Jane', dob=date(1991, 1, 1), enabled=False),
107-
MyTableRow(id=3, name='Jack', dob=date(1992, 1, 1)),
108-
],
110+
c.Table[User](
111+
data=users,
109112
columns=[
110-
DisplayLookup(field='name', on_click=GoToEvent(url='/more/{id}/')),
113+
DisplayLookup(field='name', on_click=GoToEvent(url='/table/users/{id}/')),
111114
DisplayLookup(field='dob', mode=DisplayMode.date),
112115
DisplayLookup(field='enabled'),
113116
],
@@ -135,3 +138,21 @@ def tabs() -> list[AnyComponent]:
135138
class_name='+ mb-4',
136139
),
137140
]
141+
142+
143+
@router.get('/users/{id}/', response_model=FastUI, response_model_exclude_none=True)
144+
def user_profile(id: int) -> list[AnyComponent]:
145+
user: User | None = users[id - 1] if id <= len(users) else None
146+
return demo_page(
147+
*tabs(),
148+
c.Link(components=[c.Text(text='Back')], on_click=BackEvent()),
149+
c.Details(
150+
data=user,
151+
fields=[
152+
DisplayLookup(field='name'),
153+
DisplayLookup(field='dob', mode=DisplayMode.date),
154+
DisplayLookup(field='enabled'),
155+
],
156+
),
157+
title=user.name,
158+
)

0 commit comments

Comments
 (0)