PluginProbe ʕ •ᴥ•ʔ
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz / 2.12.3
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz v2.12.3
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