PluginProbe
Elementor Website Builder – more than just a page builder / 3.8.0-beta1
Elementor Website Builder – more than just a page builder v3.8.0-beta1
4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 All 457 releases
elementor / app / modules / kit-library / assets / js / pages / preview / preview-iframe.js

preview-iframe.js in Elementor Website Builder – more than just a page builder 3.8.0-beta1, at app/modules/kit-library/assets/js/pages/preview/preview-iframe.js

45 lines 961 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* eslint-disable jsx-a11y/iframe-has-title */
2 import { useRef, useEffect } from 'react';
3 import { Grid } from '@elementor/app-ui';
4
5 export function PreviewIframe( props ) {
6 const ref = useRef();
7
8 useEffect( () => {
9 if ( ! ref.current ) {
10 return;
11 }
12
13 const listener = () => props.onLoaded();
14
15 ref.current.addEventListener( 'load', listener );
16
17 return () => ref.current && ref.current.removeEventListener( 'load', listener );
18 }, [ ref.current, props.previewUrl ] );
19
20 return (
21 <Grid container justify="center" className="e-kit-library__preview-iframe-container">
22 <iframe
23 className="e-kit-library__preview-iframe"
24 src={ props.previewUrl }
25 style={ props.style }
26 ref={ ref }
27 />
28 </Grid>
29 );
30 }
31
32 PreviewIframe.propTypes = {
33 previewUrl: PropTypes.string.isRequired,
34 style: PropTypes.object,
35 onLoaded: PropTypes.func,
36 };
37
38 PreviewIframe.defaultProps = {
39 style: {
40 width: '100%',
41 height: '100%',
42 },
43 onLoaded: () => {},
44 };
45