@@ -765,20 +765,33 @@ export default class ElementWrapper extends Wrapper {
765
765
` ) ;
766
766
767
767
binding_group . events . forEach ( name => {
768
- const resizeListenerFunctions = {
769
- elementresize : 'add_iframe_resize_listener' ,
770
- elementresizecontentbox : 'resize_observer_content_box.observe' ,
771
- elementresizeborderbox : 'resize_observer_border_box.observe' ,
772
- elementresizedevicepixelcontentbox : 'resize_observer_device_pixel_content_box.observe'
773
- } ;
774
-
775
- if ( name in resizeListenerFunctions ) {
768
+ if ( [ 'elementresize' , 'elementresizecontentbox' , 'elementresizeborderbox' , 'elementresizedevicepixelcontentbox' ] . indexOf ( name ) !== - 1 ) {
776
769
const resize_listener = block . get_unique_name ( `${ this . var . name } _resize_listener` ) ;
777
770
block . add_variable ( resize_listener ) ;
778
771
779
- block . chunks . mount . push (
780
- b `${ resize_listener } = @${ resizeListenerFunctions [ name ] } (${ this . var } , ${ callee } .bind(${ this . var } ));`
781
- ) ;
772
+ // Can't dynamically do `@fn[name]`, code-red doesn't know how to resolve it
773
+ switch ( name ) {
774
+ case 'elementresize' :
775
+ block . chunks . mount . push (
776
+ b `${ resize_listener } = @add_iframe_resize_listener(${ this . var } , ${ callee } .bind(${ this . var } ));`
777
+ ) ;
778
+ break ;
779
+ case 'elementresizecontentbox' :
780
+ block . chunks . mount . push (
781
+ b `${ resize_listener } = @resize_observer_content_box.observe(${ this . var } , ${ callee } .bind(${ this . var } ));`
782
+ ) ;
783
+ break ;
784
+ case 'elementresizeborderbox' :
785
+ block . chunks . mount . push (
786
+ b `${ resize_listener } = @resize_observer_border_box.observe(${ this . var } , ${ callee } .bind(${ this . var } ));`
787
+ ) ;
788
+ break ;
789
+ case 'elementresizedevicepixelcontentbox' :
790
+ block . chunks . mount . push (
791
+ b `${ resize_listener } = @resize_observer_device_pixel_content_box.observe(${ this . var } , ${ callee } .bind(${ this . var } ));`
792
+ ) ;
793
+ break ;
794
+ }
782
795
783
796
block . chunks . destroy . push (
784
797
b `${ resize_listener } ();`
0 commit comments