Added ability to generat PDF on test email page.

This commit is contained in:
Patrick Fic
2021-01-22 15:30:29 -08:00
parent cc82d55508
commit 8e3f807d1d
3 changed files with 25 additions and 17 deletions

View File

@@ -1,10 +1,11 @@
import { Button, Form, Input } from "antd";
import { Button, Form, Input, Switch } from "antd";
import React from "react";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
import { setEmailOptions } from "../../redux/email/email.actions";
import { selectCurrentUser } from "../../redux/user/user.selectors";
import { GenerateDocument } from "../../utils/RenderTemplate";
const mapStateToProps = createStructuredSelector({
currentUser: selectCurrentUser,
@@ -19,17 +20,16 @@ export function EmailTestComponent({ currentUser, setEmailOptions }) {
const handleFinish = (values) => {
console.log("values", values);
setEmailOptions({
messageOptions: {
to: currentUser.email || null,
},
template: {
GenerateDocument(
{
name: values.key,
variables: {
id: values.id,
},
},
});
{},
values.email ? "e" : "p"
);
};
return (
@@ -64,6 +64,13 @@ export function EmailTestComponent({ currentUser, setEmailOptions }) {
>
<Input />
</Form.Item>
<Form.Item
name="email"
label="Generate as email?"
valuePropName="checked"
>
<Switch />
</Form.Item>
</Form>
<Button onClick={() => form.submit()}>Execute</Button>
</div>

View File

@@ -75,15 +75,15 @@ export default async function RenderTemplate(
if (!renderAsHtml) {
render.download();
var html =
"<html>" +
"<style>html,body {padding:0;margin:0;} iframe {width:100%;height:100%;border:0}</style>" +
"<body>" +
'<iframe type="application/pdf" src="' +
render.toDataURI() +
'"></iframe>' +
"</body></html>";
displayTemplateInWindowNoprint(html);
// var html =
// "<html>" +
// "<style>html,body {padding:0;margin:0;} iframe {width:100%;height:100%;border:0}</style>" +
// "<body>" +
// '<iframe type="application/pdf" src="' +
// render.toDataURI() +
// '"></iframe>' +
// "</body></html>";
// displayTemplateInWindowNoprint(html);
} else {
return new Promise((resolve, reject) => {
resolve(render.toString());
@@ -133,6 +133,6 @@ export const GenerateDocument = async (template, messageOptions, sendType) => {
})
);
} else {
displayTemplateInWindow(await RenderTemplate(template, bodyshop));
await RenderTemplate(template, bodyshop);
}
};

View File

@@ -17,6 +17,7 @@ exports.inlinecss = (req, res) => {
inlineCssTool(html, { url: url })
.then((inlinedHtml) => {
console.log("Inline success.");
res.send(inlinedHtml);
})
.catch((error) => {