fix: on_load accepts EventSpec (#1166)

This commit is contained in:
TaiJuWu 2023-06-10 02:12:53 +08:00 committed by GitHub
parent fedecfdf44
commit 36abc3dbe5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -28,7 +28,7 @@ from pynecone.compiler import compiler
from pynecone.compiler import utils as compiler_utils from pynecone.compiler import utils as compiler_utils
from pynecone.components.component import Component, ComponentStyle from pynecone.components.component import Component, ComponentStyle
from pynecone.config import get_config 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.middleware import HydrateMiddleware, Middleware
from pynecone.model import Model from pynecone.model import Model
from pynecone.route import ( from pynecone.route import (
@ -77,7 +77,7 @@ class App(Base):
middleware: List[Middleware] = [] middleware: List[Middleware] = []
# List of event handlers to trigger when a page loads. # 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 dashboard
admin_dash: Optional[AdminDash] = None admin_dash: Optional[AdminDash] = None
@ -241,7 +241,9 @@ class App(Base):
title: str = constants.DEFAULT_TITLE, title: str = constants.DEFAULT_TITLE,
description: str = constants.DEFAULT_DESCRIPTION, description: str = constants.DEFAULT_DESCRIPTION,
image=constants.DEFAULT_IMAGE, 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, meta: List[Dict] = constants.DEFAULT_META_LIST,
script_tags: Optional[List[Component]] = None, script_tags: Optional[List[Component]] = None,
): ):
@ -311,7 +313,7 @@ class App(Base):
on_load = [on_load] on_load = [on_load]
self.load_events[route] = 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. """Get the load events for a route.
Args: Args: