@@ -13,16 +13,9 @@ macro_rules! impl_action {
1313 #[ allow( unused_imports) ]
1414 use crate :: html:: listener:: * ;
1515 use crate :: virtual_dom:: Listener ;
16- cfg_if! {
17- if #[ cfg( feature = "std_web" ) ] {
18- use stdweb:: web:: event:: $type;
19- use stdweb:: web:: { Element , IEventTarget } ;
20- } else if #[ cfg( feature = "web_sys" ) ] {
21- use gloo:: events:: { EventListener , EventListenerOptions } ;
22- use wasm_bindgen:: JsValue ;
23- use web_sys:: { $type as WebSysType , Element , EventTarget } ;
24- }
25- }
16+ use gloo:: events:: { EventListener , EventListenerOptions } ;
17+ use wasm_bindgen:: JsValue ;
18+ use web_sys:: { $type as WebSysType , Element , EventTarget } ;
2619
2720 /// A wrapper for a callback which attaches event listeners to elements.
2821 #[ derive( Clone , Debug ) ]
@@ -49,25 +42,18 @@ macro_rules! impl_action {
4942 let this = element. clone( ) ;
5043 let callback = self . callback. clone( ) ;
5144 let listener = move |
52- #[ cfg( feature = "std_web" ) ] event: $type,
53- #[ cfg( feature = "web_sys" ) ] event: & web_sys:: Event
45+ event: & web_sys:: Event
5446 | {
55- #[ cfg( feature = "web_sys" ) ]
5647 let event: WebSysType = JsValue :: from( event) . into( ) ;
5748 callback. emit( $convert( & this, event) ) ;
5849 } ;
59- cfg_match! {
60- feature = "std_web" => EventListener ( Some ( element. add_event_listener( listener) ) ) ,
61- feature = "web_sys" => ( {
62- // We should only set passive event listeners for `touchstart` and `touchmove`.
63- // See here: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Improving_scrolling_performance_with_passive_listeners
64- if $name == "touchstart" || $name == "touchmove" {
65- EventListener :: new( & EventTarget :: from( element. clone( ) ) , $name, listener)
66- } else {
67- let options = EventListenerOptions :: enable_prevent_default( ) ;
68- EventListener :: new_with_options( & EventTarget :: from( element. clone( ) ) , $name, options, listener)
69- }
70- } ) ,
50+ // We should only set passive event listeners for `touchstart` and `touchmove`.
51+ // See here: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Improving_scrolling_performance_with_passive_listeners
52+ if $name == "touchstart" || $name == "touchmove" {
53+ EventListener :: new( & EventTarget :: from( element. clone( ) ) , $name, listener)
54+ } else {
55+ let options = EventListenerOptions :: enable_prevent_default( ) ;
56+ EventListener :: new_with_options( & EventTarget :: from( element. clone( ) ) , $name, options, listener)
7157 }
7258 }
7359 }
0 commit comments