Add basic swap template functionality
[MAILPOET-6336]
This commit is contained in:
committed by
Rostislav Wolný
parent
9f273a3ff2
commit
1fdda485d3
@ -20,6 +20,7 @@ import { useState } from '@wordpress/element';
|
|||||||
*/
|
*/
|
||||||
import { storeName } from '../../store';
|
import { storeName } from '../../store';
|
||||||
import { EditTemplateModal } from './edit-template-modal';
|
import { EditTemplateModal } from './edit-template-modal';
|
||||||
|
import { SelectTemplateModal } from '../template-select';
|
||||||
|
|
||||||
export function EmailTypeInfo() {
|
export function EmailTypeInfo() {
|
||||||
const template = useSelect(
|
const template = useSelect(
|
||||||
@ -28,6 +29,8 @@ export function EmailTypeInfo() {
|
|||||||
);
|
);
|
||||||
const [ isEditTemplateModalOpen, setEditTemplateModalOpen ] =
|
const [ isEditTemplateModalOpen, setEditTemplateModalOpen ] =
|
||||||
useState( false );
|
useState( false );
|
||||||
|
const [ isSelectTemplateModalOpen, setSelectTemplateModalOpen ] =
|
||||||
|
useState( false );
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@ -79,6 +82,9 @@ export function EmailTypeInfo() {
|
|||||||
</MenuItem>
|
</MenuItem>
|
||||||
<MenuItem
|
<MenuItem
|
||||||
onClick={ () => {
|
onClick={ () => {
|
||||||
|
setSelectTemplateModalOpen(
|
||||||
|
true
|
||||||
|
);
|
||||||
onClose();
|
onClose();
|
||||||
} }
|
} }
|
||||||
>
|
>
|
||||||
@ -101,6 +107,14 @@ export function EmailTypeInfo() {
|
|||||||
close={ () => setEditTemplateModalOpen( false ) }
|
close={ () => setEditTemplateModalOpen( false ) }
|
||||||
/>
|
/>
|
||||||
) }
|
) }
|
||||||
|
{ isSelectTemplateModalOpen && (
|
||||||
|
<SelectTemplateModal
|
||||||
|
onSelectCallback={ () =>
|
||||||
|
setSelectTemplateModalOpen( false )
|
||||||
|
}
|
||||||
|
closeCallback={ () => setSelectTemplateModalOpen( false ) }
|
||||||
|
/>
|
||||||
|
) }
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,10 @@ import { storeName, TemplatePreview } from '../../store';
|
|||||||
|
|
||||||
const BLANK_TEMPLATE = 'email-general';
|
const BLANK_TEMPLATE = 'email-general';
|
||||||
|
|
||||||
export function SelectTemplateModal( { onSelectCallback } ) {
|
export function SelectTemplateModal( {
|
||||||
|
onSelectCallback,
|
||||||
|
closeCallback = null,
|
||||||
|
} ) {
|
||||||
const [ templates ] = usePreviewTemplates();
|
const [ templates ] = usePreviewTemplates();
|
||||||
|
|
||||||
const hasTemplates = templates?.length > 0;
|
const hasTemplates = templates?.length > 0;
|
||||||
@ -46,7 +49,9 @@ export function SelectTemplateModal( { onSelectCallback } ) {
|
|||||||
return (
|
return (
|
||||||
<Modal
|
<Modal
|
||||||
title="Select a template"
|
title="Select a template"
|
||||||
onRequestClose={ () => handleCloseWithoutSelection() }
|
onRequestClose={ () =>
|
||||||
|
closeCallback ? closeCallback() : handleCloseWithoutSelection()
|
||||||
|
}
|
||||||
isFullScreen
|
isFullScreen
|
||||||
>
|
>
|
||||||
<div className="block-editor-block-patterns-explorer">
|
<div className="block-editor-block-patterns-explorer">
|
||||||
|
Reference in New Issue
Block a user