Apply custom css in editor
[MAILPOET-2455]
This commit is contained in:
committed by
Jack Kitterhing
parent
8d0ed7a084
commit
c2823f3f68
@@ -6,6 +6,7 @@ import Header from './header.jsx';
|
||||
import Sidebar from './sidebar.jsx';
|
||||
import FormTitle from './form_title.jsx';
|
||||
import Notices from './notices.jsx';
|
||||
import FormStyles from './form_styles.jsx';
|
||||
|
||||
/**
|
||||
* This component renders the form editor app.
|
||||
@@ -19,6 +20,7 @@ export default () => {
|
||||
(select) => select('mailpoet-form-editor').getSidebarOpened(),
|
||||
[]
|
||||
);
|
||||
|
||||
const layoutClass = classnames('edit-post-layout', {
|
||||
'is-sidebar-opened': sidebarOpened,
|
||||
});
|
||||
@@ -29,7 +31,7 @@ export default () => {
|
||||
<div className="edit-post-layout__content">
|
||||
<Notices />
|
||||
<div className="edit-post-visual-editor editor-styles-wrapper">
|
||||
<div className="editor-writing-flow block-editor-writing-flow">
|
||||
<div className="editor-writing-flow block-editor-writing-flow mailpoet_form">
|
||||
<FormTitle />
|
||||
</div>
|
||||
</div>
|
||||
@@ -39,6 +41,7 @@ export default () => {
|
||||
</div>
|
||||
<Popover.Slot />
|
||||
</SlotFillProvider>
|
||||
<FormStyles />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
22
assets/js/src/form_editor/components/form_styles.jsx
Normal file
22
assets/js/src/form_editor/components/form_styles.jsx
Normal file
@@ -0,0 +1,22 @@
|
||||
import ReactDOM from 'react-dom';
|
||||
import { useSelect } from '@wordpress/data';
|
||||
import { transformStyles } from '@wordpress/block-editor';
|
||||
import css from 'css';
|
||||
|
||||
export default () => {
|
||||
const element = document.getElementById('mailpoet-form-editor-form-styles');
|
||||
|
||||
const formStyles = useSelect(
|
||||
(select) => select('mailpoet-form-editor').getFormStyles(),
|
||||
[]
|
||||
);
|
||||
|
||||
try {
|
||||
css.parse(formStyles);
|
||||
} catch (e) {
|
||||
return ReactDOM.createPortal(null, element);
|
||||
}
|
||||
|
||||
const transoformedStyles = transformStyles([{ css: formStyles }], '.editor-styles-wrapper');
|
||||
return ReactDOM.createPortal(transoformedStyles[0], element);
|
||||
};
|
Reference in New Issue
Block a user