mirror of
https://github.com/MrXujiang/h5-Dooring.git
synced 2025-12-18 15:02:50 +00:00
style: remove draggable change style
This commit is contained in:
parent
8fdef66fd4
commit
6f2550a5a5
@ -3,7 +3,6 @@ import { library, generateRespones, RenderList, useRegister } from 'chatbot-antd
|
|||||||
import { IRouteComponentProps } from 'umi';
|
import { IRouteComponentProps } from 'umi';
|
||||||
import { Button } from 'antd';
|
import { Button } from 'antd';
|
||||||
import { CustomerServiceOutlined } from '@ant-design/icons';
|
import { CustomerServiceOutlined } from '@ant-design/icons';
|
||||||
import Draggable, { DraggableData, DraggableEvent } from 'react-draggable';
|
|
||||||
|
|
||||||
library.push(
|
library.push(
|
||||||
//语料库,push进去,也可以不用
|
//语料库,push进去,也可以不用
|
||||||
@ -36,6 +35,7 @@ export const dooringContext = createContext<IdooringContextType>({
|
|||||||
|
|
||||||
export default function Layout({ children }: IRouteComponentProps) {
|
export default function Layout({ children }: IRouteComponentProps) {
|
||||||
const [modalOpen, setModalOpen] = useState(false);
|
const [modalOpen, setModalOpen] = useState(false);
|
||||||
|
const [num, setNum] = useState(0);
|
||||||
const callb = useCallback((v: RenderList) => {
|
const callb = useCallback((v: RenderList) => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
//使用settimeout 更像机器人回话
|
//使用settimeout 更像机器人回话
|
||||||
@ -52,8 +52,14 @@ export default function Layout({ children }: IRouteComponentProps) {
|
|||||||
modalOpen,
|
modalOpen,
|
||||||
callb,
|
callb,
|
||||||
{
|
{
|
||||||
onOk: () => setModalOpen(false),
|
onOk: () => {
|
||||||
onCancel: () => setModalOpen(false),
|
setModalOpen(false);
|
||||||
|
setNum(0);
|
||||||
|
},
|
||||||
|
onCancel: () => {
|
||||||
|
setModalOpen(false);
|
||||||
|
setNum(0);
|
||||||
|
},
|
||||||
title: 'h5-Dooring机器人客服',
|
title: 'h5-Dooring机器人客服',
|
||||||
width: 400,
|
width: 400,
|
||||||
},
|
},
|
||||||
@ -88,7 +94,6 @@ export default function Layout({ children }: IRouteComponentProps) {
|
|||||||
);
|
);
|
||||||
|
|
||||||
const [state, setState] = useState<dooringContextType>('h5');
|
const [state, setState] = useState<dooringContextType>('h5');
|
||||||
const [pos, setPos] = useState({ x: 0, y: 0 });
|
|
||||||
return (
|
return (
|
||||||
<dooringContext.Provider
|
<dooringContext.Provider
|
||||||
value={{
|
value={{
|
||||||
@ -97,26 +102,38 @@ export default function Layout({ children }: IRouteComponentProps) {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div style={{ height: '100%', width: '100%', overflow: 'hidden' }}>
|
<div style={{ height: '100%', width: '100%', overflow: 'hidden' }}>
|
||||||
<Draggable
|
<div
|
||||||
position={pos}
|
style={{
|
||||||
onStop={(e: DraggableEvent, data: DraggableData) => {
|
position: 'fixed',
|
||||||
setPos({ x: data.x, y: data.y });
|
right: `${num === 0 ? '-10px' : num === 1 ? '-100%' : '0px'}`,
|
||||||
|
bottom: '80px',
|
||||||
|
transition: 'all 0.3s ease-in-out',
|
||||||
|
zIndex: 2,
|
||||||
|
}}
|
||||||
|
onMouseEnter={() => {
|
||||||
|
//0初始,1点击 2移入
|
||||||
|
setNum(2);
|
||||||
|
}}
|
||||||
|
onMouseLeave={() => {
|
||||||
|
setNum(pre => (pre === 2 ? 0 : pre));
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<Button
|
||||||
|
type="primary"
|
||||||
style={{
|
style={{
|
||||||
position: 'fixed',
|
transition: 'all 0.3s ease-in-out',
|
||||||
right: `${modalOpen ? '-100%' : '10px'}`,
|
borderRadius: `${num === 0 ? '1000px' : '0px'}`,
|
||||||
bottom: '80px',
|
transform: `${num === 0 ? 'scale(0.5)' : 'scale(1)'}`,
|
||||||
transition: 'all 0.5s ease-in-out',
|
}}
|
||||||
zIndex: 2,
|
onClick={() => {
|
||||||
|
setModalOpen(!modalOpen);
|
||||||
|
!modalOpen && setNum(1);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Button type="primary" onClick={() => setModalOpen(!modalOpen)}>
|
<CustomerServiceOutlined></CustomerServiceOutlined>
|
||||||
<CustomerServiceOutlined></CustomerServiceOutlined>
|
</Button>
|
||||||
</Button>
|
</div>
|
||||||
</div>
|
|
||||||
</Draggable>
|
|
||||||
{render}
|
{render}
|
||||||
{children}
|
{children}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user