Initialize an EventHandler for dynamic vars (#808)
This commit is contained in:
parent
fc9b03ebd7
commit
65dc2fe80e
@ -192,7 +192,9 @@ class State(Base, ABC, extra=pydantic.Extra.allow):
|
||||
events = {
|
||||
name: fn
|
||||
for name, fn in cls.__dict__.items()
|
||||
if not name.startswith("_") and isinstance(fn, Callable)
|
||||
if not name.startswith("_")
|
||||
and isinstance(fn, Callable)
|
||||
and not isinstance(fn, EventHandler)
|
||||
}
|
||||
cls.event_handlers = {name: EventHandler(fn=fn) for name, fn in events.items()}
|
||||
for name, event_handler in cls.event_handlers.items():
|
||||
@ -364,7 +366,9 @@ class State(Base, ABC, extra=pydantic.Extra.allow):
|
||||
"""
|
||||
setter_name = prop.get_setter_name(include_state=False)
|
||||
if setter_name not in cls.__dict__:
|
||||
setattr(cls, setter_name, prop.get_setter())
|
||||
event_handler = EventHandler(fn=prop.get_setter())
|
||||
cls.event_handlers[setter_name] = event_handler
|
||||
setattr(cls, setter_name, event_handler)
|
||||
|
||||
@classmethod
|
||||
def _set_default_value(cls, prop: BaseVar):
|
||||
|
Loading…
Reference in New Issue
Block a user