From 2e3d8e7d5715862733e43070e7df73b48a81948f Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 28 七月 2021 23:49:55 +0800 Subject: [PATCH] 2021-07-28 --- src/menu/components/card/cardcellcomponent/dragaction/action.jsx | 34 ++++++++++++++++------------------ 1 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/menu/components/card/cardcellcomponent/dragaction/action.jsx b/src/menu/components/card/cardcellcomponent/dragaction/action.jsx index a4bed7a..2eb2c8e 100644 --- a/src/menu/components/card/cardcellcomponent/dragaction/action.jsx +++ b/src/menu/components/card/cardcellcomponent/dragaction/action.jsx @@ -1,9 +1,11 @@ import React from 'react' import { useDrag, useDrop } from 'react-dnd' import { Icon, Popover, Button } from 'antd' + +import { resetStyle } from '@/utils/utils-custom.js' import './index.scss' -const Card = ({ id, cardIds, card, moveCard, findCard, editCard, delCard, profileCard, changeStyle, doubleClickCard }) => { +const Card = ({ id, card, moveCard, findCard, editCard, copyCard, delCard, profileCard, changeStyle, doubleClickCard }) => { const originalIndex = findCard(id).index const [{ isDragging }, drag] = useDrag({ item: { type: 'action', id, originalIndex }, @@ -15,21 +17,15 @@ accept: 'action', canDrop: () => true, drop({ id: draggedId }) { - if (!draggedId) return - if (!cardIds.includes(draggedId)) return + if (!draggedId || draggedId === id) return - if (draggedId !== id) { - const { index: overIndex } = findCard(id) - moveCard(draggedId, overIndex) - } + const { index: originIndex } = findCard(draggedId) + if (originIndex === -1) return + + const { index: overIndex } = findCard(id) + moveCard(draggedId, overIndex) }, }) - - let _style = {opacity: isDragging ? 0 : 1} - - if (card.style) { - _style = {...card.style, opacity: isDragging ? 0 : 1} - } let hasProfile = false if (['pop', 'prompt', 'exec'].includes(card.OpenType)) { @@ -41,25 +37,27 @@ } let btnElement = null + let _style = resetStyle(card.style) if (card.show === 'icon') { - btnElement = (<Button style={card.btnstyle} type="link"><Icon type={card.icon}/></Button>) + btnElement = (<Button style={_style} type="link"><Icon type={card.icon}/></Button>) } else if (card.show === 'link') { - btnElement = (<Button style={card.btnstyle} type="link">{card.label}{card.icon ? <Icon type={card.icon}/> : null}</Button>) + btnElement = (<Button style={_style} type="link">{card.label}{card.icon ? <Icon type={card.icon}/> : null}</Button>) } else { - btnElement = (<Button icon={card.icon} style={card.btnstyle}> {card.label} </Button>) + btnElement = (<Button style={_style}> {card.icon ? <Icon type={card.icon}/> : null}{card.label} </Button>) } return ( <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control"> <Icon className="edit" title="缂栬緫" type="edit" onClick={() => editCard(id)} /> + <Icon className="copy" title="澶嶅埗" type="copy" onClick={() => copyCard(id)} /> <Icon className="close" title="鍒犻櫎" type="close" onClick={() => delCard(id)} /> <Icon className="style" title="璋冩暣鏍峰紡" onClick={() => changeStyle(id)} type="font-colors" /> {hasProfile ? <Icon className="profile" title="setting" type="profile" onClick={() => profileCard(id)} /> : null} </div> } trigger="hover"> - <div ref={node => drag(drop(node))} className={'ant-col card-button-cell ant-col-' + card.width} onDoubleClick={() => doubleClickCard(id)}> - <div style={_style}> + <div ref={node => drag(drop(node))} className={'ant-col card-button-cell ant-col-' + card.width} onDoubleClick={(e) => {e.stopPropagation(); doubleClickCard(id)}}> + <div style={{opacity: isDragging ? 0 : 1}}> {btnElement} </div> </div> -- Gitblit v1.8.0