|
|
|
@ -1,4 +1,4 @@
|
|
|
|
|
import { useState, useEffect, useRef } from 'react'
|
|
|
|
|
import { useState, useEffect, useRef, useMemo } from 'react'
|
|
|
|
|
import { App, Button, Divider, Avatar, List, Flex, Typography, Tooltip, Empty } from 'antd'
|
|
|
|
|
import { LoadingOutlined, ApiOutlined, FilePdfOutlined, FileOutlined, FileWordOutlined, FileExcelOutlined, FileJpgOutlined, FileImageOutlined, FileTextOutlined, FileGifOutlined, GlobalOutlined, FileZipOutlined } from '@ant-design/icons'
|
|
|
|
|
import { EditIcon, MailCheckIcon, ReplyAllIcon, ReplyIcon, ResendIcon, ShareForwardIcon, SendPlaneFillIcon, InboxIcon } from '@/components/Icons'
|
|
|
|
@ -6,7 +6,7 @@ import { isEmpty, TagColorStyle } from '@/utils/commons'
|
|
|
|
|
import EmailEditorPopup from '../Input/EmailEditorPopup'
|
|
|
|
|
import DnDModal from '@/components/DnDModal'
|
|
|
|
|
import useStyleStore from '@/stores/StyleStore'
|
|
|
|
|
import { useEmailDetail } from '@/hooks/useEmail'
|
|
|
|
|
import { openPopup, useEmailDetail } from '@/hooks/useEmail'
|
|
|
|
|
import { EMAIL_ATTA_HOST, POPUP_FEATURES } from '@/config'
|
|
|
|
|
import EmailBindFormModal from './EmailBind'
|
|
|
|
|
import EmailContent from './EmailContent'
|
|
|
|
@ -38,11 +38,18 @@ const EmailDetailInline = ({ mailID, emailMsg = {}, disabled = false, variant, s
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
if (componentRef.current) {
|
|
|
|
|
// console.log(componentRef.current.getBoundingClientRect().width);
|
|
|
|
|
setCompactBtn(componentRef.current.offsetWidth < 769);
|
|
|
|
|
setCompactBtn(componentRef.current.offsetWidth < 800);
|
|
|
|
|
}
|
|
|
|
|
return () => {}
|
|
|
|
|
}, [])
|
|
|
|
|
|
|
|
|
|
// const NEW_EMAIL_CONFIG = useMemo(() => {
|
|
|
|
|
// return ['new', 'edit', 'reply', 'replyall', 'forward'].reduce((a, action) => ({...a, [`${action}-${mailID || 0}`]: {
|
|
|
|
|
// url: `/email/${action}/${mailID || 0}`,
|
|
|
|
|
// name: `${action}-${mailID || 0}`,
|
|
|
|
|
// features: POPUP_FEATURES,
|
|
|
|
|
// }}), {});
|
|
|
|
|
// }, [mailID]);
|
|
|
|
|
|
|
|
|
|
const { notification, message } = App.useApp()
|
|
|
|
|
|
|
|
|
@ -190,7 +197,7 @@ const EmailDetailInline = ({ mailID, emailMsg = {}, disabled = false, variant, s
|
|
|
|
|
<ActionBtns key='actions' className={'ml-auto'}/>
|
|
|
|
|
</div>
|
|
|
|
|
<Divider className='my-2' />
|
|
|
|
|
<div className={['flex flex-wrap justify-end', window.innerWidth < 600 ? 'flex-col' : 'flex-row '].join(' ')}>
|
|
|
|
|
<div className={['flex flex-wrap justify-end', window.innerWidth < 800 ? 'flex-col' : 'flex-row '].join(' ')}>
|
|
|
|
|
<div className=' flex-auto basis-0 flex flex-wrap gap-2 mb-2 items-center'>
|
|
|
|
|
<Avatar className='' style={TagColorStyle(mailData.info?.MAI_From, true)}>
|
|
|
|
|
{(mailData.info?.MAI_From || '').substring(0, 1)}
|
|
|
|
@ -245,9 +252,9 @@ const EmailDetailInline = ({ mailID, emailMsg = {}, disabled = false, variant, s
|
|
|
|
|
<List.Item>
|
|
|
|
|
<FileTypeIcon fileName={atta.ATI_Name} />
|
|
|
|
|
<Typography.Text ellipsis={{ tooltip: { title: atta.ATI_Name, placement: 'left' } }} className='text-inherit'>
|
|
|
|
|
<a href={`${EMAIL_ATTA_HOST}${atta.ATI_ServerFile}`} key={atta.ATI_SN} target='_blank' rel='noreferrer'>
|
|
|
|
|
<span key={atta.ATI_SN} onClick={() => openPopup(`${EMAIL_ATTA_HOST}${atta.ATI_ServerFile}`, atta.ATI_SN, POPUP_FEATURES)} size='small' className='text-blue-500 cursor-pointer'>
|
|
|
|
|
{atta.ATI_Name}
|
|
|
|
|
</a>
|
|
|
|
|
</span>
|
|
|
|
|
</Typography.Text>
|
|
|
|
|
</List.Item>
|
|
|
|
|
)}
|
|
|
|
|