Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

for testing purpose #3

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Prev Previous commit
Next Next commit
add export json and mjml
  • Loading branch information
ronak1603 committed Aug 22, 2023
commit f0d06043384dd2cff2ca744d98a26eb85cd92504
46 changes: 45 additions & 1 deletion demo/src/pages/Editor/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,27 @@ export default function Editor() {
}
}, [isDarkMode]);

const onExportMJML = (values: IEmailTemplate) => {
const mjmlString = JsonToMjml({
data: values.content,
mode: 'production',
context: values.content,
dataSource: mergeTags,
});

pushEvent({ event: 'MJMLExport', payload: { values, mergeTags } });
navigator.clipboard.writeText(mjmlString);
saveAs(new Blob([mjmlString], { type: 'text/mjml' }), 'easy-email.mjml');
};

const onExportJSON = (values: IEmailTemplate) => {
navigator.clipboard.writeText(JSON.stringify(values, null, 2));
saveAs(
new Blob([JSON.stringify(values, null, 2)], { type: 'application/json' }),
'easy-email.json',
);
};

// const onChangeTheme = useCallback(t => {
// setTheme(t);
// }, []);
Expand Down Expand Up @@ -361,9 +382,32 @@ export default function Editor() {
onBack={() => history.push('/')}
extra={
<>
<Dropdown
droplist={
<Menu>
<Menu.Item
key='Export MJML'
onClick={() => onExportMJML(values)}
>
Export MJML
</Menu.Item>
<Menu.Item
key='Export JSON'
onClick={() => onExportJSON(values)}
>
Export JSON
</Menu.Item>
</Menu>
}
>
<Button>
<strong>Export</strong>
</Button>
</Dropdown>&nbsp;&nbsp;
<Button key='JSON'
onClick={() => onImportJSON({ restart })}>Import Json</Button>
onClick={() => onImportJSON({ restart })}>Import Json</Button>&nbsp;&nbsp;
<Button>save</Button>

</>
}
/>
Expand Down