MCPcopy
hub / github.com/reflex-dev/reflex / EventChain

Function EventChain

tests/integration/test_event_chain.py:20–307  ·  view source on GitHub ↗

App with chained event handlers.

()

Source from the content-addressed store, hash-verified

18
19
20def EventChain():
21 """App with chained event handlers."""
22 import asyncio
23 import time
24
25 import reflex as rx
26
27 # repeated here since the outer global isn't exported into the App module
28 MANY_EVENTS = 50
29
30 class State(rx.State):
31 event_order: list[str] = []
32 interim_value: str = ""
33 cond_input: str = ""
34
35 @rx.event
36 def event_no_args(self):
37 self.event_order.append("event_no_args")
38
39 @rx.event
40 def event_arg(self, arg):
41 self.event_order.append(f"event_arg:{arg}")
42
43 @rx.event
44 def event_arg_repr_type(self, arg):
45 self.event_order.append(f"event_arg_repr:{arg!r}_{type(arg).__name__}")
46
47 @rx.event
48 def event_nested_1(self):
49 self.event_order.append("event_nested_1")
50 yield State.event_nested_2
51 yield State.event_arg("nested_1")
52
53 @rx.event
54 def event_nested_2(self):
55 self.event_order.append("event_nested_2")
56 yield State.event_nested_3
57 yield rx.console_log("event_nested_2")
58 yield State.event_arg("nested_2")
59
60 @rx.event
61 def event_nested_3(self):
62 self.event_order.append("event_nested_3")
63 yield State.event_no_args
64 yield State.event_arg("nested_3")
65
66 @rx.event
67 def on_load_return_chain(self):
68 self.event_order.append("on_load_return_chain")
69 return [State.event_arg(1), State.event_arg(2), State.event_arg(3)]
70
71 @rx.event
72 def on_load_yield_chain(self):
73 self.event_order.append("on_load_yield_chain")
74 yield State.event_arg(4)
75 yield State.event_arg(5)
76 yield State.event_arg(6)
77

Calls 4

add_pageMethod · 0.95
toMethod · 0.80
foreachMethod · 0.80
createMethod · 0.45

Tested by

no test coverage detected