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 / quick-action-sidebar / index.js
sureforms / modules / quick-action-sidebar Last commit date
components 2 years ago editor.lazy.scss 2 years ago index.js 1 month ago
index.js
69 lines
1 /**
2 * The Quick Access React App for Spectra Enhanced Editor.
3 */
4 import { createRoot } from '@wordpress/element';
5 import Sidebar from './components/Sidebar';
6
7 // Toggles the sidebar based on the url parameters.
8 export const toggleSidebar = ( url ) => {
9 const currentUrl = new URL( url );
10 if ( '/wp-admin/site-editor.php' === currentUrl.pathname ) {
11 if ( 'edit' === currentUrl.searchParams.get( 'canvas' ) ) {
12 attachSidebarAfterLoading();
13 } else {
14 const container = document.querySelector( '.srfm-ee-quick-access' );
15 if ( container ) {
16 container.parentElement.remove();
17 }
18 }
19 }
20 };
21
22 // Attaches the sidebar to the DOM.
23 export const attachSidebar = () => {
24 const interval = setInterval( () => {
25 const rootElement = document.querySelector(
26 '.interface-interface-skeleton__body'
27 );
28 if ( ! rootElement ) {
29 return;
30 }
31
32 const blockElement = document.querySelector(
33 '.srfm-ee-quick-access-container'
34 );
35 if ( blockElement ) {
36 clearInterval( interval );
37 return;
38 }
39
40 clearInterval( interval );
41
42 let container = rootElement.querySelector( '.srfm-ee-quick-access' );
43
44 if ( ! container ) {
45 container = document.createElement( 'div' );
46 container.classList.add( 'srfm-ee-quick-access-container' );
47 rootElement.insertBefore( container, rootElement.firstChild );
48 }
49
50 const root = createRoot( container );
51 root.render( <Sidebar /> );
52 }, 100 );
53 };
54
55 // Attaches the sidebar after the page is loaded ( in FSE editor).
56 const attachSidebarAfterLoading = () => {
57 const skeletonInterval = setInterval( () => {
58 const skeleton = document.querySelector(
59 '.edit-site-editor__interface-skeleton'
60 );
61 if ( skeleton ) {
62 if ( ! skeleton.classList.contains( 'is-loading' ) ) {
63 clearInterval( skeletonInterval );
64 attachSidebar();
65 }
66 }
67 }, 100 );
68 };
69