Skip to content

Commit 115c6dd

Browse files
authored
move on submit form spec to event.py (#5638)
1 parent f926504 commit 115c6dd

3 files changed

Lines changed: 29 additions & 21 deletions

File tree

pyi_hashes.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"reflex/components/el/element.pyi": "7faa2cda13a04870d6c1cbfb4b3a2a0a",
3131
"reflex/components/el/elements/__init__.pyi": "2e30624329b8b535dfd8969f95efdd25",
3232
"reflex/components/el/elements/base.pyi": "3fde62b5c749a40c43d1a4f0d0dccda4",
33-
"reflex/components/el/elements/forms.pyi": "b7db5e64a2d0ee1a7ecf72cac927587a",
33+
"reflex/components/el/elements/forms.pyi": "a316bdcc4bef4adb71d059057c6ffeff",
3434
"reflex/components/el/elements/inline.pyi": "027f051369a253446365e77a4d621013",
3535
"reflex/components/el/elements/media.pyi": "57bf44d696132478da377dd8d78807e2",
3636
"reflex/components/el/elements/metadata.pyi": "23ad6217eb96f622b33a1f550c510cd5",

reflex/components/el/elements/forms.py

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,16 @@
1212
from reflex.components.tags.tag import Tag
1313
from reflex.constants import Dirs, EventTriggers
1414
from reflex.event import (
15+
FORM_DATA,
1516
EventChain,
1617
EventHandler,
1718
checked_input_event,
1819
float_input_event,
1920
input_event,
2021
int_input_event,
2122
key_event,
23+
on_submit_event,
24+
on_submit_string_event,
2225
prevent_default,
2326
)
2427
from reflex.utils.imports import ImportDict
@@ -28,7 +31,6 @@
2831

2932
from .base import BaseHTML
3033

31-
FORM_DATA = Var(_js_expr="form_data")
3234
HANDLE_SUBMIT_JS_JINJA2 = Environment().from_string(
3335
"""
3436
const handleSubmit_{{ handle_submit_unique_name }} = useCallback((ev) => {
@@ -110,24 +112,6 @@ class Fieldset(Element):
110112
name: Var[str]
111113

112114

113-
def on_submit_event_spec() -> tuple[Var[dict[str, Any]]]:
114-
"""Event handler spec for the on_submit event.
115-
116-
Returns:
117-
The event handler spec.
118-
"""
119-
return (FORM_DATA,)
120-
121-
122-
def on_submit_string_event_spec() -> tuple[Var[dict[str, str]]]:
123-
"""Event handler spec for the on_submit event.
124-
125-
Returns:
126-
The event handler spec.
127-
"""
128-
return (FORM_DATA,)
129-
130-
131115
class Form(BaseHTML):
132116
"""Display the form element."""
133117

@@ -167,7 +151,7 @@ class Form(BaseHTML):
167151
handle_submit_unique_name: Var[str]
168152

169153
# Fired when the form is submitted
170-
on_submit: EventHandler[on_submit_event_spec, on_submit_string_event_spec]
154+
on_submit: EventHandler[on_submit_event, on_submit_string_event]
171155

172156
@classmethod
173157
def create(cls, *children, **props):

reflex/event.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -636,6 +636,27 @@ def checked_input_event(e: ObjectVar[JavascriptInputEvent]) -> tuple[Var[bool]]:
636636
return (e.target.checked,)
637637

638638

639+
FORM_DATA = Var(_js_expr="form_data")
640+
641+
642+
def on_submit_event() -> tuple[Var[dict[str, Any]]]:
643+
"""Event handler spec for the on_submit event.
644+
645+
Returns:
646+
The event handler spec.
647+
"""
648+
return (FORM_DATA,)
649+
650+
651+
def on_submit_string_event() -> tuple[Var[dict[str, str]]]:
652+
"""Event handler spec for the on_submit event.
653+
654+
Returns:
655+
The event handler spec.
656+
"""
657+
return (FORM_DATA,)
658+
659+
639660
class KeyInputInfo(TypedDict):
640661
"""Information about a key input event."""
641662

@@ -2224,6 +2245,7 @@ class EventNamespace:
22242245
# Constants
22252246
BACKGROUND_TASK_MARKER = BACKGROUND_TASK_MARKER
22262247
_EVENT_FIELDS = _EVENT_FIELDS
2248+
FORM_DATA = FORM_DATA
22272249
upload_files = upload_files
22282250
stop_propagation = stop_propagation
22292251
prevent_default = prevent_default
@@ -2396,6 +2418,8 @@ def wrapper(
23962418
key_event = staticmethod(key_event)
23972419
pointer_event_spec = staticmethod(pointer_event_spec)
23982420
no_args_event_spec = staticmethod(no_args_event_spec)
2421+
on_submit_event = staticmethod(on_submit_event)
2422+
on_submit_string_event = staticmethod(on_submit_string_event)
23992423

24002424
# Server Side Events
24012425
server_side = staticmethod(server_side)

0 commit comments

Comments
 (0)