93 lines
2.6 KiB
JavaScript
93 lines
2.6 KiB
JavaScript
import { UploadOutlined } from "@ant-design/icons";
|
|
import { Divider, Form, Input, Select, Tabs, Upload } from "antd";
|
|
import React from "react";
|
|
import { useTranslation } from "react-i18next";
|
|
import EmailDocumentsComponent from "../email-documents/email-documents.component";
|
|
|
|
export default function EmailOverlayComponent({ form, selectedMediaState }) {
|
|
const { t } = useTranslation();
|
|
return (
|
|
<div>
|
|
<Form.Item
|
|
label={t("emails.fields.to")}
|
|
name="to"
|
|
rules={[
|
|
{
|
|
required: true,
|
|
//message: t("general.validation.required"),
|
|
},
|
|
]}
|
|
>
|
|
<Select mode="tags" tokenSeparators={[",", ";"]} />
|
|
</Form.Item>
|
|
<Form.Item label={t("emails.fields.cc")} name="cc">
|
|
<Select mode="tags" tokenSeparators={[",", ";"]} />
|
|
</Form.Item>
|
|
<Form.Item
|
|
label={t("emails.fields.subject")}
|
|
name="subject"
|
|
rules={[
|
|
{
|
|
required: true,
|
|
//message: t("general.validation.required"),
|
|
},
|
|
]}
|
|
>
|
|
<Input />
|
|
</Form.Item>
|
|
|
|
<Divider>{t("emails.labels.preview")}</Divider>
|
|
<strong>{t("emails.labels.pdfcopywillbeattached")}</strong>
|
|
|
|
<Form.Item shouldUpdate>
|
|
{() => {
|
|
return (
|
|
<div
|
|
style={{
|
|
padding: "1rem",
|
|
|
|
backgroundColor: "lightgray",
|
|
borderLeft: "6px solid #2196F3",
|
|
}}
|
|
dangerouslySetInnerHTML={{ __html: form.getFieldValue("html") }}
|
|
/>
|
|
);
|
|
}}
|
|
</Form.Item>
|
|
|
|
<Tabs>
|
|
<Tabs.TabPane tab={t("emails.labels.documents")} key="documents">
|
|
<EmailDocumentsComponent selectedMediaState={selectedMediaState} />
|
|
</Tabs.TabPane>
|
|
<Tabs.TabPane tab={t("emails.labels.attachments")} key="attachments">
|
|
<Form.Item
|
|
name="fileList"
|
|
valuePropName="fileList"
|
|
getValueFromEvent={(e) => {
|
|
if (Array.isArray(e)) {
|
|
return e;
|
|
}
|
|
return e && e.fileList;
|
|
}}
|
|
>
|
|
<Upload.Dragger
|
|
beforeUpload={Upload.LIST_IGNORE}
|
|
multiple
|
|
listType="picture-card"
|
|
>
|
|
<>
|
|
<p className="ant-upload-drag-icon">
|
|
<UploadOutlined />
|
|
</p>
|
|
<p className="ant-upload-text">
|
|
Click or drag files to this area to upload.
|
|
</p>
|
|
</>
|
|
</Upload.Dragger>
|
|
</Form.Item>
|
|
</Tabs.TabPane>
|
|
</Tabs>
|
|
</div>
|
|
);
|
|
}
|