From b8e1395f02c929eaa96b949cf6027ee2a43856a6 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 06 九月 2022 19:03:37 +0800 Subject: [PATCH] 2022-09-06 --- src/menu/components/card/cardcellcomponent/dragaction/index.jsx | 51 +++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 37 insertions(+), 14 deletions(-) diff --git a/src/menu/components/card/cardcellcomponent/dragaction/index.jsx b/src/menu/components/card/cardcellcomponent/dragaction/index.jsx index 119bcd2..f6cdeac 100644 --- a/src/menu/components/card/cardcellcomponent/dragaction/index.jsx +++ b/src/menu/components/card/cardcellcomponent/dragaction/index.jsx @@ -8,7 +8,7 @@ import Action from './action' import './index.scss' -const Container = ({list, handleList, handleMenu, deleteMenu, profileAction, handleStyle, dropButton, handleSubConfig }) => { +const Container = ({list, parent, fields, handleList, handleMenu, deleteMenu, profileAction, handleStyle, updateMarks, dropButton, handleSubConfig }) => { const [cards, setCards] = useState(list) const moveCard = (id, atIndex) => { const { card, index } = findCard(id) @@ -34,18 +34,37 @@ } const copyCard = id => { - const { card, index: overIndex } = findCard(id) + const { card } = findCard(id) let copycard = fromJS(card).toJS() + let _cards = fromJS(cards).toJS() - copycard.uuid = Utils.getuuid() - copycard.copyType = 'customCardElement' + if (card.eleType === 'button') { + copycard.copyType = 'action' + } else { + copycard.copyType = 'customCardElement' + } copycard.focus = true - let _val = '' + let _val = fromJS(copycard).toJS() + + if (_val.control) { + delete _val.controlField + delete _val.controlVal + } + + copycard.uuid = Utils.getuuid() + copycard.originCard = card try { - _val = window.btoa(window.encodeURIComponent(JSON.stringify(copycard))) - } catch { + delete _val.$srcId + + let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId') + if (srcid) { + _val.$srcId = srcid + } + + _val = window.btoa(window.encodeURIComponent(JSON.stringify(_val))) + } catch (e) { console.warn('Stringify Failure') _val = '' } @@ -59,7 +78,7 @@ document.body.removeChild(oInput) } - const _cards = update(cards, { $splice: [[overIndex + 1, 0, copycard]] }) + _cards.push(copycard) handleList(_cards) handleMenu(copycard) @@ -77,17 +96,18 @@ const doubleClickCard = id => { const { card } = findCard(id) - if (card.OpenType === 'pop') { - handleSubConfig(card) + + if (card.eleType !== 'button') { + return } + + handleSubConfig(card) } const delCard = id => { const { card } = findCard(id) deleteMenu(card) } - - let cardIds = cards.map(card => card.uuid) const [, drop] = useDrop({ accept: 'action', @@ -106,8 +126,9 @@ <Action id={card.uuid} key={card.uuid} - cardIds={cardIds} card={card} + parent={parent} + copyCard={copyCard} moveCard={moveCard} editCard={editCard} changeStyle={changeStyle} @@ -122,11 +143,13 @@ <Card id={card.uuid} key={card.uuid} - cardIds={cardIds} card={card} + parent={parent} + fields={fields} moveCard={moveCard} copyCard={copyCard} editCard={editCard} + updateMarks={updateMarks} changeStyle={changeStyle} delCard={delCard} findCard={findCard} -- Gitblit v1.8.0