add event triggers for base html components (#2276)

This commit is contained in:
Thomas Brandého 2023-12-07 20:22:40 +01:00 committed by GitHub
parent caf32605ca
commit a0bd83b915
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 69 additions and 2 deletions

View File

@ -1,7 +1,8 @@
"""Element classes. This is an auto-generated file. Do not edit. See ../generate.py."""
from typing import Union
from typing import Any, Dict, Union
from reflex.components.el.element import Element
from reflex.constants.event import EventTriggers
from reflex.vars import Var
from .base import BaseHTML
@ -205,6 +206,21 @@ class Input(BaseHTML):
# The width of the input (only for type="image")
width: Var[Union[str, int, bool]]
def get_event_triggers(self) -> Dict[str, Any]:
"""Get the event triggers that pass the component's value to the handler.
Returns:
A dict mapping the event trigger to the var that is passed to the handler.
"""
return {
**super().get_event_triggers(),
EventTriggers.ON_CHANGE: lambda e0: [e0.target.value],
EventTriggers.ON_FOCUS: lambda e0: [e0.target.value],
EventTriggers.ON_BLUR: lambda e0: [e0.target.value],
EventTriggers.ON_KEY_DOWN: lambda e0: [e0.key],
EventTriggers.ON_KEY_UP: lambda e0: [e0.key],
}
class Label(BaseHTML):
"""Display the label element."""
@ -341,6 +357,17 @@ class Select(BaseHTML):
# Number of visible options in a drop-down list
size: Var[Union[str, int, bool]]
def get_event_triggers(self) -> Dict[str, Any]:
"""Get the event triggers that pass the component's value to the handler.
Returns:
A dict mapping the event trigger to the var that is passed to the handler.
"""
return {
**super().get_event_triggers(),
EventTriggers.ON_CHANGE: lambda e0: [e0.target.value],
}
class Textarea(BaseHTML):
"""Display the textarea element."""
@ -388,3 +415,18 @@ class Textarea(BaseHTML):
# How the text in the textarea is to be wrapped when submitting the form
wrap: Var[Union[str, int, bool]]
def get_event_triggers(self) -> Dict[str, Any]:
"""Get the event triggers that pass the component's value to the handler.
Returns:
A dict mapping the event trigger to the var that is passed to the handler.
"""
return {
**super().get_event_triggers(),
EventTriggers.ON_CHANGE: lambda e0: [e0.target.value],
EventTriggers.ON_FOCUS: lambda e0: [e0.target.value],
EventTriggers.ON_BLUR: lambda e0: [e0.target.value],
EventTriggers.ON_KEY_DOWN: lambda e0: [e0.key],
EventTriggers.ON_KEY_UP: lambda e0: [e0.key],
}

View File

@ -7,8 +7,9 @@ from typing import Any, Dict, Literal, Optional, Union, overload
from reflex.vars import Var, BaseVar, ComputedVar
from reflex.event import EventChain, EventHandler, EventSpec
from reflex.style import Style
from typing import Union
from typing import Any, Dict, Union
from reflex.components.el.element import Element
from reflex.constants.event import EventTriggers
from reflex.vars import Var
from .base import BaseHTML
@ -589,6 +590,7 @@ class Form(BaseHTML):
...
class Input(BaseHTML):
def get_event_triggers(self) -> Dict[str, Any]: ...
@overload
@classmethod
def create( # type: ignore
@ -725,6 +727,9 @@ class Input(BaseHTML):
on_blur: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_change: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_click: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
@ -737,6 +742,12 @@ class Input(BaseHTML):
on_focus: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_key_down: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_key_up: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_mount: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
@ -1877,6 +1888,7 @@ class Progress(BaseHTML):
...
class Select(BaseHTML):
def get_event_triggers(self) -> Dict[str, Any]: ...
@overload
@classmethod
def create( # type: ignore
@ -1952,6 +1964,9 @@ class Select(BaseHTML):
on_blur: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_change: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_click: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
@ -2042,6 +2057,7 @@ class Select(BaseHTML):
...
class Textarea(BaseHTML):
def get_event_triggers(self) -> Dict[str, Any]: ...
@overload
@classmethod
def create( # type: ignore
@ -2131,6 +2147,9 @@ class Textarea(BaseHTML):
on_blur: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_change: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_click: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
@ -2143,6 +2162,12 @@ class Textarea(BaseHTML):
on_focus: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_key_down: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_key_up: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,
on_mount: Optional[
Union[EventHandler, EventSpec, list, function, BaseVar]
] = None,