From 36abc3dbe5ed2b102d51a6f74695fcd37c6cc692 Mon Sep 17 00:00:00 2001 From: TaiJuWu <33004323+TaiJuWu@users.noreply.github.com> Date: Sat, 10 Jun 2023 02:12:53 +0800 Subject: [PATCH] fix: on_load accepts EventSpec (#1166) --- pynecone/app.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pynecone/app.py b/pynecone/app.py index 410713455..8042aad21 100644 --- a/pynecone/app.py +++ b/pynecone/app.py @@ -28,7 +28,7 @@ from pynecone.compiler import compiler from pynecone.compiler import utils as compiler_utils from pynecone.components.component import Component, ComponentStyle from pynecone.config import get_config -from pynecone.event import Event, EventHandler +from pynecone.event import Event, EventHandler, EventSpec from pynecone.middleware import HydrateMiddleware, Middleware from pynecone.model import Model from pynecone.route import ( @@ -77,7 +77,7 @@ class App(Base): middleware: List[Middleware] = [] # List of event handlers to trigger when a page loads. - load_events: Dict[str, List[EventHandler]] = {} + load_events: Dict[str, List[Union[EventHandler, EventSpec]]] = {} # Admin dashboard admin_dash: Optional[AdminDash] = None @@ -241,7 +241,9 @@ class App(Base): title: str = constants.DEFAULT_TITLE, description: str = constants.DEFAULT_DESCRIPTION, image=constants.DEFAULT_IMAGE, - on_load: Optional[Union[EventHandler, List[EventHandler]]] = None, + on_load: Optional[ + Union[EventHandler, EventSpec, List[Union[EventHandler, EventSpec]]] + ] = None, meta: List[Dict] = constants.DEFAULT_META_LIST, script_tags: Optional[List[Component]] = None, ): @@ -311,7 +313,7 @@ class App(Base): on_load = [on_load] self.load_events[route] = on_load - def get_load_events(self, route: str) -> List[EventHandler]: + def get_load_events(self, route: str) -> List[Union[EventHandler, EventSpec]]: """Get the load events for a route. Args: