diff --git a/package-lock.json b/package-lock.json index d91bf00e..8eb26f39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,8 +14,7 @@ "mustache": "^4.2.0", "papaparse": "^5.3.2", "react-pdf": "5.7.2", - "styled-components": "^5.3.6", - "wl-msg-reader": "^0.2.0" + "styled-components": "^5.3.6" }, "devDependencies": { "@babel/core": "^7.20.2", @@ -35408,11 +35407,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wl-msg-reader": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/wl-msg-reader/-/wl-msg-reader-0.2.0.tgz", - "integrity": "sha512-2pfSLMzKhHc8iQHfMOxQjaxYg7gvrUl1hLduAgV7ASrwOFI05tIO6YwrREKSNUfDN+2ufyQm0ke/sxwbWsGGNA==" - }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -62851,11 +62845,6 @@ "execa": "^5.1.1" } }, - "wl-msg-reader": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/wl-msg-reader/-/wl-msg-reader-0.2.0.tgz", - "integrity": "sha512-2pfSLMzKhHc8iQHfMOxQjaxYg7gvrUl1hLduAgV7ASrwOFI05tIO6YwrREKSNUfDN+2ufyQm0ke/sxwbWsGGNA==" - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", diff --git a/package.json b/package.json index 1c54bbd2..c0e47fd1 100644 --- a/package.json +++ b/package.json @@ -37,8 +37,7 @@ "mustache": "^4.2.0", "papaparse": "^5.3.2", "react-pdf": "5.7.2", - "styled-components": "^5.3.6", - "wl-msg-reader": "^0.2.0" + "styled-components": "^5.3.6" }, "devDependencies": { "@babel/core": "^7.20.2", diff --git a/src/index.tsx b/src/index.tsx index 0f5514b9..b5cbfbcd 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -5,7 +5,6 @@ import { ProxyRenderer } from "./components/ProxyRenderer"; import { DocViewerProvider } from "./store/DocViewerProvider"; import { defaultTheme } from "./defaultTheme"; import { DocRenderer, IConfig, IDocument, ITheme } from "./models"; -import { isWindow } from "./utils/isWindow"; import { AvailableLanguages } from "./utils/i18n"; export interface DocViewerProps { @@ -21,10 +20,6 @@ export interface DocViewerProps { language?: AvailableLanguages; } -if (isWindow) { - (window as any).DataStream = null; -} - const DocViewer: FC = (props) => { const { documents, theme } = props; diff --git a/src/plugins/index.ts b/src/plugins/index.ts index 9982f325..83de28ec 100644 --- a/src/plugins/index.ts +++ b/src/plugins/index.ts @@ -2,7 +2,6 @@ import BMPRenderer from "./bmp"; import HTMLRenderer from "./html"; import JPGRenderer from "./jpg"; import MSDocRenderer from "./msdoc"; -import MSGRenderer from "./msg"; import PDFRenderer from "./pdf"; import PNGRenderer from "./png"; import TIFFRenderer from "./tiff"; @@ -15,7 +14,6 @@ export const DocViewerRenderers = [ HTMLRenderer, JPGRenderer, MSDocRenderer, - MSGRenderer, PDFRenderer, PNGRenderer, TIFFRenderer, diff --git a/src/plugins/msg/index.tsx b/src/plugins/msg/index.tsx deleted file mode 100644 index 516b853f..00000000 --- a/src/plugins/msg/index.tsx +++ /dev/null @@ -1,121 +0,0 @@ -/* eslint-disable */ -import React, { FC, useEffect, useState } from "react"; -import styled from "styled-components"; -import { MSGErrorResult, MSGFileData, MSGReader } from "wl-msg-reader"; -import { DocRenderer, IStyledProps } from "../.."; -import { useTranslation } from "../../hooks/useTranslation"; -import { arrayBufferFileLoader } from "../../utils/fileLoaders"; - -const MSGRenderer: DocRenderer = ({ mainState: { currentDocument } }) => { - const [fileData, setFileData] = useState(); - const { t } = useTranslation(); - - useEffect(() => { - if (!currentDocument || !currentDocument.fileData) return; - - const _fd = new MSGReader( - currentDocument.fileData as ArrayBuffer - ).getFileData(); - setFileData(_fd); - }, [currentDocument?.fileData]); - - useEffect(() => { - if (!fileData || fileData.hasOwnProperty("error")) return; - - let iframeCont = document.getElementById( - "msg-body" - ) as HTMLIFrameElement | null; - let iframe = iframeCont?.contentWindow && iframeCont.contentWindow; - if (!iframe) return; - - const iframeDoc = iframe.document; - - let body = (fileData as MSGFileData).body.replace( - /(\r\n|\n|\r)/gm, - "
" - ); - - iframeDoc.open(); - iframeDoc.write(`${body}`); - iframeDoc.close(); - }, [fileData]); - - if (!fileData || fileData.hasOwnProperty("error")) { - return {(fileData as MSGErrorResult)?.error}; - } - - let { recipients, subject, senderEmail, senderName } = - fileData as MSGFileData; - - return ( - -

- {subject} -

- - - - -

{t("msgPluginRecipients")}

-
    - {recipients.map((r, i) => ( -
  • - {r.name} - {r.hasOwnProperty("email") && ( - - {r.email} - )} -
  • - ))} -
-
- - -
- ); -}; - -const Sender: FC<{ name: string; email: string }> = ({ name, email }) => { - const { t } = useTranslation(); - - if (!name && !email) return null; - - return ( - -

{t("msgPluginSender")}

- {name !== undefined &&
{name}
} - {email !== undefined &&
{email}
} -
- ); -}; - -export default MSGRenderer; - -MSGRenderer.fileTypes = ["msg", "application/vnd.ms-outlook"]; -MSGRenderer.weight = 0; -MSGRenderer.fileLoader = arrayBufferFileLoader; - -const Container = styled.div` - display: flex; - flex-direction: column; - width: 100%; - padding: 0 30px; -`; - -const SenderContainer = styled.div` - padding: 0 15px 15px 15px; - margin-top: 20px; - border: 1px solid ${(props: IStyledProps) => props.theme.secondary}; -`; - -const RecipientContainer = styled.div` - padding: 0 15px; - margin-top: 20px; - border: 1px solid ${(props: IStyledProps) => props.theme.secondary}; -`; - -const BodyIFrame = styled.iframe` - height: 100%; - padding: 15px; - margin: 20px 0 20px 0; - border: 1px solid ${(props: IStyledProps) => props.theme.secondary}; -`; diff --git a/src/utils/isWindow.ts b/src/utils/isWindow.ts deleted file mode 100644 index 0d67dfe9..00000000 --- a/src/utils/isWindow.ts +++ /dev/null @@ -1 +0,0 @@ -export const isWindow = typeof window !== "undefined";