Add smart preview modal settings
[MAILPOET-2743]
This commit is contained in:
committed by
Veljko V
parent
02f7726774
commit
db618d7948
@@ -12,11 +12,27 @@ import Modal from '../../common/modal/modal.jsx';
|
|||||||
import { blocksToFormBodyFactory } from '../store/blocks_to_form_body.jsx';
|
import { blocksToFormBodyFactory } from '../store/blocks_to_form_body.jsx';
|
||||||
import { onChange } from '../../common/functions';
|
import { onChange } from '../../common/functions';
|
||||||
|
|
||||||
|
function getFormType(settings) {
|
||||||
|
const storedValue = window.localStorage.getItem('mailpoet_form_preview_last_form_type');
|
||||||
|
if (storedValue) {
|
||||||
|
return storedValue;
|
||||||
|
}
|
||||||
|
if (settings.placeFormBellowAllPages || settings.placeFormBellowAllPosts) {
|
||||||
|
return 'below_post';
|
||||||
|
}
|
||||||
|
if (settings.placePopupFormOnAllPages || settings.placePopupFormOnAllPosts) {
|
||||||
|
return 'popup';
|
||||||
|
}
|
||||||
|
if (settings.placeFixedBarFormOnAllPages || settings.placeFixedBarFormOnAllPosts) {
|
||||||
|
return 'fixed_bar';
|
||||||
|
}
|
||||||
|
return 'sidebar';
|
||||||
|
}
|
||||||
|
|
||||||
|
const getPreviewType = () => (window.localStorage.getItem('mailpoet_form_preview_last_preview_type') || 'desktop');
|
||||||
const FormPreview = () => {
|
const FormPreview = () => {
|
||||||
const [form, setForm] = useState(null);
|
const [form, setForm] = useState(null);
|
||||||
const [iframeLoaded, setIframeLoaded] = useState(false);
|
const [iframeLoaded, setIframeLoaded] = useState(false);
|
||||||
const [formType, setFormType] = useState(false);
|
|
||||||
const [previewType, setPreviewType] = useState('desktop');
|
|
||||||
|
|
||||||
const formBlocks = useSelect(
|
const formBlocks = useSelect(
|
||||||
(select) => select('mailpoet-form-editor').getFormBlocks(),
|
(select) => select('mailpoet-form-editor').getFormBlocks(),
|
||||||
@@ -75,6 +91,17 @@ const FormPreview = () => {
|
|||||||
hidePreview();
|
hidePreview();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setFormType(type) {
|
||||||
|
setIframeLoaded(false);
|
||||||
|
window.localStorage.setItem('mailpoet_form_preview_last_form_type', type);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setPreviewType(type) {
|
||||||
|
window.localStorage.setItem('mailpoet_form_preview_last_preview_type', type);
|
||||||
|
}
|
||||||
|
|
||||||
|
const formType = getFormType(formData.settings);
|
||||||
|
const previewType = getPreviewType();
|
||||||
const urlData = {
|
const urlData = {
|
||||||
id: formData.id,
|
id: formData.id,
|
||||||
form_type: formType,
|
form_type: formType,
|
||||||
|
Reference in New Issue
Block a user