declare props for classes on pages
This commit is contained in:
parent
44ff8d5302
commit
92b8ea802a
@ -10,9 +10,11 @@ from .. import services
|
|||||||
|
|
||||||
|
|
||||||
class Member(rio.Component):
|
class Member(rio.Component):
|
||||||
|
database_service: services.DatabaseService
|
||||||
|
|
||||||
def __init__(self, database_service: services.database_service.DatabaseService) -> None:
|
def __init__(self, database_service: services.database_service.DatabaseService) -> None:
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self._database_service = database_service
|
self.database_service = database_service
|
||||||
|
|
||||||
@rio.event.on_populate
|
@rio.event.on_populate
|
||||||
async def on_populate(self) -> None:
|
async def on_populate(self) -> None:
|
||||||
@ -20,7 +22,7 @@ class Member(rio.Component):
|
|||||||
|
|
||||||
def build(self) -> rio.Component:
|
def build(self) -> rio.Component:
|
||||||
grid = rio.Grid()
|
grid = rio.Grid()
|
||||||
for i, member in enumerate(self._database_service.get_members()):
|
for i, member in enumerate(self.database_service.get_members()):
|
||||||
grid.add(
|
grid.add(
|
||||||
comps.MemberCard(member),
|
comps.MemberCard(member),
|
||||||
row=i // 2,
|
row=i // 2,
|
||||||
|
|||||||
@ -10,19 +10,22 @@ from .. import components as comps, services
|
|||||||
|
|
||||||
|
|
||||||
class Pics(rio.Component):
|
class Pics(rio.Component):
|
||||||
|
database_service: services.DatabaseService
|
||||||
|
active_picture: Optional[rio.URL]
|
||||||
|
|
||||||
def __init__(self, database_service: services.database_service.DatabaseService) -> None:
|
def __init__(self, database_service: services.database_service.DatabaseService) -> None:
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self._database_service = database_service
|
self.database_service = database_service
|
||||||
self._active_picture: Optional[rio.URL] = None
|
self.active_picture: Optional[rio.URL] = None
|
||||||
|
|
||||||
@rio.event.on_populate
|
@rio.event.on_populate
|
||||||
async def on_populate(self) -> None:
|
async def on_populate(self) -> None:
|
||||||
await self.session.set_title("EZ GG e.V. - Galerie")
|
await self.session.set_title("EZ GG e.V. - Galerie")
|
||||||
|
|
||||||
def build(self) -> rio.Component:
|
def build(self) -> rio.Component:
|
||||||
if self._active_picture is None:
|
if self.active_picture is None:
|
||||||
grid = rio.Grid(row_spacing=0.4, column_spacing=0.5, margin_right=1)
|
grid = rio.Grid(row_spacing=0.4, column_spacing=0.5, margin_right=1)
|
||||||
for i, link in enumerate(self._database_service.get_picture_paths()):
|
for i, link in enumerate(self.database_service.get_picture_paths()):
|
||||||
grid.add(
|
grid.add(
|
||||||
rio.Button(
|
rio.Button(
|
||||||
rio.Image(
|
rio.Image(
|
||||||
@ -42,7 +45,7 @@ class Pics(rio.Component):
|
|||||||
rio.Column(
|
rio.Column(
|
||||||
rio.Button(
|
rio.Button(
|
||||||
rio.Image(
|
rio.Image(
|
||||||
self._active_picture,
|
self.active_picture,
|
||||||
height="grow",
|
height="grow",
|
||||||
width="grow"
|
width="grow"
|
||||||
),
|
),
|
||||||
@ -55,10 +58,10 @@ class Pics(rio.Component):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
async def on_picture_clicked(self, link_to_picture: str) -> None:
|
async def on_picture_clicked(self, link_to_picture: Optional[rio.URL]) -> None:
|
||||||
self._active_picture = link_to_picture
|
self.active_picture = link_to_picture
|
||||||
await self.force_refresh()
|
await self.force_refresh()
|
||||||
|
|
||||||
async def exit_overlay(self) -> None:
|
async def exit_overlay(self) -> None:
|
||||||
self._active_picture = None
|
self.active_picture = None
|
||||||
await self.force_refresh()
|
await self.force_refresh()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user