Skip to content

Commit c3ddb45

Browse files
committed
Remove now-needless JavaScript distinction logic
1 parent 693b112 commit c3ddb45

File tree

1 file changed

+9
-24
lines changed

1 file changed

+9
-24
lines changed

Diff for: src/reactpy/core/layout.py

+9-24
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
ComponentType,
4242
Context,
4343
EventHandlerDict,
44-
JavaScript,
4544
Key,
4645
LayoutEventMessage,
4746
LayoutUpdateMessage,
@@ -119,7 +118,7 @@ async def deliver(self, event: LayoutEventMessage | dict[str, Any]) -> None:
119118
# we just ignore the event.
120119
handler = self._event_handlers.get(event["target"])
121120

122-
if handler is not None and not isinstance(handler, JavaScript):
121+
if handler is not None:
123122
try:
124123
await handler.function(event["data"])
125124
except Exception:
@@ -282,23 +281,16 @@ def _render_model_attributes(
282281

283282
model_event_handlers = new_state.model.current["eventHandlers"] = {}
284283
for event, handler in handlers_by_event.items():
285-
if isinstance(handler, JavaScript):
286-
target = "__javascript__: " + handler
287-
prevent_default = False
288-
stop_propagation = False
284+
if event in old_state.targets_by_event:
285+
target = old_state.targets_by_event[event]
289286
else:
290-
prevent_default = handler.prevent_default
291-
stop_propagation = handler.stop_propagation
292-
if event in old_state.targets_by_event:
293-
target = old_state.targets_by_event[event]
294-
else:
295-
target = uuid4().hex if handler.target is None else handler.target
287+
target = uuid4().hex if handler.target is None else handler.target
296288
new_state.targets_by_event[event] = target
297289
self._event_handlers[target] = handler
298290
model_event_handlers[event] = {
299291
"target": target,
300-
"preventDefault": prevent_default,
301-
"stopPropagation": stop_propagation,
292+
"preventDefault": handler.prevent_default,
293+
"stopPropagation": handler.stop_propagation,
302294
}
303295

304296
return None
@@ -313,20 +305,13 @@ def _render_model_event_handlers_without_old_state(
313305

314306
model_event_handlers = new_state.model.current["eventHandlers"] = {}
315307
for event, handler in handlers_by_event.items():
316-
if isinstance(handler, JavaScript):
317-
target = "__javascript__: " + handler
318-
prevent_default = False
319-
stop_propagation = False
320-
else:
321-
target = uuid4().hex if handler.target is None else handler.target
322-
prevent_default = handler.prevent_default
323-
stop_propagation = handler.stop_propagation
308+
target = uuid4().hex if handler.target is None else handler.target
324309
new_state.targets_by_event[event] = target
325310
self._event_handlers[target] = handler
326311
model_event_handlers[event] = {
327312
"target": target,
328-
"preventDefault": prevent_default,
329-
"stopPropagation": stop_propagation,
313+
"preventDefault": handler.prevent_default,
314+
"stopPropagation": handler.stop_propagation,
330315
}
331316

332317
return None

0 commit comments

Comments
 (0)