PluginProbe ʕ •ᴥ•ʔ
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz / trunk
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz vtrunk
2.12.6 2.12.5 2.12.4 2.12.3 2.12.2 2.12.1 2.12.0 2.11.1 2.11.0 2.10.1 2.10.0 2.9.1 2.9.0 2.8.2 2.8.1 2.7.0 2.7.1 2.8.0 trunk 0.0.10 0.0.11 0.0.12 0.0.13 0.0.2 0.0.3 0.0.4 0.0.5 0.0.6 0.0.7 0.0.8 0.0.9 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.1.0 1.1.1 1.1.2 1.10.0 1.10.1 1.11.0 1.12.0 1.12.1 1.12.2 1.12.3 1.13.0 1.13.1 1.13.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.5.0 1.5.1 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.8.0 1.9.0 1.9.1 2.0.0 2.0.1 2.0.2 2.1.0 2.1.1 2.2.0 2.2.1 2.2.2 2.3.0 2.4.0 2.5.0 2.5.2 2.6.0
sureforms / modules / gutenberg / config / BlockEditorPreviewCompatibility.js
sureforms / modules / gutenberg / config Last commit date
BlockEditorPreviewCompatibility.js 2 years ago
BlockEditorPreviewCompatibility.js
59 lines
1 function BlockEditorPreviewCompatibility( cssStyleID, styleTagId, styling ) {
2 // Required CSS File.
3 const WidgetCssFileTag = document.getElementById( cssStyleID );
4 let cloneWidgetCssFileTag = false;
5
6 if ( WidgetCssFileTag ) {
7 cloneWidgetCssFileTag = WidgetCssFileTag.cloneNode( true );
8 }
9
10 // Desktop.
11 const element = document.getElementById( styleTagId );
12
13 if ( null === element || undefined === element ) {
14 const $style = document.createElement( 'style' );
15 $style.setAttribute( 'id', styleTagId );
16 document.head.appendChild( $style );
17 }
18
19 if ( null !== element && undefined !== element ) {
20 element.innerHTML = styling;
21 }
22 // Desktop ends.
23
24 // Tablet / Mobile Starts.
25 const tabletPreview =
26 document.getElementsByClassName( 'is-tablet-preview' );
27 const mobilePreview =
28 document.getElementsByClassName( 'is-mobile-preview' );
29
30 if ( 0 !== tabletPreview.length || 0 !== mobilePreview.length ) {
31 const preview = tabletPreview[ 0 ] || mobilePreview[ 0 ];
32
33 const iframe = preview.getElementsByTagName( 'iframe' )[ 0 ];
34 const iframeDocument =
35 iframe.contentWindow.document || iframe.contentDocument;
36
37 let elementRes = iframeDocument.getElementById( styleTagId );
38 if ( null === elementRes || undefined === elementRes ) {
39 const $style = document.createElement( 'style' );
40 $style.setAttribute( 'id', styleTagId );
41
42 iframeDocument.head.appendChild( $style );
43 }
44
45 // Required CSS File.
46 if ( cloneWidgetCssFileTag ) {
47 iframeDocument.head.appendChild( cloneWidgetCssFileTag );
48 }
49
50 elementRes = iframeDocument.getElementById( styleTagId );
51
52 if ( null !== elementRes && undefined !== elementRes ) {
53 elementRes.innerHTML = styling;
54 }
55 }
56 }
57
58 export default BlockEditorPreviewCompatibility;
59