import React, { useRef, memo, useMemo, useContext, useState, useEffect } from 'react'; import '@ant-design/compatible/assets/index.css'; import { Button, Input, Modal, Select, Upload, Tooltip, Badge, Popover } from 'antd'; import { DeleteOutlined, UndoOutlined, RedoOutlined, CodeOutlined, SketchOutlined, } from '@ant-design/icons'; import { history } from 'umi'; import styles from './index.less'; import { dooringContext } from '../../../../layouts'; import PageForm from './PageForm'; import VersionList from './VersionList'; interface HeaderComponentProps { pointData: any; location: any; clearData: any; undohandler: any; redohandler: any; importTpl: any; __pageConfig: any; dispatch: any; savePage: any; isNewPage: boolean; delPage: any; } const HeaderComponent = memo((props: HeaderComponentProps) => { const { isNewPage, pointData, location, clearData, undohandler, redohandler, importTpl, __pageConfig, dispatch, savePage, delPage, } = props; const [showModalIframe, setShowModalIframe] = useState(false); const [showFaceModal, setShowFaceModal] = useState(false); const [faceUrl, setFaceUrl] = useState(''); const [btnLoading, setBtnLoading] = useState(true) const deleteAll = () => { Modal.confirm({ title: '确认清空画布?', okText: '确认', cancelText: '取消', onOk() { clearData(); }, }); }; useEffect(() => { // 定义截图子页面句柄函数 window.getFaceUrl = (url) => { setFaceUrl(url); setShowModalIframe(false); }; setTimeout(() => { setBtnLoading(false) }, 5000) }, []); const handleReloadPage = () => { document.getElementById('previewPage').contentWindow.location.reload(); }; const { getImageLoadingNum } = useContext(dooringContext); const onSave = (values, flag) => { dispatch({ type: 'editorModal/updateState', payload: { pageConfig: values, }, }); if (flag) { dispatch({ type: 'editorModal/updateState', payload: { __pageConfig: values, }, }); } }; var url_string = window.location.href; var url = new URL(url_string); var mode = url.searchParams.get('mode'); const isMiniApp = mode === 'miniApp'; return (
{isNewPage && !isMiniApp && ( )} {isNewPage && !isMiniApp && ( )} {isNewPage && !isMiniApp && ( )}
{history.location.query?.mode === 'miniApp' && } } trigger="click" >
} destroyOnClose={true} onCancel={handleReloadPage} maskClosable={false} > setShowFaceModal(false)} >
); }); export default HeaderComponent;