Use current email content when previewing templates when swapping
[MAILPOET-6336]
This commit is contained in:
committed by
Rostislav Wolný
parent
1fdda485d3
commit
10b2c2b648
@@ -23,8 +23,11 @@ import { EditTemplateModal } from './edit-template-modal';
|
||||
import { SelectTemplateModal } from '../template-select';
|
||||
|
||||
export function EmailTypeInfo() {
|
||||
const template = useSelect(
|
||||
( select ) => select( storeName ).getCurrentTemplate(),
|
||||
const { template, currentEmailContent } = useSelect(
|
||||
( select ) => ( {
|
||||
template: select( storeName ).getCurrentTemplate(),
|
||||
currentEmailContent: select( storeName ).getEditedEmailContent(),
|
||||
} ),
|
||||
[]
|
||||
);
|
||||
const [ isEditTemplateModalOpen, setEditTemplateModalOpen ] =
|
||||
@@ -113,6 +116,7 @@ export function EmailTypeInfo() {
|
||||
setSelectTemplateModalOpen( false )
|
||||
}
|
||||
closeCallback={ () => setSelectTemplateModalOpen( false ) }
|
||||
previewContent={ currentEmailContent }
|
||||
/>
|
||||
) }
|
||||
</>
|
||||
|
@@ -20,15 +20,20 @@ const BLANK_TEMPLATE = 'email-general';
|
||||
export function SelectTemplateModal( {
|
||||
onSelectCallback,
|
||||
closeCallback = null,
|
||||
previewContent = '',
|
||||
} ) {
|
||||
const [ templates ] = usePreviewTemplates();
|
||||
const [ templates ] = usePreviewTemplates( previewContent );
|
||||
|
||||
const hasTemplates = templates?.length > 0;
|
||||
|
||||
const handleTemplateSelection = ( template: TemplatePreview ) => {
|
||||
void dispatch( editorStore ).resetEditorBlocks(
|
||||
template.patternParsed
|
||||
);
|
||||
// When we provide previewContent, we don't want to reset the blocks
|
||||
if ( ! previewContent ) {
|
||||
void dispatch( editorStore ).resetEditorBlocks(
|
||||
template.emailParsed
|
||||
);
|
||||
}
|
||||
|
||||
void dispatch( storeName ).setTemplateToPost(
|
||||
template.slug,
|
||||
template.template.mailpoet_email_theme ?? {}
|
||||
@@ -100,7 +105,9 @@ export function SelectTemplateModal( {
|
||||
}
|
||||
>
|
||||
<BlockPreview
|
||||
blocks={ template.contentParsed }
|
||||
blocks={
|
||||
template.previewContentParsed
|
||||
}
|
||||
viewportWidth={ 900 }
|
||||
minHeight={ 300 }
|
||||
additionalStyles={ [
|
||||
|
Reference in New Issue
Block a user