From 5df578ff69f6b02e821d59a8883bc75d78695a62 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 10 十一月 2020 11:07:31 +0800
Subject: [PATCH] 2020-11-10

---
 src/menu/menushell/index.jsx |   47 ++++++++++++++++++++++++++---------------------
 1 files changed, 26 insertions(+), 21 deletions(-)

diff --git a/src/menu/menushell/index.jsx b/src/menu/menushell/index.jsx
index 4e4541d..382b732 100644
--- a/src/menu/menushell/index.jsx
+++ b/src/menu/menushell/index.jsx
@@ -10,9 +10,7 @@
 
 const { confirm } = Modal
 
-const Container = ({menu, handleList, doubleClickCard }) => {
-  let target = null
-
+const Container = ({menu, handleList }) => {
   const [cards, setCards] = useState(menu.components)
   const moveCard = (id, atIndex) => {
     const { card, index } = findCard(id)
@@ -32,10 +30,6 @@
     }
   }
 
-  const hasDrop = (item) => {
-    target = item
-  }
-
   const updateConfig = (element) => {
     handleList({...menu, components: cards.map(item => item.uuid === element.uuid ? element : item)})
   }
@@ -53,7 +47,7 @@
     }
 
     confirm({
-      title: `纭畾鍒犻櫎銆�${card.setting.name}銆嬪悧锛焋,
+      title: `纭畾鍒犻櫎銆�${card.name}銆嬪悧锛焋,
       content: hasComponent ? '褰撳墠缁勪欢涓惈鏈夊瓙缁勪欢锛�' : '',
       onOk() {
         handleList({...menu, components: cards.filter(item => item.uuid !== card.uuid)})
@@ -85,46 +79,59 @@
         bar: '鏌辩姸鍥�',
         line: '鎶樼嚎鍥�',
         tabs: '鏍囩缁�',
+        pie: '楗煎浘',
+        search: '鎼滅储',
+        table: '琛ㄦ牸',
         card: '鍗$墖'
       }
       let i = 1
       
       while (!name && names[item.component]) {
         let _name = names[item.component] + i
-        if (menu.components.filter(com => com.setting && com.setting.name === _name).length === 0) {
+        if (menu.components.filter(com => com.name === _name).length === 0) {
           name = _name
         }
         i++
+      }
+
+      let dataName = ''
+      while (!dataName) {
+        let _dataName = Utils.getdataName()
+        if (menu.components.filter(com => com.dataName === _dataName).length === 0) {
+          dataName = _dataName
+        }
       }
 
       let newcard = {
         uuid: Utils.getuuid(),
         type: item.component,
         subtype: item.subtype,
+        config: item.config,
+        width: item.width || 24,
+        dataName: dataName,
         name: name,
         floor: 1,   // 缁勪欢鐨勫眰绾�
         isNew: true // 鏂版坊鍔犳爣蹇楋紝鐢ㄤ簬鍒濆鍖�
       }
       
-      let targetId = cards.length > 0 ? cards[cards.length - 1].uuid : 0
-      if (target) {
-        targetId = target.uuid
+      let targetId = ''
+
+      if (item.dropTargetId) {
+        targetId = item.dropTargetId
+        delete item.dropTargetId
+      } else if (cards.length > 0) {
+        targetId = cards[cards.length - 1].uuid
       }
 
       const { index: overIndex } = findCard(`${targetId}`)
-      let targetIndex = overIndex
-
-      targetIndex++
-
-      const _cards = update(cards, { $splice: [[targetIndex, 0, newcard]] })
+      const _cards = update(cards, { $splice: [[overIndex + 1, 0, newcard]] })
 
       handleList({...menu, components: _cards})
-      target = null
     }
   })
 
   return (
-    <div ref={drop} className="menu-shell-inner" style={menu.style}>
+    <div ref={drop} className="menu-shell-inner" id="menu-shell-inner" style={menu.style}>
       <div className="ant-row">
         {cards.map(card => (
           <Card
@@ -134,9 +141,7 @@
             moveCard={moveCard}
             delCard={deleteCard}
             findCard={findCard}
-            hasDrop={hasDrop}
             updateConfig={updateConfig}
-            doubleClickCard={doubleClickCard}
           />
         ))}
       </div>

--
Gitblit v1.8.0