From 71a0e75ecb56ae643fe1e86188d45f93f48388c9 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 28 八月 2020 14:07:41 +0800
Subject: [PATCH] 2020-08-28

---
 src/menu/searchcomponent/dragsearch/index.jsx |   46 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 41 insertions(+), 5 deletions(-)

diff --git a/src/menu/searchcomponent/dragsearch/index.jsx b/src/menu/searchcomponent/dragsearch/index.jsx
index c7f08e5..2f7a0ed 100644
--- a/src/menu/searchcomponent/dragsearch/index.jsx
+++ b/src/menu/searchcomponent/dragsearch/index.jsx
@@ -32,18 +32,52 @@
     handleMenu(card)
   }
 
+  const copyCard = id => {
+    const { card } = findCard(id)
+    let copycard = fromJS(card).toJS()
+
+    copycard.uuid = Utils.getuuid()
+    copycard.origin = false
+    copycard.copyType = 'search'
+    copycard.label = copycard.label + '(copy)'
+    copycard.focus = true
+
+    let _val = fromJS(copycard).toJS()
+
+    try {
+      _val.uuid = Utils.getuuid()
+      _val = window.btoa(window.encodeURIComponent(JSON.stringify(_val)))
+    } catch {
+      console.warn('Stringify Failure')
+      _val = ''
+    }
+
+    if (_val) {
+      let oInput = document.createElement('input')
+      oInput.value = _val
+      document.body.appendChild(oInput)
+      oInput.select()
+      document.execCommand('Copy')
+      document.body.removeChild(oInput)
+    }
+
+    const { index: overIndex } = findCard(id)
+
+    const _cards = update(cards, { $splice: [[overIndex + 1, 0, copycard]] })
+
+    handleList(_cards, copycard)
+  }
+
   const delCard = id => {
     const { card } = findCard(id)
     deleteMenu(card)
   }
 
+  let cardIds = cards.map(card => card.uuid)
+
   const [, drop] = useDrop({
     accept: 'search',
-    drop(item) {
-      if (item.hasOwnProperty('originalIndex')) {
-        return
-      }
-    }
+    drop() {}
   })
 
   const addsearch = (e) => {
@@ -81,9 +115,11 @@
         <Col key={card.uuid} span={card.ratio || 6}>
           <Card
             id={`${card.uuid}`}
+            cardIds={cardIds}
             card={card}
             moveCard={moveCard}
             editCard={editCard}
+            copyCard={copyCard}
             delCard={delCard}
             findCard={findCard}
           />

--
Gitblit v1.8.0