From 07c005cf28acf74e3afde82122e4c53e1000d70c Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 12 六月 2023 12:06:18 +0800
Subject: [PATCH] Merge branch 'master' into positec

---
 src/menu/components/share/actioncomponent/index.jsx |   72 +++++++++++++++++++++++------------
 1 files changed, 47 insertions(+), 25 deletions(-)

diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx
index 1d43e47..71fd65a 100644
--- a/src/menu/components/share/actioncomponent/index.jsx
+++ b/src/menu/components/share/actioncomponent/index.jsx
@@ -60,7 +60,7 @@
   }
 
   componentDidMount () {
-    MKEmitter.addListener('revert', this.revert)
+    MKEmitter.addListener('revertBtn', this.revertBtn)
     MKEmitter.addListener('addButton', this.addButton)
     MKEmitter.addListener('submitModal', this.handleSave)
   }
@@ -76,12 +76,12 @@
     this.setState = () => {
       return
     }
-    MKEmitter.removeListener('revert', this.revert)
+    MKEmitter.removeListener('revertBtn', this.revertBtn)
     MKEmitter.removeListener('addButton', this.addButton)
     MKEmitter.removeListener('submitModal', this.handleSave)
   }
 
-  revert = (id) => {
+  revertBtn = (id) => {
     if (id && id !== this.props.config.uuid) return
 
     this.setState({
@@ -405,28 +405,32 @@
             }
           } else {
             btn.style = item.style || {}
-            if (btn.class !== item.class || btn.show !== item.show || !btn.style.color || item.focus) {
-              if (btn.show === 'icon') {
-                btn.style.color = color[btn.class]
-                btn.style.backgroundColor = 'transparent'
-              } else if (btn.class === 'default') {
-                btn.style.color = 'rgba(0, 0, 0, 0.65)'
-                btn.style.backgroundColor = '#fff'
-                btn.style.borderColor = '#d9d9d9'
-              } else if (btn.class.indexOf('border') > -1) {
-                let _c = btn.class.replace('border-', '')
-                btn.style.color = color[_c]
-                btn.style.backgroundColor = '#fff'
-                btn.style.borderColor = color[_c]
-              } else if (btn.class === 'gray') {
-                btn.style.color = 'rgba(0, 0, 0, 0.65)'
-                btn.style.backgroundColor = color[btn.class]
-                btn.style.borderColor = color[btn.class]
-              } else {
-                btn.style.color = '#ffffff'
-                btn.style.backgroundColor = color[btn.class]
-                btn.style.borderColor = color[btn.class]
+            if (btn.class) {
+              if (btn.class !== item.class || btn.show !== item.show || !btn.style.color || (item.focus && !btn.style.color)) {
+                if (btn.show === 'icon') {
+                  btn.style.color = color[btn.class]
+                  btn.style.backgroundColor = 'transparent'
+                } else if (btn.class === 'default') {
+                  btn.style.color = 'rgba(0, 0, 0, 0.65)'
+                  btn.style.backgroundColor = '#fff'
+                  btn.style.borderColor = '#d9d9d9'
+                } else if (btn.class.indexOf('border') > -1) {
+                  let _c = btn.class.replace('border-', '')
+                  btn.style.color = color[_c]
+                  btn.style.backgroundColor = '#fff'
+                  btn.style.borderColor = color[_c]
+                } else if (btn.class === 'gray') {
+                  btn.style.color = 'rgba(0, 0, 0, 0.65)'
+                  btn.style.backgroundColor = color[btn.class]
+                  btn.style.borderColor = color[btn.class]
+                } else {
+                  btn.style.color = '#ffffff'
+                  btn.style.backgroundColor = color[btn.class]
+                  btn.style.borderColor = color[btn.class]
+                }
               }
+            } else if (btn.color) {
+              btn.style = {}
             }
           }
           return btn
@@ -595,7 +599,7 @@
     let _col = null
     if (config.type === 'table') {
       config.cols.forEach(col => {
-        if (col.type !== 'action') return
+        if (col.type !== 'custom') return
 
         col.elements = col.elements.filter(item => {
           if (item.uuid === id) {
@@ -605,6 +609,24 @@
           return item.uuid !== id
         })
       })
+    } else if (config.type === 'card' && config.subcards) {
+      config.subcards.forEach(scard => {
+        scard.elements = scard.elements.filter(item => {
+          if (item.uuid === id) {
+            btn = item
+            _col = scard
+          }
+          return item.uuid !== id
+        })
+        scard.backElements = scard.backElements.filter(item => {
+          if (item.uuid === id) {
+            btn = item
+            _col = scard
+          }
+          return item.uuid !== id
+        })
+        return scard
+      })
     }
 
     if (!btn) return

--
Gitblit v1.8.0